CF_CALLBACK_TYPE enumeración (cfapi.h)
Contiene los distintos tipos de devoluciones de llamada que se usan en archivos o carpetas de marcador de posición.
Syntax
typedef enum CF_CALLBACK_TYPE {
CF_CALLBACK_TYPE_FETCH_DATA,
CF_CALLBACK_TYPE_VALIDATE_DATA,
CF_CALLBACK_TYPE_CANCEL_FETCH_DATA,
CF_CALLBACK_TYPE_FETCH_PLACEHOLDERS,
CF_CALLBACK_TYPE_CANCEL_FETCH_PLACEHOLDERS,
CF_CALLBACK_TYPE_NOTIFY_FILE_OPEN_COMPLETION,
CF_CALLBACK_TYPE_NOTIFY_FILE_CLOSE_COMPLETION,
CF_CALLBACK_TYPE_NOTIFY_DEHYDRATE,
CF_CALLBACK_TYPE_NOTIFY_DEHYDRATE_COMPLETION,
CF_CALLBACK_TYPE_NOTIFY_DELETE,
CF_CALLBACK_TYPE_NOTIFY_DELETE_COMPLETION,
CF_CALLBACK_TYPE_NOTIFY_RENAME,
CF_CALLBACK_TYPE_NOTIFY_RENAME_COMPLETION,
CF_CALLBACK_TYPE_NONE = 0xffffffff
} ;
Constantes
CF_CALLBACK_TYPE_FETCH_DATA Esta devolución de llamada se usa para pedir al proveedor de sincronización un intervalo de datos de archivo necesarios para satisfacer una solicitud de E/S o una solicitud de hidratación explícita, en un marcador de posición. La implementación de esta devolución de llamada es necesaria si el proveedor de sincronización especifica una directiva de hidratación que no se ALWAYS_FULL en el momento del registro raíz de sincronización. |
CF_CALLBACK_TYPE_VALIDATE_DATA Esta devolución de llamada se usa para pedir al proveedor de sincronización confirmación de que un intervalo determinado de datos de archivo, que ya está presente en el disco de las operaciones anteriores de CF_OPERATION_TYPE_TRANSFER_DATA , es válido y, por tanto, puede ser utilizado por la plataforma para satisfacer las solicitudes de E/S del usuario. La implementación de esta devolución de llamada solo es necesaria si el proveedor de sincronización especifica el modificador de directiva de hidratación VALIDATION_REQUIRED en el momento del registro raíz de sincronización. |
CF_CALLBACK_TYPE_CANCEL_FETCH_DATA Esta devolución de llamada se usa para informar al proveedor de sincronización de que ya no se necesita un intervalo de datos de archivo, normalmente porque se ha cancelado la solicitud de origen. Esto permite al proveedor de sincronización detener el gasto de sus esfuerzos intentando obtener los datos (cancelar solicitudes de red pendientes, etc.). La implementación de esta devolución de llamada es opcional. |
CF_CALLBACK_TYPE_FETCH_PLACEHOLDERS Esta devolución de llamada se usa para pedir al proveedor de sincronización que proporcione información sobre el contenido de un directorio de marcador de posición para satisfacer una operación de consulta de directorio o un intento de abrir un archivo debajo del directorio. La implementación de esta devolución de llamada solo es necesaria si el proveedor de sincronización especifica una directiva distinta de CF_POPULATION_POLICY_ALWAYS_FULL en la hora de registro raíz de sincronización. |
CF_CALLBACK_TYPE_CANCEL_FETCH_PLACEHOLDERS Esta devolución de llamada se usa para informar al proveedor de sincronización de que el contenido de un directorio de marcador de posición ya no es necesario, normalmente porque se ha cancelado la solicitud de origen. Esto permite al proveedor de sincronización dejar de gastar sus esfuerzos intentando obtener el contenido (cancelar solicitudes de red pendientes, etc.). La implementación de esta devolución de llamada es opcional. |
CF_CALLBACK_TYPE_NOTIFY_FILE_OPEN_COMPLETION Esta devolución de llamada se usa para informar al proveedor de sincronización de que un marcador de posición de uno de sus raíces de sincronización se ha abierto correctamente para el acceso de lectura, escritura y eliminación. La aplicación de usuario que realiza la apertura no está bloqueada. No se espera ninguna respuesta del proveedor de sincronización. Esta notificación no se aplica a los directorios. La implementación de esta devolución de llamada es opcional. |
CF_CALLBACK_TYPE_NOTIFY_FILE_CLOSE_COMPLETION Esta devolución de llamada se usa para informar al proveedor de sincronización de que un marcador de posición en una de sus raíces de sincronización que se ha abierto previamente para el acceso de lectura, escritura y eliminación ahora está cerrado. La aplicación de usuario que realiza el cierre no está bloqueada. No se espera ninguna respuesta del proveedor de sincronización. Esta notificación no se aplica a los directorios. La implementación de esta devolución de llamada es opcional. |
CF_CALLBACK_TYPE_NOTIFY_DEHYDRATE Esta devolución de llamada se usa para informar al proveedor de sincronización de que un marcador de posición bajo una de su raíz de sincronización está a punto de deshidratarse. La aplicación de usuario que realiza la deshidratación está bloqueada. Se espera una respuesta del proveedor de sincronización. La implementación de esta devolución de llamada es opcional. |
CF_CALLBACK_TYPE_NOTIFY_DEHYDRATE_COMPLETION Esta devolución de llamada se usa para informar al proveedor de sincronización de que un marcador de posición bajo una de sus raíces de sincronización se ha deshidratado correctamente. La aplicación de usuario que realiza la deshidratación no está bloqueada. No se espera ninguna respuesta del proveedor de sincronización. La implementación de esta devolución de llamada es opcional. |
CF_CALLBACK_TYPE_NOTIFY_DELETE Esta devolución de llamada se usa para informar al proveedor de sincronización de que un marcador de posición en una de sus raíces de sincronización está a punto de eliminarse. La aplicación de usuario que realiza la eliminación está bloqueada. Se espera una respuesta del proveedor de sincronización. La implementación de esta devolución de llamada es opcional. |
CF_CALLBACK_TYPE_NOTIFY_DELETE_COMPLETION Esta devolución de llamada se usa para informar al proveedor de sincronización de que se ha eliminado correctamente un marcador de posición en una de sus raíces de sincronización. La aplicación de usuario que realiza la eliminación no está bloqueada. No se espera ninguna respuesta del proveedor de sincronización. La implementación de esta devolución de llamada es opcional. |
CF_CALLBACK_TYPE_NOTIFY_RENAME Esta devolución de llamada se usa para informar al proveedor de sincronización de que un marcador de posición en una de sus raíces de sincronización está a punto de cambiar el nombre o moverlo. La aplicación de usuario que realiza el cambio de nombre o movimiento está bloqueada. Se espera una respuesta del proveedor de sincronización. La implementación de esta devolución de llamada es opcional. |
CF_CALLBACK_TYPE_NOTIFY_RENAME_COMPLETION Esta devolución de llamada se usa para informar al proveedor de sincronización de que un marcador de posición en una de sus raíces de sincronización se ha cambiado o movido correctamente. La aplicación de usuario que realiza el cambio de nombre o movimiento no está bloqueada. No se espera ninguna respuesta del proveedor de sincronización. La implementación de esta devolución de llamada es opcional. |
CF_CALLBACK_TYPE_NONE Valor: 0xffffffff No hay ningún tipo de devolución de llamada. |
Comentarios
Estas no son API proporcionadas por la biblioteca, sino devoluciones de llamada que un proveedor de sincronización debe implementar para atender las solicitudes de la plataforma. Según sea necesario, la plataforma pedirá a la instancia de biblioteca que se ejecuta dentro del proceso del proveedor de sincronización que invoque la rutina de devolución de llamada adecuada.
Las rutinas de devolución de llamada se invocarán en un subproceso arbitrario (parte de un grupo de subprocesos). Varias devoluciones de llamada pueden producirse simultáneamente, en diferentes subprocesos, y es responsabilidad del código del proveedor de sincronización implementar cualquier sincronización necesaria para que este trabajo funcione de forma confiable. Todas las devoluciones de llamada son asincrónicas. Las solicitudes de usuario asincrónicas que desencadenan las devoluciones de llamada se escriben y el control se devuelve a la aplicación de usuario.
Cada solicitud de devolución de llamada tiene un tiempo de espera fijo de 60 segundos. Una operación válida en las solicitudes pendientes del proveedor de sincronización restablece los temporizadores de todas las solicitudes pendientes.
Todas las funciones de devolución de llamada tienen el mismo prototipo con dos argumentos: una estructura de CF_CALLBACK_INFO y una estructura de CF_CALLBACK_PARAMETERS .
Las rutinas de devolución de llamada no tienen ningún valor devuelto.
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 |