IDebugEventCallbacks::ChangeEngineState 方法 (dbgeng.h)
当引擎的状态发生更改时,ChangeEngineState 回调方法调用。
语法
HRESULT ChangeEngineState(
[in] ULONG Flags,
[in] ULONG64 Argument
);
参数
[in] Flags
指定一个位集,指示引擎状态中发生的更改的类型。 可以设置以下位标志:
价值 | 描述 |
---|---|
DEBUG_CES_CURRENT_THREAD | 当前线程已更改,这意味着当前目标和当前进程也可能已更改。 |
DEBUG_CES_EFFECTIVE_PROCESSOR | 有效处理器已更改。 |
DEBUG_CES_BREAKPOINTS | 一个或多个 断点 已更改。 |
DEBUG_CES_CODE_LEVEL | 代码解释级别已更改。 |
DEBUG_CES_EXECUTION_STATUS | 执行状态已更改。 |
DEBUG_CES_ENGINE_OPTIONS | 引擎选项已更改。 |
DEBUG_CES_LOG_FILE | 日志文件已打开或关闭。 |
DEBUG_CES_RADIX | 默认弧度已更改。 |
DEBUG_CES_EVENT_FILTERS | 事件筛选器已更改。 |
DEBUG_CES_PROCESS_OPTIONS | 当前进程的进程选项已更改。 |
DEBUG_CES_EXTENSIONS | 扩展 DLL 已加载或卸载。 (有关详细信息,请参阅 加载调试器扩展 DLL。) |
DEBUG_CES_SYSTEMS | 已添加或删除目标。 |
DEBUG_CES_ASSEMBLY_OPTIONS | 程序集选项已更改。 |
DEBUG_CES_EXPRESSION_SYNTAX | 默认表达式语法已更改。 |
DEBUG_CES_TEXT_REPLACEMENTS | 文本替换已更改。 |
[in] Argument
提供有关更改引擎状态的其他信息。 如果在 Flags 参数中设置了多个位标志,则不使用 Argument 参数。 否则,参数 的值的解释取决于 标志的值:
DEBUG_CES_CURRENT_THREAD
参数 的值是当前引擎线程 ID,或者,如果没有当前线程DEBUG_ANY_ID。 有关详细信息,请参阅 线程和进程。
DEBUG_CES_EFFECTIVE_PROCESSOR
参数 的值是有效处理器的类型。
DEBUG_CES_BREAKPOINTS
参数 的值是已更改的断点的断点 ID;如果更改了多个断点,则为DEBUG_ANY_ID。 有关详细信息,请参阅 断点。
DEBUG_CES_CODE_LEVEL
参数 的值是代码解释级别。
DEBUG_CES_EXECUTION_STATUS
参数 的值是执行状态(如 DEBUG_STATUS_XXX 主题中所述),可能与位标志DEBUG_STATUS_INSIDE_WAIT结合使用。 WaitForEvent 调用挂起时设置DEBUG_STATUS_INSIDE_WAIT。 有关详细信息,请参阅 调试会话和执行模型。
DEBUG_CES_ENGINE_OPTIONS
参数 的值是引擎选项。
DEBUG_CES_LOG_FILE
如果打开日志文件,则 参数 的值 TRUE;如果日志文件已关闭,FALSE。
DEBUG_CES_RADIX
参数 的值是默认的弧度。
DEBUG_CES_EVENT_FILTERS
参数 的值是已更改的事件筛选器的索引;如果多个事件筛选器已更改,则为DEBUG_ANY_ID。
DEBUG_CES_PROCESS_OPTIONS
参数 的值是当前进程的进程选项。
DEBUG_CES_EXTENSIONS
参数 的值为零。
DEBUG_CES_SYSTEMS
参数 的值是添加的目标的目标 ID;如果删除了目标,则为DEBUG_ANY_ID。
DEBUG_CES_ASSEMBLE_OPTIONS
参数 的值是程序集选项。
DEBUG_CES_EXPRESSION_SYNTAX
参数 的值是默认表达式语法。
DEBUG_CES_TEXT_REPLACEMENTS
参数 的值是DEBUG_ANY_ID。
返回值
引擎忽略返回值,除非它指示远程过程调用错误;在这种情况下,将禁用此 IDebugEventCallbacks 对象的客户端。
言论
只有在 IDebugEventCallbacks::GetInterestMask返回的掩码中设置了DEBUG_EVENT_CHANGE_ENGINE_STATE标志时,引擎才会调用此方法。
有关处理事件的详细信息,请参阅 监视事件。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |