Compartir a través de


PRJ_GET_FILE_DATA_CB función de devolución de llamada (projectedfslib.h)

Solicita el contenido del flujo de datos principal de un archivo.

Sintaxis

PRJ_GET_FILE_DATA_CB PrjGetFileDataCb;

HRESULT PrjGetFileDataCb(
  [in] const PRJ_CALLBACK_DATA *callbackData,
  [in] UINT64 byteOffset,
  [in] UINT32 length
)
{...}

Parámetros

[in] callbackData

Información sobre la operación. Los siguientes miembros callbackData son necesarios para implementar esta devolución de llamada:

FilePathName Identifica la ruta de acceso al archivo en el almacén de respaldo del proveedor para el que se deben devolver los datos. Tenga en cuenta que esto refleja el nombre que tenía el archivo cuando se creó por primera vez su marcador de posición. Si se ha cambiado el nombre desde entonces, FilePathName identifica el nombre original (anterior al cambio de nombre), no el nombre actual (posterior al cambio de nombre).
DataStreamIdValor único que se va a asociar a esta secuencia de archivos. El proveedor debe pasar este valor en el parámetro dataStreamId de PrjWriteFileData al proporcionar datos de archivo como parte del control de esta devolución de llamada.
VersionInfo Proporciona la información PRJ_PLACEHOLDER_VERSION_INFO que el proveedor proporcionó al crear el marcador de posición para este archivo. Esto puede ayudar al proveedor a determinar qué versión del contenido del archivo se va a devolver. Si se ha cambiado el nombre del archivo y el proveedor realiza un seguimiento de los nombres, esto también puede ayudar al proveedor a determinar qué contenido del archivo se solicita.

El proveedor solo puede acceder a este búfer mientras se ejecuta la devolución de llamada. Si desea escribir la operación y requiere datos de este búfer, debe realizar su propia copia.

[in] byteOffset

Desplazamiento de los datos solicitados, en bytes, desde el principio del archivo. El proveedor debe devolver datos de archivo a partir de o antes de este desplazamiento.

[in] length

Número de bytes de datos de archivo solicitados. El proveedor debe devolver al menos estos muchos bytes de datos de archivo a partir de byteOffset.

Valor devuelto

Código devuelto Descripción
S_OK
El proveedor devolvió correctamente todos los datos solicitados.
HRESULT_FROM_WIN32(ERROR_IO_PENDING)
El proveedor desea completar la operación más adelante.
 

Código de error HRESULT adecuado si el proveedor produce un error en la operación.

Comentarios

Cuando ProjFS recibe los datos que escribirá en el archivo para convertirlo en un marcador de posición hidratado.

Para controlar esta devolución de llamada, el proveedor emite una o varias llamadas a PrjWriteFileData para proporcionar a ProjFS el contenido solicitado del flujo de datos principal del archivo. A continuación, el proveedor completa la devolución de llamada.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 1809 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado projectedfslib.h