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
STATUS_BUFFER_TOO_SMALL
Buffer 參數指向的緩衝區不夠大,無法儲存要求的資訊。 這是錯誤碼。
STATUS_FLT_DELETING_OBJECT
找到相符的磁碟區,但正在損毀。 這是錯誤碼。
STATUS_INVALID_PARAMETER
針對 InformationClass 參數指定了無效的值。 例如,如果在 Windows Vista 之前的作業系統上指定 FilterVolumeStandardInformation ,例程會傳回STATUS_INVALID_PARAMETER。 這是錯誤碼。
STATUS_NO_MORE_ENTRIES
全域磁碟區清單中沒有其他專案。 這是警告碼。

備註

使用 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

FltEnumerateFilterInformation

FltEnumerateFilters

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume

FltEnumerateInstances

FltEnumerateVolumes

FltGetFilterInformation