Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The IO_SESSION_STATE enumeration contains constants that indicate the current state of a user session.
Syntax
typedef enum _IO_SESSION_STATE {
IoSessionStateCreated,
IoSessionStateInitialized,
IoSessionStateConnected,
IoSessionStateDisconnected,
IoSessionStateDisconnectedLoggedOn,
IoSessionStateLoggedOn,
IoSessionStateLoggedOff,
IoSessionStateTerminated,
IoSessionStateMax
} IO_SESSION_STATE, *PIO_SESSION_STATE;
Constants
IoSessionStateCreatedThe session has been created. |
IoSessionStateInitializedThe session has been initialized but has not yet been created. |
IoSessionStateConnectedThe session is connected but the user has not yet logged on. |
IoSessionStateDisconnectedThe session has been disconnected. |
IoSessionStateDisconnectedLoggedOnThe session was disconnected while the user was logged on. |
IoSessionStateLoggedOnThe user is logged on to the session. |
IoSessionStateLoggedOffThe user has logged off of the session. |
IoSessionStateTerminatedThe session has been terminated. |
IoSessionStateMaxSpecifies the maximum value in this enumeration type. |
Remarks
When a driver calls the IoGetContainerInformation routine to obtain information about a user session (InformationClass = IoSessionStateInformation), the I/O manager writes an IO_SESSION_STATE_INFORMATION structure to the buffer pointed to by the routine's Buffer parameter. The I/O manager sets the SessionState member of this structure to an IO_SESSION_STATE enumeration constant (other than IoSessionStateMax).
The following table shows the session state transitions. For each state transition, the table shows the following:
- The from state (a column label in a gray box)
- The to state (a row label in a gray box)
- The event that causes the transition (a table entry in a white box)
In the preceding table, the from and to states are represented by IO_SESSION_STATE enumeration constants, and the events are represented by IO_SESSION_EVENT enumeration constants. For example, if the session state is IoSessionStateConnected (abbreviated as "Connected" in the table), an IoSessionEventLogon event (abbreviated as "Logon") causes a transition to the IoSessionStateLoggedOn state (abbreviated as "LoggedOn"). The starting state for a new session is IoSessionStateInitialized (abbreviated as "Initialized").
Requirements
| Requirement | Value |
|---|---|
| Minimum supported client | Supported in Windows 7 and later versions of the Windows operating system. |
| Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Fltkernel.h) |