IO_SESSION_STATE枚举 (wdm.h)

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)

另请参阅

IO_SESSION_EVENT

IO_SESSION_STATE_INFORMATION

IoGetContainerInformation