FltGetVolumeInformation 函式 (fltkernel.h)
FltGetVolumeInformation 例程會提供指定磁碟區的相關信息。
語法
NTSTATUS FLTAPI FltGetVolumeInformation(
[in] PFLT_VOLUME Volume,
[in] FILTER_VOLUME_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
參數
[in] Volume
磁碟區的不透明指標。 這個參數是必要的,而且不能是 NULL。
[in] InformationClass
要求的信息類型。 這個參數是必要的,而且必須是下列其中一個值。
值 | 意義 |
---|---|
FilterVolumeBasicInformation | Buffer 參數會接收磁碟區的FILTER_VOLUME_BASIC_INFORMATION結構。 |
FilterVolumeStandardInformation | Buffer 參數會接收磁碟區的FILTER_VOLUME_STANDARD_INFORMATION結構。 從 Windows Vista 開始,即可使用此結構。 |
[out] Buffer
接收所要求資訊的呼叫端配置緩衝區指標。 緩衝區中傳回的信息類型是由 InformationClass 參數所定義。 這個參數是必要的,而且不能是 NULL。
[in] BufferSize
Buffer 參數所指向緩衝區的大小,以位元組為單位。 呼叫端應該根據指定的 InformationClass 值來設定此參數。 此為必要參數。
[out] BytesReturned
呼叫端配置的變數指標,該變數會接收 Buffer 指向之緩衝區中傳回的位元組數目。 如果 BufferSize 的輸入值太小, FltGetVolumeInformation 會傳回STATUS_BUFFER_TOO_SMALL,並將此變數設定為儲存所要求資訊所需的位元組數目。 這個參數是必要的,而且不能是 NULL。
傳回值
FltGetVolumeInformation 會傳回STATUS_SUCCESS或適當的 NTSTATUS 狀態代碼,例如下列其中一項:
傳回碼 | Description |
---|---|
|
為 InformationClass 參數指定了無效的值。 例如,如果在 Windows Vista 之前的作業系統上指定 FilterVolumeStandardInformation ,則例程會傳回STATUS_INVALID_PARAMETER。 這是錯誤碼。 |
|
Buffer 參數指向的緩衝區不夠大,無法儲存要求的資訊。 這是錯誤碼。 |
備註
假設有不透明的磁碟區指標,例如 FltEnumerateVolumes 例程所傳回的磁碟區指標, FltGetVolumeInformation 例程會提供透過 Volume 參數傳遞之不透明磁碟區指標所指向的磁碟區相關信息。 請注意,呼叫端最終必須藉由呼叫 FltObjectDereference 例程來釋放不透明的磁碟區指標。
FltGetVolumeInformation 例程會傳回單一磁碟區的資訊。 不過,假設有不透明的磁碟區指標清單,例程可以反覆用來建立對應的磁碟區資訊結構清單。 在這類清單中,有兩個或多個結構可以包含相同的磁碟區名稱。 如需詳細資訊,請參閱 瞭解具有重複磁碟區名稱的磁碟區列舉。
若要列出篩選管理員已知的所有磁碟區磁碟區資訊,請呼叫 FltEnumerateVolumeInformation。
下列清單包含可能正在使用的相關信息:
- 若要列舉系統中所有已註冊的迷你篩選驅動程式,請呼叫 FltEnumerateFilters 例程。
- 若要取得附加至指定磁碟區之迷你篩選驅動程序實例的相關信息,請呼叫 FltEnumerateInstanceInformationByVolume 例程。
- 若要列舉指定迷你篩選驅動程式或磁碟區的迷你篩選驅動程序實例,請呼叫 FltEnumerateInstances 例程。
- 若要列舉系統中的所有磁碟區,請呼叫 FltEnumerateVolumes 例程。
- 若要取得指定磁碟區裝置物件所代表磁碟區的不透明指標, (VDO) ,請呼叫 FltGetVolumeFromDeviceObject 例程。
- 若要取得指定檔案數據流所在磁碟區的不透明指標,請呼叫 FltGetVolumeFromFileObject 例程。
- 若要取得指定迷你篩選驅動程序實例所附加磁碟區的不透明指標,請呼叫 FltGetVolumeFromInstance 例程。
- 若要取得名稱符合指定磁碟區名稱之磁碟區的不透明指標,請呼叫 FltGetVolumeFromName 例程。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows Vista 開始,即可使用此例程。 |
目標平台 | Universal |
標頭 | fltkernel.h (包含 FltKernel.h) |
程式庫 | FltMgr.lib |
Dll | Fltmgr.sys |
IRQL | <= APC_LEVEL |
另請參閱
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION