ZwQueryVolumeInformationFile 函式 (ntddk.h)
ZwQueryVolumeInformationFile 例程會擷取與指定檔案、目錄、儲存裝置或磁碟區相關聯的磁碟區相關信息。
語法
NTSYSAPI NTSTATUS ZwQueryVolumeInformationFile(
[in] HANDLE FileHandle,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[out] PVOID FsInformation,
[in] ULONG Length,
[in] FS_INFORMATION_CLASS FsInformationClass
);
參數
[in] FileHandle
ZwCreateFile 或 ZwOpenFile 所傳回之檔案物件的句柄,用於要求磁碟區信息的開啟檔案、目錄、儲存裝置或磁碟區。
[out] IoStatusBlock
IO_STATUS_BLOCK 結構的指標 ,可接收最終完成狀態和查詢作業的相關信息。 對於傳回數據的成功呼叫,會將寫入 FsInformation 緩衝區的位元組數目傳回至結構 的信息 成員中。
[out] FsInformation
呼叫端配置的緩衝區指標,可接收磁碟區所需的資訊。 緩衝區中傳回的信息結構是由 FsInformationClass 參數所定義。
[in] Length
以位元組為單位的緩衝區大小 ,由 FsInformation 指向。 呼叫端應該根據指定的 FsInformationClass 來設定此參數。
[in] FsInformationClass
要傳回磁碟區的相關信息類型。 將此成員設定為下列其中一個 FS_INFORMATION_CLASS 列舉值。
值 | 意義 |
---|---|
FileFsAttributeInformation | 傳回 FILE_FS_ATTRIBUTE_INFORMATION 結構,其中包含負責磁碟區之文件系統的屬性資訊。 |
FileFsControlInformation | 傳回 包含 磁碟區檔系統控制資訊的FILE_FS_CONTROL_INFORMATION結構。 |
FileFsDeviceInformation | 傳回 包含 磁碟區裝置資訊的FILE_FS_DEVICE_INFORMATION結構。 |
FileFsDriverPathInformation | 傳回 FILE_FS_DRIVER_PATH_INFORMATION 結構,其中包含指定的驅動程式是否位於磁碟區的 I/O 路徑中。 呼叫端必須先將驅動程式的名稱儲存到 FILE_FS_DRIVER_PATH_INFORMATION 結構中,才能呼叫 ZwQueryVolumeInformationFile。 |
FileFsFullSizeInformation | 傳回 FILE_FS_FULL_SIZE_INFORMATION 結構,其中包含磁碟區可用空間總數的相關信息。 |
FileFsObjectIdInformation | 傳回 包含 磁碟區檔系統特定物件標識碼資訊的FILE_FS_OBJECTID_INFORMATION結構。 請注意,這與操作系統指派的唯一磁碟區名稱 (GUID 型) 不同。 |
FileFsSizeInformation | 傳回 FILE_FS_SIZE_INFORMATION 結構,其中包含與呼叫線程相關聯之使用者可用磁碟區空間量的相關信息。 |
FileFsVolumeInformation | 傳回 FILE_FS_VOLUME_INFORMATION 包含磁碟區的相關信息,例如磁碟區標籤、序號和建立時間。 |
FileFsSectorSizeInformation | 傳回 FILE_FS_SECTOR_SIZE_INFORMATION 結構,其中包含磁碟區之實體和邏輯扇區大小的相關信息。 |
傳回值
ZwQueryVolumeInformationFile 會傳回STATUS_SUCCESS或適當的錯誤狀態。
備註
ZwQueryVolumeInformationFile 會擷取與指定檔案、目錄、儲存裝置或磁碟區相關聯的磁碟區相關信息。
如果 FileHandle 代表直接開啟的裝置,則只能將 FileFsDeviceInformation 指定為 FsInformationClass 的值。
ZwQueryVolumeInformationFile 會在文件系統不支援的 FILE_XXX_INFORMATION 結構的任何成員中傳回零。
如需其他檔案資訊查詢例程的相關信息,請參閱 檔案物件。
Minifilters 應該使用 FltQueryVolumeInformationFile ,而不是 ZwQueryVolumeInformationFile。
ZwQueryVolumeInformationFile 的呼叫端必須在 IRQL = PASSIVE_LEVEL且啟用特殊核心 APC 時執行。
如果 對 ZwQueryVolumeInformationFile 函式的呼叫發生在使用者模式中,您應該使用名稱 “NtQueryVolumeInformationFile”,而不是 “ZwQueryVolumeInformationFile”。
對於核心模式驅動程式的呼叫,Windows 原生系統服務例程的 NtXxx 和 ZwXxx 版本在處理和解譯輸入參數的方式可能會有不同的行為。 如需例程 NtXxx 和 ZwXxx 版本之間的關聯性詳細資訊,請參閱 使用 Nt 和 Zw 版本的原生系統服務例程。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | ntddk.h (包含 Ntifs.h、Ntddk.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (请参阅一节) |
DDI 合規性規則 | HwStorPortProhibitedDDIs (storport) 、 PowerIrpDDis (wdm) |
另請參閱
FILE_FS_DRIVER_PATH_INFORMATION