cfGetPlaceholderRangeInfo 函式 (cfapi.h)
取得預留位置檔案或資料夾的範圍資訊。
語法
HRESULT CfGetPlaceholderRangeInfo(
[in] HANDLE FileHandle,
[in] CF_PLACEHOLDER_RANGE_INFO_CLASS InfoClass,
[in] LARGE_INTEGER StartingOffset,
[in] LARGE_INTEGER Length,
[out] PVOID InfoBuffer,
[in] DWORD InfoBufferLength,
[out, optional] PDWORD ReturnedLength
);
參數
[in] FileHandle
要查詢之預留位置檔案的控制碼。
[in] InfoClass
預留位置資料範圍的類型。
[in] StartingOffset
資料範圍的起點位移。
[in] Length
資料範圍的長度。 提供者可以指定 CF_EOF
Length ,指出要求資訊的範圍是從 StartingOffset 到檔案的結尾。
[out] InfoBuffer
將接收資料的緩衝區指標。 緩衝區是 CF_FILE_RANGE 結構的陣列,這些結構是位移/長度組,描述要求的範圍。
[in] InfoBufferLength
InfoBuffer的長度,以位元組為單位。
[out, optional] ReturnedLength
InfoBuffer中傳回之預留位置資料的長度。
傳回值
如果此函式成功,則會傳 S_OK
回 。 否則,它會傳回 HRESULT 錯誤碼。 下表列出一些常見的錯誤碼:
錯誤碼 | 意義 |
---|---|
HRESULT_FROM_WIN32 ( ERROR_HANDLE_EOF ) | 這表示StartingOffset> = 檔案結尾的位置。 |
HRESULT_FROM_WIN32 ( ERROR_MORE_DATA ) | 這表示下一個 CF_FILE_RANGE 專案不適用於提供的緩衝區。 呼叫端應該確認是否收到任何專案,或未使用傳回 的 InfoBufferWritten 值。 |
備註
不同于採用檔案控制代碼的大部分預留位置 API,此 API 不會以任何方式修改檔案,因此檔案控制代碼只需要READ_ATTRIBUTES存取權。
規格需求
最低支援的用戶端 | Windows 10 1709 版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2016 [僅限傳統型應用程式] |
目標平臺 | Windows |
標頭 | cfapi.h |
程式庫 | CldApi.lib |
DLL | CldApi.dll |