PRJ_GET_FILE_DATA_CB função de retorno de chamada (projectedfslib.h)

Solicita o conteúdo do fluxo de dados primário de um arquivo.

Sintaxe

PRJ_GET_FILE_DATA_CB PrjGetFileDataCb;

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

Parâmetros

[in] callbackData

Informações sobre a operação. Os seguintes membros callbackData são necessários para implementar esse retorno de chamada:

FilePathName Identifica o caminho para o arquivo no repositório de backup do provedor para o qual os dados devem ser retornados. Observe que isso reflete o nome que o arquivo tinha quando seu espaço reservado foi criado pela primeira vez. Se ele tiver sido renomeado desde então, FilePathName identificará o nome original (pré-renomear), não o nome atual (pós-renomeação).
DataStreamIdO valor exclusivo a ser associado a esse fluxo de arquivos. O provedor deve passar esse valor no parâmetro dataStreamId de PrjWriteFileData ao fornecer dados de arquivo como parte do tratamento desse retorno de chamada.
Versioninfo Fornece as informações PRJ_PLACEHOLDER_VERSION_INFO que o provedor forneceu quando criou o espaço reservado para esse arquivo. Isso pode ajudar o provedor a determinar qual versão do conteúdo do arquivo retornar. Se o arquivo tiver sido renomeado e o provedor rastrear renomeações, isso também poderá ajudar o provedor a determinar qual conteúdo do arquivo está sendo solicitado.

O provedor só pode acessar esse buffer enquanto o retorno de chamada estiver em execução. Se quiser aguardar a operação e exigir dados desse buffer, ele deverá fazer sua própria cópia dele.

[in] byteOffset

Deslocamento dos dados solicitados, em bytes, desde o início do arquivo. O provedor deve retornar dados de arquivo começando em ou antes desse deslocamento

[in] length

Número de bytes de dados de arquivo solicitados. O provedor deve retornar pelo menos muitos bytes de dados de arquivo começando com byteOffset.

Retornar valor

Código de retorno Descrição
S_OK
O provedor retornou com êxito todos os dados solicitados.
HRESULT_FROM_WIN32(ERROR_IO_PENDING)
O provedor deseja concluir a operação posteriormente.
 

Um código de erro HRESULT apropriado se o provedor falhar na operação.

Comentários

Quando o ProjFS receber os dados, ele os gravará no arquivo para convertê-los em um espaço reservado hidratado.

Para lidar com esse retorno de chamada, o provedor emite uma ou mais chamadas para PrjWriteFileData para dar ao ProjFS o conteúdo solicitado do fluxo de dados primário do arquivo. Em seguida, o provedor conclui o retorno de chamada.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1809 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho projectedfslib.h