IoGetContainerInformation 函数 (wdm.h)
IoGetContainerInformation 例程提供有关用户会话的当前状态的信息。
语法
NTSTATUS IoGetContainerInformation(
[in] IO_CONTAINER_INFORMATION_CLASS InformationClass,
[in, optional] PVOID ContainerObject,
[in, out] PVOID Buffer,
[in] ULONG BufferLength
);
参数
[in] InformationClass
指定调用方 (驱动程序) 请求信息的事件类。 将此参数设置为以下 IO_CONTAINER_INFORMATION_CLASS 枚举值:
- IoSessionStateInformation
[in, optional] ContainerObject
指向 I/O 管理器提供的不透明系统对象的指针。 对于 InformationClass = IoSessionStateInformation,请将此参数设置为 I/O 管理器在调用驱动程序的 IO_SESSION_NOTIFICATION_FUNCTION 函数期间提供的 SessionObject 参数值。
[in, out] Buffer
指向调用方分配的缓冲区的指针,此例程在其中写入 InformationClass 指定的事件类的状态信息。 对于 InformationClass = IoSessionStateInformation,例程会将 IO_SESSION_STATE_INFORMATION 结构写入缓冲区。 缓冲区必须足够大才能包含此结构。
[in] BufferLength
缓冲区指向的缓冲区的大小(以字节为单位)。 对于 InformationClass = IoSessionStateInformation,BufferLength 的大小必须至少为 (IO_SESSION_STATE_INFORMATION) 。
返回值
如果调用成功,IoGetContainerInformation 将返回STATUS_SUCCESS。 可能的错误返回值包括以下内容:
返回代码 | 说明 |
---|---|
|
Parameter InformationClass 不是有效的 IO_CONTAINER_INFORMATION_CLASS 枚举常量。 |
|
参数 ContainerObject 为 NULL。 |
|
对于 InformationClass 指定的信息类,参数 BufferLength 太小。 |
注解
此例程可能支持对各种信息类的查询。 在 Windows 7 中,此例程仅支持查询 IoSessionStateInformation 信息,即有关用户会话的状态信息。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows 7 及更高版本的 Windows 操作系统。 |
目标平台 | 通用 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Fltkernel.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
另请参阅
IO_CONTAINER_INFORMATION_CLASS