FltQueryVolumeInformationFile 函式 (fltkernel.h)
FltQueryVolumeInformationFile 擷取指定檔案、目錄、儲存裝置或磁碟區的磁碟區資訊。
語法
NTSTATUS FLTAPI FltQueryVolumeInformationFile(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[out] PVOID FsInformation,
[in] ULONG Length,
[in] FS_INFORMATION_CLASS FsInformationClass,
[out, optional] PULONG LengthReturned
);
參數
[in] Instance
呼叫端的不透明實例指標。 這是必要參數,而且無法 NULL。
[in] FileObject
開啟檔案、目錄、儲存裝置或磁碟區的檔案物件指標。 這是必要參數,而且無法 NULL。
[out] FsInformation
接收檔案相關信息的呼叫端配置緩衝區指標。 FsInformationClass 參數會指定資訊的類型。 這是必要參數,而且無法 NULL。
[in] Length
大小,以位元組為單位,FsInformation 緩衝區。
[in] FsInformationClass
要傳回的磁碟區信息類型。 下列其中一項:
價值 | 意義 |
---|---|
|
傳回 FILE_FS_ATTRIBUTE_INFORMATION 結構,其中包含負責磁碟區之文件系統的屬性資訊。 |
|
傳回包含磁碟區檔系統控制資訊的 FILE_FS_CONTROL_INFORMATION 結構。 |
|
傳回包含磁碟區裝置資訊的 FILE_FS_DEVICE_INFORMATION 結構。 |
|
傳回 FILE_FS_DRIVER_PATH_INFORMATION 結構,其中包含指定驅動程式是否位於磁碟區的 I/O 路徑中的資訊。 呼叫者必須先將驅動程式的名稱儲存至 FILE_FS_DRIVER_PATH_INFORMATION 結構,才能 呼叫 fltQueryVolumeInformationFile。 |
|
傳回 FILE_FS_FULL_SIZE_INFORMATION 結構,其中包含磁碟區可用空間總量的相關信息。 |
|
傳回包含磁碟區檔系統特定物件標識碼資訊的 FILE_FS_OBJECTID_INFORMATION 結構。 請注意,這與作系統指派的唯一磁碟區名稱不同。 |
|
傳回 FILE_FS_SIZE_INFORMATION 結構,其中包含與呼叫線程相關聯之使用者可用之磁碟區空間量的相關信息。 |
|
傳回 FILE_FS_VOLUME_INFORMATION,其中包含磁碟區卷標、序號和建立時間等磁碟區的相關信息。 |
|
傳回 FILE_FS_SECTOR_SIZE_INFORMATION 結構,其中包含磁碟區之實體和邏輯扇區大小的相關信息。 |
[out, optional] LengthReturned
呼叫端配置的變數指標,該變數會接收 FsInformation 緩衝區中傳回之資訊的大小,以位元組為單位。 這個參數是選擇性的,而且可以 NULL。
傳回值
FltQueryVolumeInformationFile 會傳回 STATUS_SUCCESS 或適當的 NTSTATUS 值,如下所示:
傳回碼 | 描述 |
---|---|
|
磁碟區目前尚未掛接。 這是錯誤碼。 |
言論
FltQueryVolumeInformationFile 擷取指定檔案、目錄、儲存裝置或磁碟區的磁碟區資訊。
如果 FileObject 代表直接裝置開啟,則只能 將 FileFsDeviceInformation 指定為 FsInformationClass的值。
FltQueryVolumeInformationFile 傳回特定文件系統不支援之 FILE_FS_XXX_INFORMATION 結構的任何成員中的零。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | fltkernel.h (包括 Fltkernel.h) |
連結庫 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |
另請參閱
FILE_FS_DRIVER_PATH_INFORMATION
FILE_FS_SECTOR_SIZE_INFORMATION