取得佔位元檔案或資料夾的各種特性。 如果檔案不是雲端檔案佔位符,API 將會失敗。 成功時,會根據所要求的特定 InfoClass 傳回資訊。
語法
HRESULT CfGetPlaceholderInfo(
[in] HANDLE FileHandle,
[in] CF_PLACEHOLDER_INFO_CLASS InfoClass,
[out] PVOID InfoBuffer,
[in] DWORD InfoBufferLength,
[out, optional] PDWORD ReturnedLength
);
參數
[in] FileHandle
要查詢其資訊的佔位元句柄。 不同於採用檔句柄的大部分雲端檔案 API,此 API 不會以任何方式修改檔案。 因此,檔句柄只需要 READ_ATTRIBUTES 存取。
[in] InfoClass
佔位元資訊。 這可以設定為 CF_PLACEHOLDER_STANDARD_INFO 或 CF_PLACEHOLDER_BASIC_INFO。
[out] InfoBuffer
緩衝區的指標,將接收佔位符的相關信息。
[in] InfoBufferLength
InfoBuffer 的長度,以位元組為單位。 如果緩衝區不夠大,無法儲存所要求的所有資訊,API 會傳回符合緩衝區的數據量,而呼叫將會失敗, 並HRESULT_FROM_WIN32 (ERROR_MORE_DATA) 。
[out, optional] ReturnedLength
InfoBuffer 中傳回的位元組數目。
傳回值
如果函式成功,則會傳 S_OK回 。 否則,它會傳回 HRESULT 錯誤碼。
備註
佔位元資訊包含下列屬性:
| 屬性 | Description |
|---|---|
| OnDiskDataSize | 磁碟上的位元組總數。 |
| ValidatedDataSize | 與雲端同步的位元組總數。 |
| ModifiedDataSize | 已在本機覆寫/附加的位元組總數,亦即不會與雲端同步。 |
| PropertiesSize | 所有屬性 Blob 所使用的磁碟上位元組總數。 |
| PinState | 如需詳細資訊,請參閱 CfSetPinState 。 |
| InSyncState | 如需詳細資訊,請參閱 CfSetInSyncState 。 |
| FileId | 可唯一識別檔案或目錄的64位磁碟區寬非變動性數位。 |
| SyncRootFileId | 要查詢佔位元元資訊的檔案所在的同步根目錄檔案識別碼。 |
| FileIdentity | 建立佔位元元時,同步提供者提供給平臺的不透明 Blob。 所有同步提供者回呼都會提供檔案身分識別。 |
| FileIdentityLength | 檔案識別的長度,以位元組為單位。 |
規格需求
| 需求 | 值 |
|---|---|
| 最低支援的用戶端 | Windows 10 1709 版 [僅限傳統型應用程式] |
| 最低支援的伺服器 | Windows Server 2016 [僅限傳統型應用程式] |
| 目標平台 | Windows |
| 標頭 | cfapi.h |
| 程式庫 | CldApi.lib |
| Dll | CldApi.dll |