FSCTL_QUERY_FILE_LAYOUT 控制程式代碼

FSCTL_QUERY_FILE_LAYOUT 控制程式代碼會抓取檔案系統磁片區的檔案配置資訊。 此要求的結果為檔案配置資訊專案的集合。 傳回的專案類型是藉由在 QUERY_FILE_LAYOUT_INPUT 結構中設定包含旗標來控制。 您可以選擇性地篩選結果,方法是提供一組檔案範圍來限制選取版面配置資訊。

若要執行這項操作,請使用下列參數呼叫 FltFsControlFileZwFsControlFile

參數

FileObject
僅限FltFsControlFile 。 檔案系統磁片區的檔案物件指標。 這個參數是必要參數,不能是 Null

FileHandle
僅限ZwFsControlFile 。 檔案系統磁片區的檔案控制代碼。 這個參數是必要參數,不能是 Null

FsControlCode
作業的控制項程式碼。 使用此作業的 FSCTL_QUERY_FILE_LAYOUT 控制程式代碼。

InputBuffer
呼叫端配置的 QUERY_FILE_LAYOUT_INPUT 結構指標。 此結構包含選項選項。 QUERY_FILE_LAYOUT_INPUT之後,就會包含選用的檔案範圍。

InputBufferLength
InputBuffer參數所指向之緩衝區的大小(以位元組為單位)。 NumberOfPairs> 0 時, InputBuffer的大小至少必須是sizeof (QUERY_FILE_LAYOUT_INPUT) + (sizeof (Filter) * (NumberOfPairs -1) ) 。 否則,請將InputBufferLength = sizeof (QUERY_FILE_LAYOUT_INPUT) 。

OutputBuffer
呼叫端配置的 QUERY_FILE_LAYOUT_OUTPUT 結構指標。 這是在此緩衝區中遵循之檔案設定項目的標頭。

OutputBufferLength
OutputBuffer參數所指向之緩衝區的大小(以位元組為單位)。 OutputBuffer的大小必須夠大,才能包含QUERY_FILE_LAYOUT_OUTPUT以及所傳回的檔案配置和資料流程版面配置結構。

狀態欄塊

FltFsControlFileZwFsControlFile 會傳回 STATUS_SUCCESS 或適當的 NTSTATUS 值,例如下列其中一個值:

詞彙 描述

STATUS_INVALID_PARAMETER

檔案系統磁片區不是開啟的使用者磁片區,或是緩衝區長度值不正確,或設定了不正確查詢選項。

STATUS_ACCESS_DENIED

呼叫端無法存取檔案系統磁片區。

STATUS_INVALID_USER_BUFFER

InputBufferOutputBuffer的指標未適當對齊。

STATUS_BUFFER_TOO_SMALL

OutputBufferLength中的值表示OutputBuffer太小,無法包含至少一個版面設定項目。

STATUS_END_OF_FILE

InputBufferOutputBuffer的指標未適當對齊。

備註

若要取出磁片區的所有版面設定項目,FSCTL_QUERY_FILE_LAYOUT 要求會發出多次,直到傳回 STATUS_END_OF_FILE 為止。 傳回 STATUS_SUCCESS 時,呼叫端可以繼續傳送其餘設定項目的 FSCTL_QUERY_FILE_LAYOUT 要求。

版面設定項目的列舉可隨時重新開機,方法是在QUERY_FILE_LAYOUT_INPUT旗標成員中包含QUERY_FILE_LAYOUT_RESTART旗標。 此外,FSCTL_QUERY_FILE_LAYOUT 傳回 STATUS_END_OF_FILE之後,必須在下一個 FSCTL_QUERY_FILE_LAYOUT 要求中包含 QUERY_FILE_LAYOUT_RESTART 旗標,才能開始另一個版面設定項目列舉。

* * ReFS: * * 不支援此程式碼。

規格需求

版本

從 Windows 8 開始提供。

標頭

Ntifs (包含 Ntifs)

另請參閱

QUERY_FILE_LAYOUT_INPUT

QUERY_FILE_LAYOUT_OUTPUT

FltFsControlFile

ZwFsControlFile