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 值,例如以下值之一:
返回代码 | 描述 |
---|---|
|
Buffer 参数指向的缓冲区不够大,无法存储请求的信息。 这是一个错误代码。 |
|
已找到匹配的卷,但正在被拆毁。 这是一个错误代码。 |
|
为 InformationClass 参数指定了无效值。 例如,如果在 Windows Vista 之前的作系统上指定了 filterVolumeStandardInformation,则例程返回STATUS_INVALID_PARAMETER。 这是一个错误代码。 |
|
卷的全局列表中没有更多条目。 这是一个警告代码。 |
言论
使用 Index 参数只是 FltEnumerateVolumeInformation 例程在筛选器管理器的全局卷列表中选择的卷的方法。 两次调用 FltEnumerateVolumeInformation 的 Index 参数的值不一定返回相同的结果,因为可以随时装载或卸载卷。
如果 FltEnumerateVolumeInformation 用于创建卷信息结构列表,则其中两个或更多结构可以包含相同的卷名称。 有关详细信息,请参阅 了解具有重复卷名称的卷枚举。
若要枚举所有已注册的微型筛选器驱动程序,请调用 FltEnumerateFilters。
若要枚举筛选器管理器已知的所有卷,请调用 FltEnumerateVolumes。
若要列出所有已注册的微型筛选器驱动程序的筛选器信息,请调用 FltEnumerateFilterInformation。
若要获取给定微型筛选器驱动程序的筛选器信息,请调用 FltGetFilterInformation。
若要枚举给定微型筛选器驱动程序的所有实例,请调用 FltEnumerateInstanceInformationByFilter。
若要枚举给定卷上的所有微型筛选器驱动程序实例,请调用 FltEnumerateInstanceInformationByVolume。
若要枚举所有卷上所有微型筛选器驱动程序的实例,请调用 FltEnumerateInstances。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | fltkernel.h (包括 FltKernel.h) |
库 | FltMgr.lib |
IRQL | <= APC_LEVEL |
另请参阅
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION
FltEnumerateInstanceInformationByFilter