CF_HYDRATION_POLICY_MODIFIER enumeración (cfapi.h)

Permite a un proveedor de sincronización controlar cómo la plataforma debe hidratar los archivos de marcador de posición. Se trata de un modificador que se puede usar con la directiva principal: CF_HYDRATION_POLICY_PRIMARY.

Syntax

typedef enum CF_HYDRATION_POLICY_MODIFIER {
  CF_HYDRATION_POLICY_MODIFIER_NONE,
  CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED,
  CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED,
  CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED,
  CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION
} ;

Constantes

 
CF_HYDRATION_POLICY_MODIFIER_NONE
0x0000

Sin modificador de directiva.
CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED
0x0001

Este modificador de directiva ofrece dos garantías para un proveedor de sincronización. En primer lugar, garantiza que los datos devueltos por el proveedor de sincronización siempre se conservan en el disco antes de que se devuelvan a la aplicación de usuario. En segundo lugar, permite al proveedor de sincronización recuperar los mismos datos que ha devuelto anteriormente a la plataforma y validar su integridad. Solo tras una confirmación correcta de la integridad por parte del proveedor de sincronización, la plataforma completará la solicitud de E/S del usuario. Este modificador ayuda a admitir la integridad de los datos de un extremo a otro a costa de E/S de disco adicionales.
CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED
0x0002

Este modificador de directiva concede a la plataforma el permiso para no almacenar ningún dato devuelto por un proveedor de sincronización en discos locales. Este modificador de directiva no es eficaz cuando se combina con CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED.
CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED
0x0004

Este modificador de directiva concede a la plataforma el permiso para deshidratar los marcadores de posición de archivos en la nube sincronizados sin la ayuda de los proveedores de sincronización. Sin esta marca, la plataforma no puede llamar directamente a CfDehydratePlaceholder . En su lugar, la única manera admitida de deshidratar un marcador de posición de archivo en la nube es borrar el atributo anclado del archivo y establecer el atributo desanclado del archivo. En ese momento, el motor de sincronización realizará la deshidratación real de forma asincrónica después de recibir la notificación de cambio de directorio en los dos atributos. Cuando se especifica esta marca, se permitirá que la plataforma invoque CfDehydratePlaceholder directamente en cualquier marcador de posición de archivo en la nube sincronizado. Se recomienda que los proveedores de sincronización admitan la deshidratación automática.

NOTA

Este valor está disponible en Windows 10, versión 1803 y posteriores.

CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION
0x0008

Este modificador de directiva concede el permiso de plataforma para hidratar completamente un archivo de forma sincrónica cuando intercepta un intento por un filtro av para examinar el archivo. Los proveedores de sincronización que quieran usar RestartHidrata para cambiar de fileSize una devolución de llamada FetchData deben optar por la ALLOW_FULL_RESTART_HYDRATION directiva para evitar posibles interbloqueos con software antivirus y antimalware que intentan examinar el archivo y el proveedor que intenta cambiar fileSize con RestartHidrata.

NOTA

Esta actualización de enumeración solo se admite si el PlatformVersion.IntegrationNumber obtenido de CfGetPlatformInfo es 0x500 o superior.

Comentarios

En general, los modificadores se pueden mezclar y coincidir con cualquier directiva principal (CF_HYDRATION_POLICY_PRIMARY) y otros modificadores de directiva siempre que la combinación no esté en conflicto.

La CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION marca se agrega para evitar que la característica Reiniciar hidratación encuentre interbloqueos causados por detectores de antivirus y malware (AV). Todos los proveedores de sincronización que piensan actualizar el tamaño de archivo de un archivo deshidratado durante el transcurso de una solicitud de hidratación deben optar por esta característica o reiniciar la hidratación puede encontrarse en interbloqueo cuando un AV intenta examinar un archivo que se abre mediante la creación de una sección asignada de memoria del archivo y que conduce a la hidratación. Tenga en cuenta que los proveedores que mantienen instantáneas o versiones de un archivo y satisfacen la solicitud de un usuario proporcionando la versión solicitada del archivo aunque el archivo se haya actualizado en el back-end o el servidor no deben participar en esta directiva. Del mismo modo, es posible que los proveedores que no realicen la solicitud de hidratación en caso de que el archivo haya cambiado en el back-end no participen en esta directiva.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 1709 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2016 [solo aplicaciones de escritorio]
Encabezado cfapi.h

Consulte también

CF_HYDRATION_POLICY_PRIMARY

CfDehydratePlaceholder

CfGetPlatformInfo