Функция 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

Указатель на непрозрачный системный объект, предоставляемый диспетчером ввода-вывода. Для InformationClass = IoSessionStateInformation задайте для этого параметра значение параметра SessionObject , которое предоставляется диспетчером ввода-вывода во время вызова функции IO_SESSION_NOTIFICATION_FUNCTION драйвера.

[in, out] Buffer

Указатель на буфер, выделенный вызывающим объектом, в который эта подпрограмма записывает сведения о состоянии для класса событий, заданного параметром InformationClass. Для InformationClass = IoSessionStateInformation подпрограмма записывает структуру IO_SESSION_STATE_INFORMATION в буфер. Буфер должен быть достаточно большим, чтобы содержать эту структуру.

[in] BufferLength

Размер буфера в байтах, на который указывает buffer. Для InformationClass = IoSessionStateInformation параметр BufferLength должен иметь значение по крайней мере sizeof(IO_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