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 状态代码,例如以下代码之一:
返回代码 | 说明 |
---|---|
|
为 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 开始可用。 |
目标平台 | 通用 |
标头 | fltkernel.h (包括 FltKernel.h) |
Library | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
另请参阅
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION