IoGetContainerInformation function (wdm.h)

The IoGetContainerInformation routine provides information about the current state of a user session.

Syntax

NTSTATUS IoGetContainerInformation(
  [in]           IO_CONTAINER_INFORMATION_CLASS InformationClass,
  [in, optional] PVOID                          ContainerObject,
  [in, out]      PVOID                          Buffer,
  [in]           ULONG                          BufferLength
);

Parameters

[in] InformationClass

Specifies the class of events for which the caller (driver) requests information. Set this parameter to the following IO_CONTAINER_INFORMATION_CLASS enumeration value:

  • IoSessionStateInformation
For more information, see the following Remarks section.

[in, optional] ContainerObject

A pointer to an opaque, system object supplied by the I/O manager. For InformationClass = IoSessionStateInformation, set this parameter to the SessionObject parameter value that is provided by the I/O manager during the call to the driver's IO_SESSION_NOTIFICATION_FUNCTION function.

[in, out] Buffer

A pointer to a caller-allocated buffer into which this routine writes the state information for the event class specified by InformationClass. For InformationClass = IoSessionStateInformation, the routine writes an IO_SESSION_STATE_INFORMATION structure to the buffer. The buffer must be large enough to contain this structure.

[in] BufferLength

The size, in bytes, of the buffer pointed to by Buffer. For InformationClass = IoSessionStateInformation, BufferLength must be at least sizeof(IO_SESSION_STATE_INFORMATION).

Return value

IoGetContainerInformation returns STATUS_SUCCESS if the call is successful. Possible error return values include the following:

Return code Description
STATUS_INVALID_PARAMETER_1
Parameter InformationClass is not a valid IO_CONTAINER_INFORMATION_CLASS enumeration constant.
STATUS_INVALID_PARAMETER_2
Parameter ContainerObject is NULL.
STATUS_INVALID_PARAMETER_4
Parameter BufferLength is too small for the information class specified by InformationClass.

Remarks

This routine can potentially support queries for a variety of information classes. In Windows 7, this routine supports only queries for IoSessionStateInformation information, which is status information about user sessions.

Requirements

   
Minimum supported client Available in Windows 7 and later versions of the Windows operating system.
Target Platform Universal
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Fltkernel.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

See also

IO_CONTAINER_INFORMATION_CLASS

IO_CONTAINER_NOTIFICATION_CLASS

IO_SESSION_STATE_INFORMATION