PRJ_GET_FILE_DATA_CB回呼函式 (projectedfslib.h)
要求檔案主要數據流的內容。
語法
PRJ_GET_FILE_DATA_CB PrjGetFileDataCb;
HRESULT PrjGetFileDataCb(
[in] const PRJ_CALLBACK_DATA *callbackData,
[in] UINT64 byteOffset,
[in] UINT32 length
)
{...}
參數
[in] callbackData
作業的相關信息。 實作此回呼需要下列 callbackData 成員:
- FilePathName 識別提供者備份存放區中應傳回數據之檔案的路徑。 請注意,這會反映檔案第一次建立佔位元元時所擁有的名稱。 如果自之後重新命名, FilePathName 會識別原始 (預先重新命名) 名稱,而不是目前 (重新命名后) 名稱。
- DataStreamId要與此檔案數據流建立關聯的唯一值。 提供者必須在 PrjWriteFileData 的 dataStreamId 參數中傳遞此值,才能在處理此回呼時提供檔案數據。
- VersionInfo 提供提供者為此檔案建立佔位元元時所提供的 PRJ_PLACEHOLDER_VERSION_INFO 資訊。 這可協助提供者判斷要傳回的檔案內容版本。 如果檔案已重新命名,且提供者會追蹤重新命名,這也有助於提供者判斷要求哪些檔案的內容。
提供者只能在回呼執行時存取此緩衝區。 如果它想要寫入作業,而且需要來自這個緩衝區的數據,它就必須製作自己的複本。
[in] byteOffset
要求數據的位移,以位元組為單位,從檔案的開頭。 提供者必須從這個位移開始或之前傳回檔案數據
[in] length
要求的檔案數據位元組數目。 提供者必須至少傳回這個以 byteOffset 開頭的檔案數據位元組。
傳回值
傳回碼 | 描述 |
---|---|
|
提供者已成功傳回所有要求的數據。 |
|
提供者希望稍後完成作業。 |
如果提供者失敗,則為適當的 HRESULT 錯誤碼。
備註
當 ProjFS 收到數據時,它會將其寫入檔案,以將它轉換成凍結的佔位符。
為了處理此回呼,提供者會發出對 PrjWriteFileData 的一或多個呼叫,為 ProjFS 提供檔案主要數據流的要求內容。 然後提供者會完成回呼。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 版本 1809 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | projectedfslib.h |