IDebugClient3::EndSession 方法 (dbgeng.h)

EndSession 方法结束当前调试器会话。

语法

HRESULT EndSession(
  [in] ULONG Flags
);

参数

[in] Flags

指定如何结束会话。 标志 可以是以下值之一:

标志 描述
DEBUG_END_PASSIVE 对会话执行清理。
DEBUG_END_ACTIVE_TERMINATE 尝试在对会话执行清理之前终止所有用户模式目标。
DEBUG_END_ACTIVE_DETACH 尝试在为会话执行清理之前断开与所有目标的连接。
DEBUG_END_REENTRANT 仅执行不需要获取锁的清理。 有关详细信息,请参阅“备注”部分。
DEBUG_END_DISCONNECT 不要结束会话。 断开客户端与会话的连接并禁用客户端。

此标志适用于远程客户端断开连接时。 它会生成有关断开连接的服务器消息。

返回值

此方法也可能返回错误值。 有关更多详细信息 ,请参阅返回值

返回代码 说明
S_OK
方法成功。

注解

可以随时调用此方法,将 Flags 设置为 DEBUG_END_REENTRANT。 例如,如果应用程序需要退出,但另一个线程正在使用引擎,则可以使用此方法执行尽可能多的清理。

使用DEBUG_END_REENTRANT可能会使引擎处于不确定状态。 如果使用此标志,则不应对引擎进行后续调用。

有关调试器会话的详细信息,请参阅 调试会话和执行模型

要求

要求
目标平台 桌面
标头 dbgeng.h (包括 Dbgeng.h)