FltQueryVolumeInformation 函式 (fltkernel.h)

FltQueryVolumeInformation 例程會擷取所指定實例所附加之磁碟區的相關信息。

語法

NTSTATUS FLTAPI FltQueryVolumeInformation(
  [in]  PFLT_INSTANCE        Instance,
  [out] PIO_STATUS_BLOCK     Iosb,
  [out] PVOID                FsInformation,
  [in]  ULONG                Length,
  [in]  FS_INFORMATION_CLASS FsInformationClass
);

參數

[in] Instance

附加至磁碟區之迷你篩選驅動程序實例的不透明實例指標。

[out] Iosb

呼叫端配置的指標IO_STATUS_BLOCK結構,可接收最終完成狀態和查詢作業的相關信息。 對於傳回數據的成功呼叫,會將寫入 FsInformation 緩衝區的位元組數目傳回至結構 的信息 成員中。

[out] FsInformation

呼叫端配置的緩衝區指標,可接收磁碟區所需的資訊。 緩衝區中傳回的信息結構是由 FsInformationClass 參數所定義。

[in] Length

FsInformation 指向之緩衝區的位元元組大小。 呼叫端應該根據指定的 FsInformationClass 來設定此參數。 例如,如果 FsInformationClass 的值是 FileFsControlInformation,Length 必須是至少 sizeof (FILE_FS_CONTROL_INFORMATION) 。

[in] FsInformationClass

所要求的信息類型。 下列其中一個值。

意義
FileFsAttributeInformation
傳回 FILE_FS_ATTRIBUTE_INFORMATION 結構,其中包含負責磁碟區之文件系統的屬性資訊。
FileFsControlInformation
傳回 包含 磁碟區檔系統控制資訊的FILE_FS_CONTROL_INFORMATION結構。
FileFsDeviceInformation
傳回 包含 磁碟區裝置資訊的FILE_FS_DEVICE_INFORMATION結構。
FileFsDriverPathInformation
傳回 FILE_FS_DRIVER_PATH_INFORMATION 結構,其中包含指定的驅動程式是否位於磁碟區的 I/O 路徑中。 呼叫端必須在呼叫 FltQueryVolumeInformation 之前,將驅動程式的名稱儲存到 FILE_FS_DRIVER_PATH_INFORMATION 結構中。
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 結構,其中包含磁碟區之實體和邏輯扇區大小的相關信息。

傳回值

FltQueryVolumeInformation 例程會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:

傳回碼 Description
STATUS_INSUFFICIENT_RESOURCES

FltQueryVolumeInformation 發生集區配置失敗。 這是錯誤碼。

STATUS_INVALID_INFO_CLASS
為 FsInformationClass 指定了無效的值。 這是錯誤碼。
STATUS_INVALID_PARAMETER
實例會連結至網路磁碟區。 FltQueryVolumeInformation 無法用來查詢網路磁碟區資訊。 這是錯誤碼。

備註

基礎文件系統不支援的FILE_XXX_INFORMATION結構中的欄位會設定為零。

若要變更磁碟區的相關信息,請呼叫 FltSetVolumeInformation

若要取得指定磁碟區的磁碟區屬性資訊,請呼叫 FltGetVolumeProperties

若要取得指定磁碟區的磁碟區名稱,請呼叫 FltGetVolumeName

若要取得指定磁碟區的磁碟區 GUID 名稱,請呼叫 FltGetVolumeGuidName

規格需求

需求
最低支援的用戶端 Microsoft Windows 2000 Update Rollup 1 for SP4、Windows XP with Service Pack 2 (SP2) 、Windows Server 2003 SP1 和更新版本的 Windows 操作系統中提供及支援。 Windows 2000 SP4 和舊版 Windows 操作系統中無法使用或支援。
目標平台 Universal
標頭 fltkernel.h (包括 FltKernel.h)
程式庫 FltMgr.lib
Dll Fltmgr.sys
IRQL PASSIVE_LEVEL

另請參閱

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_SECTOR_SIZE_INFORMATION

FILE_FS_SIZE_INFORMATION

FILE_FS_VOLUME_INFORMATION

FltGetVolumeGuidName

FltGetVolumeName

FltGetVolumeProperties

FltSetVolumeInformation