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