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 |
不要结束会话。 断开客户端与会话的连接并禁用客户端。
此标志适用于远程客户端断开连接时。 它会生成有关断开连接的服务器消息。 |
返回值
此方法也可能返回错误值。 有关更多详细信息 ,请参阅返回值 。
返回代码 | 说明 |
---|---|
|
方法成功。 |
注解
可以随时调用此方法,将 Flags 设置为 DEBUG_END_REENTRANT。 例如,如果应用程序需要退出,但另一个线程正在使用引擎,则可以使用此方法执行尽可能多的清理。
使用DEBUG_END_REENTRANT可能会使引擎处于不确定状态。 如果使用此标志,则不应对引擎进行后续调用。
有关调试器会话的详细信息,请参阅 调试会话和执行模型。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |