FSCTL_GET_EXTERNAL_BACKING控件程式代碼
FSCTL_GET_EXTERNAL_BACKING控件程式代碼會從外部支援提供者取得檔案的備份資訊。 備份提供者包括 WINDOWS 映像格式 (WIM) 提供者或個別壓縮檔提供者。 外部支援的檔案內容可能位於包含查詢檔案之磁碟區以外的磁碟區上。
若要執行這項作業,請使用下列參數呼叫 FltFsControlFile 或 ZwFsControlFile 。
參數
實例 [in]: 僅 FltFsControlFile 。 呼叫端的不透明實例指標。 這個參數是必要的,而且不能是 NULL。
FileObject [in]: FltFsControlFile 僅限 。 查詢支持資訊之檔案的檔案指針對象。 這個參數是必要的,而且不能是 NULL。
FileHandle [in]:僅限 ZwFsControlFile 。 查詢支援信息的檔案句柄。 這個參數是必要的,而且不能是 NULL。
FsControlCode [in]:作業的控件程序代碼。 使用此作業 FSCTL_GET_EXTERNAL_BACKING 。
InputBuffer [in]:無。 設定為 NULL。
InputBufferLength [in]:設定為 0。
OutputBuffer [out]:輸出緩衝區的指標,其大小必須夠大,才能接收 WOF_EXTERNAL_INFO 結構,後面接著提供者數據。 對於 WIM 支援的檔案, WOF_EXTERNAL_INFO 後面接著 WIM_PROVIDER_EXTERNAL_INFO 結構。 針對個別壓縮檔案, WOF_EXTERNAL_INFO 後面接著 FILE_PROVIDER_EXTERNAL_INFO_V1 結構。
OutputBufferLength [out]: OutputBuffer 所指向緩衝區的大小,以位元組為單位。
LengthReturned [out]:指定成功完成時寫入 OutputBuffer 的位元組數目。
狀態區塊
FltFsControlFile 或 ZwFsControlFile 會在作業成功時傳回STATUS_SUCCESS。 否則,適當的函式可能會傳回下列其中一個NTSTATUS值。
程式碼 | 意義 |
---|---|
STATUS_OBJECT_NOT_EXTERNALLY_BACKED | 檔案不是外部支援。 |
STATUS_INVALID_DEVICE_REQUEST | 備份服務不存在或未啟動。 |
備註
當要更新的數據源支援提供者是WIM檔案時,輸出緩衝區會包含 WOF_EXTERNAL_INFO 結構,後面接著 WIM_PROVIDER_EXTERNAL_INFO 結構。 OutputBufferLength 至少必須是 sizeof (WOF_EXTERNAL_INFO) + sizeof (WIM_PROVIDER_EXTERNAL_INFO) 。 當備份提供者是個別壓縮的檔案時,輸出緩衝區會包含 WOF_EXTERNAL_INFO 結構,後面接著 FILE_PROVIDER_EXTERNAL_INFO_V1 結構。
規格需求
需求類型 | 需求 |
---|---|
最低支援的用戶端 | Windows 8.1 更新版 |
標頭 | Ntifs.h (包括 Ntifs.h 或 Fltkernel.h) |