FltEnumerateVolumeInformation 函式 (fltkernel.h)
FltEnumerateVolumeInformation 例程提供篩選管理員已知磁碟區的相關信息。
語法
NTSTATUS FLTAPI FltEnumerateVolumeInformation(
[in] PFLT_FILTER Filter,
[in] ULONG Index,
[in] FILTER_VOLUME_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
參數
[in] Filter
迷你篩選驅動程式的不透明篩選指標。 只要載入迷你篩選驅動程式,此指標就會唯一識別迷你篩選驅動程式,並維持不變。
[in] Index
要求資訊的磁碟區以零起始的索引。
[in] InformationClass
要求的信息類型。 此參數可以有下列其中一個值。
值 | 意義 |
---|---|
FilterVolumeBasicInformation | Buffer 參數會接收磁碟區FILTER_VOLUME_BASIC_INFORMATION結構。 |
FilterVolumeStandardInformation | Buffer 參數會接收磁碟區FILTER_VOLUME_STANDARD_INFORMATION結構。 從 Windows Vista 開始,即可使用此結構。 |
[out] Buffer
接收要求資訊的呼叫端配置緩衝區指標。 緩衝區中傳回的信息類型是由 InformationClass 參數所定義。
[in] BufferSize
Buffer 參數指向的緩衝區大小,以位元組為單位。 呼叫端應該根據指定的 InformationClass 值來設定此參數。
[out] BytesReturned
呼叫端配置的變數指標,該變數會接收 Buffer 所指向之緩衝區中傳回的位元組數目。 如果 BufferSize 的輸入值太小, FltEnumerateVolumeInformation 會傳回STATUS_BUFFER_TOO_SMALL,並將此變數設定為儲存要求資訊所需的位元組數目。 這個參數是必要的,而且不能是 NULL。
傳回值
FltEnumerateVolumeInformation 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:
傳回碼 | Description |
---|---|
|
Buffer 參數指向的緩衝區不夠大,無法儲存要求的資訊。 這是錯誤碼。 |
|
找到相符的磁碟區,但正在損毀。 這是錯誤碼。 |
|
針對 InformationClass 參數指定了無效的值。 例如,如果在 Windows Vista 之前的作業系統上指定 FilterVolumeStandardInformation ,例程會傳回STATUS_INVALID_PARAMETER。 這是錯誤碼。 |
|
全域磁碟區清單中沒有其他專案。 這是警告碼。 |
備註
使用 Index 參數只是 FltEnumerateVolumeInformation 例程的一種方式,可選取篩選管理員全域磁碟區清單中的磁碟區。 使用 Index 參數相同值的 FltEnumerateVolumeInformation 兩次呼叫不一定傳回相同的結果,因為可以隨時掛接或卸除磁碟區。
如果使用 FltEnumerateVolumeInformation 來建立磁碟區資訊結構的清單,則這兩個或多個結構可以包含相同的磁碟區名稱。 如需詳細資訊,請參閱 瞭解具有重複磁碟區名稱的磁碟區列舉。
若要列舉所有已註冊的迷你篩選驅動程式,請呼叫 FltEnumerateFilters。
若要列舉篩選管理員已知的所有磁碟區,請呼叫 FltEnumerateVolumes。
若要列出所有已註冊迷你篩選驅動程式的篩選資訊,請呼叫 FltEnumerateFilterInformation。
若要取得指定迷你篩選驅動程式的篩選資訊,請呼叫 FltGetFilterInformation。
若要列舉指定迷你篩選驅動程式的所有實例,請呼叫 FltEnumerateInstanceInformationByFilter。
若要列舉指定磁碟區上的所有迷你篩選驅動程序實例,請呼叫 FltEnumerateInstanceInformationByVolume。
若要列舉所有磁碟區上所有迷你篩選驅動程序的實例,請呼叫 FltEnumerateInstances。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | fltkernel.h (包括 FltKernel.h) |
程式庫 | FltMgr.lib |
IRQL | <= APC_LEVEL |
另請參閱
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION
FltEnumerateInstanceInformationByFilter