Condividi tramite


PRJ_GET_FILE_DATA_CB funzione di callback (projectedfslib.h)

Richiede il contenuto del flusso di dati primario di un file.

Sintassi

PRJ_GET_FILE_DATA_CB PrjGetFileDataCb;

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

Parametri

[in] callbackData

Informazioni sull'operazione. Per implementare questo callback sono necessari i membri callback seguenti:

FilePathName Identifica il percorso del file nell'archivio di backup del provider per cui devono essere restituiti i dati. Si noti che questo riflette il nome del file in cui è stato creato per la prima volta il segnaposto. Se è stato rinominato da allora, FilePathName identifica il nome originale (pre-ridenominazione), non il nome corrente (dopo la ridenominazione).
DataStreamIdValore univoco da associare a questo flusso di file. Il provider deve passare questo valore nel parametro dataStreamId di PrjWriteFileData quando si specificano i dati del file come parte della gestione di questo callback.
VersionInfo Fornisce le informazioni PRJ_PLACEHOLDER_VERSION_INFO fornite dal provider al momento della creazione del segnaposto per questo file. Ciò può aiutare il provider a determinare quale versione del contenuto del file restituire. Se il file è stato rinominato e il provider tiene traccia delle ridenominazione, può anche aiutare il provider a determinare il contenuto del file richiesto.

Il provider può accedere a questo buffer solo durante l'esecuzione del callback. Se desidera eseguire la penna dell'operazione e richiede dati da questo buffer, deve crearne una copia.

[in] byteOffset

Offset dei dati richiesti, in byte, dall'inizio del file. Il provider deve restituire i dati del file a partire da o prima di questo offset

[in] length

Numero di byte di dati del file richiesti. Il provider deve restituire almeno questo numero di byte di dati del file a partire da byteOffset.

Valore restituito

Codice restituito Descrizione
S_OK
Il provider ha restituito tutti i dati richiesti.
HRESULT_FROM_WIN32(ERROR_IO_PENDING)
Il provider desidera completare l'operazione in un secondo momento.
 

Codice di errore HRESULT appropriato se il provider non riesce l'operazione.

Commenti

Quando ProjFS riceve i dati, lo scriverà nel file per convertirlo in un segnaposto idratato.

Per gestire questo callback, il provider invia una o più chiamate a PrjWriteFileData per assegnare a ProjFS il contenuto richiesto del flusso di dati primario del file. Il provider completa quindi il callback.

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 1809 [solo app desktop]
Server minimo supportato Windows Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione projectedfslib.h