共用方式為


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 緩衝區的位元組數目會傳回結構 Information 成員中。

[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 結構。 請注意,這與操作系統指派的唯一磁碟區名稱不同。
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 結構的任何成員中的零。

如需其他檔案資訊查詢例程的相關信息,請參閱 File Objects

Minifilters 應該使用 FltQueryVolumeInformationFile,而不是 ZwQueryVolumeInformationFile

ZwQueryVolumeInformationFile 的呼叫者必須在 IRQL = PASSIVE_LEVEL,且 啟用特殊核心 APC

如果在使用者模式中呼叫 ZwQueryVolumeInformationFile 函式,您應該使用名稱 “NtQueryVolumeInformationFile”,而不是 “ZwQueryVolumeInformationFile”。

對於內核模式驅動程式的呼叫,NtXxxZwXxx 版本的 Windows 原生系統服務例程,在處理和解譯輸入參數的方式上可能會有不同的行為。 如需 nt NtXxxZwXxx 例程之間關聯性的詳細資訊,請參閱 使用 Nt 和 Zw 版本的原生系統服務例程

要求

要求 價值
目標平臺 普遍
標頭 ntddk.h (include Ntifs.h, Ntddk.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (請參閱一節)
DDI 合規性規則 HwStorPortProhibitedDIs(storport)PowerIrpDDis(wdm)

另請參閱

FILE_FS_ATTRIBUTE_INFORMATION

FILE_FS_CONTROL_INFORMATION

FILE_FS_DEVICE_INFORMATION

FILE_FS_DRIVER_PATH_INFORMATION

FILE_FS_FULL_SIZE_INFORMATION

FILE_FS_OBJECTID_INFORMATION

FILE_FS_SIZE_INFORMATION

FILE_FS_VOLUME_INFORMATION

FltQueryVolumeInformationFile

IRP_MJ_QUERY_VOLUME_INFORMATION

IRP_MJ_SET_VOLUME_INFORMATION

使用 Nt 和 Zw 版本的原生系統服務例程

ZwCreateFile

ZwOpenFile

ZwQueryDirectoryFile

ZwQueryInformationFile

ZwSetInformationFile

ZwSetVolumeInformationFile