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 必须至少 sizeofIO_SESSION_STATE_INFORMATION)。

返回值

如果调用成功,则 IoGetContainerInformation 返回STATUS_SUCCESS。 可能的错误返回值包括:

返回代码 描述
STATUS_INVALID_PARAMETER_1
参数 InformationClass 不是有效的 IO_CONTAINER_INFORMATION_CLASS 枚举常量。
STATUS_INVALID_PARAMETER_2
ContainerObject 的参数 NULL
STATUS_INVALID_PARAMETER_4
参数 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

IO_CONTAINER_NOTIFICATION_CLASS

IO_SESSION_STATE_INFORMATION