FltEnumerateInstanceInformationByVolumeName 函式 (fltkernel.h)

FltEnumerateInstanceInformationByVolumeName 例程提供迷你篩選驅動程式實例和舊版篩選驅動程式的相關信息,這些驅動程式會附加至具有指定名稱的磁碟區。

語法

NTSTATUS FLTAPI FltEnumerateInstanceInformationByVolumeName(
  [in]  PUNICODE_STRING            VolumeName,
  [in]  ULONG                      Index,
  [in]  INSTANCE_INFORMATION_CLASS InformationClass,
  [out] PVOID                      Buffer,
  [in]  ULONG                      BufferSize,
  [out] PULONG                     BytesReturned
);

參數

[in] VolumeName

要列舉篩選實例的磁碟區名稱。

[in] Index

迷你篩選驅動程序實例或要求資訊的舊版篩選驅動程式之以零起始的索引。

[in] InformationClass

要針對迷你篩選驅動程序實例或舊版篩選驅動程式傳回的信息類型。 此參數可以有下列其中一個值。

意義
InstanceBasicInformation Buffer 參數所指向的緩衝區會接收迷你篩選實例的INSTANCE_BASIC_INFORMATION結構。 會忽略舊版篩選驅動程式。
InstanceFullInformation Buffer 參數所指向的緩衝區會接收迷你篩選實例的INSTANCE_FULL_INFORMATION結構。 會忽略舊版篩選驅動程式。
InstancePartialInformation Buffer 參數所指向的緩衝區會接收迷你篩選實例的INSTANCE_PARTIAL_INFORMATION結構。 會忽略舊版篩選驅動程式。
InstanceAggregateStandardInformation Buffer 參數所指向的緩衝區會接收迷你篩選驅動程序實例或舊版篩選驅動程式的INSTANCE_AGGREGATE_STANDARD_INFORMATION結構。

[out] Buffer

接收要求資訊的呼叫端配置緩衝區指標。 緩衝區中傳回的信息類型是由 InformationClass 參數所定義。

[in] BufferSize

Buffer 參數指向的緩衝區大小,以位元組為單位。 呼叫端應該根據指定的 InformationClass 值來設定此參數。

[out] BytesReturned

呼叫端配置的變數指標,該變數會接收 Buffer 所指向之緩衝區中傳回的位元組數目。 如果 BufferSize 的輸入值太小, FltEnumerateInstanceInformationByVolumeName 會傳回 STATUS_BUFFER_TOO_SMALL ,並將此變數設定為儲存要求資訊所需的位元組數目。 這個參數是必要的,而且不能是 NULL

傳回值

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

傳回碼 Description
STATUS_BUFFER_TOO_SMALL
Buffer 參數指向的緩衝區不夠大,無法儲存要求的資訊。
STATUS_FLT_DELETING_OBJECT
找到相符的迷你篩選實例,但正在損毀。 請注意,此傳回值不適用於舊版篩選驅動程式,因為無法卸除舊版篩選驅動程式。
STATUS_INVALID_PARAMETER
針對 InformationClass 參數指定了無效的值。

-或-

VolumeName 包含無效的磁碟區名稱。

STATUS_NO_MORE_ENTRIES
磁碟區實例/篩選清單中沒有其他專案。
STATUS_OBJECT_NAME_NOT_FOUND
VolumeName 中指定的磁碟區不存在。
STATUS_OBJECT_PATH_NOT_FOUND
VolumeName 中指定的磁碟區路徑不存在。
STATUS_FLT_VOLUME_NOT_FOUND
VolumeName 指定的磁碟區沒有附加任何篩選實例。

-或-

VolumeName 指定的磁碟區會從系統中移除。

STATUS_FLT_INTERNAL_ERROR
VolumeName 指定的磁碟區已註冊,但沒有附加任何篩選實例。

備註

使用 Index 參數只是 FltEnumerateInstanceInformationByVolumeName 的一種方式,可針對 VolumeName 所指定的磁碟區,在實例/篩選清單中選取迷你篩選驅動程式實例和舊版篩選驅動程式。 因為實例/篩選清單中的迷你篩選驅動程序實例可以隨時變更,所以不保證會傳回相同結果FltEnumerateInstanceInformationByVolumeName 兩次呼叫。

InformationClass 參數的值是 InstanceAggregateStandardInformation 時,此例程會同時傳回舊版篩選驅動程式資訊和迷你篩選驅動程式實例資訊。

規格需求

需求
最低支援的用戶端 從 Windows 8 開始提供。
目標平台 Universal
標頭 fltkernel.h (包含 Fltkernel.h)
程式庫 FltMgr.lib
IRQL <= APC_LEVEL

另請參閱

FltEnumerateInstanceInformationByDeviceObject

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume