IO_SESSION_STATE 枚举包含指示用户会话的当前状态的常量。
语法
typedef enum _IO_SESSION_STATE {
IoSessionStateCreated,
IoSessionStateInitialized,
IoSessionStateConnected,
IoSessionStateDisconnected,
IoSessionStateDisconnectedLoggedOn,
IoSessionStateLoggedOn,
IoSessionStateLoggedOff,
IoSessionStateTerminated,
IoSessionStateMax
} IO_SESSION_STATE, *PIO_SESSION_STATE;
常数
IoSessionStateCreated会话已创建。 |
IoSessionStateInitialized会话已初始化,但尚未创建。 |
IoSessionStateConnected会话已连接,但用户尚未登录。 |
IoSessionStateDisconnected会话已断开连接。 |
IoSessionStateDisconnectedLoggedOn用户登录时会话已断开连接。 |
IoSessionStateLoggedOn用户登录到会话。 |
IoSessionStateLoggedOff用户已注销会话。 |
IoSessionStateTerminated会话已终止。 |
IoSessionStateMax指定此枚举类型中的最大值。 |
言论
当驱动程序调用 IoGetContainerInformation 例程以获取有关用户会话的信息(InformationClass = IoSessionStateInformation),I/O 管理器会将 IO_SESSION_STATE_INFORMATION 结构写入例程 Buffer 参数指向的缓冲区。 I/O 管理器将此结构的 SessionState 成员设置为 IO_SESSION_STATE 枚举常量(IoSessionStateMax)。
下表显示了会话状态转换。 对于每个状态转换,表显示以下内容:
- 来自 状态的(灰色框中的列标签)
- 要 状态的(灰色框中的行标签)
- 导致转换的事件(白框中的表项)
在上表中,从 和 到 状态的 由 IO_SESSION_STATE 枚举常量表示,事件由 IO_SESSION_EVENT 枚举常量表示。 例如,如果会话状态 IoSessionStateConnected(在表中缩写为“Connected”),则 IoSessionEventLogon 事件(缩写为“Logon”)会导致转换到 IoSessionStateLoggedOn 状态(缩写为“LoggedOn”)。 新会话的启动状态 IoSessionStateInitialized(缩写为“Initialized”)。
要求
| 要求 | 价值 |
|---|---|
| 最低支持的客户端 | 在 Windows 7 及更高版本的 Windows作系统中受支持。 |
| 标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Fltkernel.h) |