共用方式為


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 參數。 否則,Argument 值的解譯取決於 Flags的值:

DEBUG_CES_CURRENT_THREAD

Argument 的值是目前的引擎線程標識碼,如果目前沒有線程,則為 DEBUG_ANY_ID。 如需詳細資訊,請參閱 線程和進程

DEBUG_CES_EFFECTIVE_PROCESSOR

Argument 的值是有效處理器的類型。

DEBUG_CES_BREAKPOINTS

Argument 的值是已變更之斷點的斷點標識碼;如果有多個斷點已變更,則為 --DEBUG_ANY_ID。 如需詳細資訊,請參閱 斷點

DEBUG_CES_CODE_LEVEL

Argument 的值是程式代碼解譯層級。

DEBUG_CES_EXECUTION_STATUS

Argument 的值是執行狀態(如 DEBUG_STATUS_XXX 主題中所述),可能與位旗標結合DEBUG_STATUS_INSIDE_WAIT。 當 waitForEvent 呼叫擱置時,會設定 DEBUG_STATUS_INSIDE_WAIT。 如需詳細資訊,請參閱 偵錯工作階段和執行模型

DEBUG_CES_ENGINE_OPTIONS

Argument 的值是引擎選項。

DEBUG_CES_LOG_FILE

如果已開啟記錄檔,Argument 的值會 TRUE,如果記錄檔已關閉,FALSE

DEBUG_CES_RADIX

Argument 的值是預設的基數。

DEBUG_CES_EVENT_FILTERS

Argument 的值是已變更的事件篩選索引,或--如果一個以上的事件篩選條件已變更--DEBUG_ANY_ID。

DEBUG_CES_PROCESS_OPTIONS

Argument 的值是目前進程的進程選項。

DEBUG_CES_EXTENSIONS

Argument 的值為零。

DEBUG_CES_SYSTEMS

Argument 的值是已新增的目標目標識別碼,如果已移除目標,則為 DEBUG_ANY_ID。

DEBUG_CES_ASSEMBLE_OPTIONS

Argument 的值是元件選項。

DEBUG_CES_EXPRESSION_SYNTAX

Argument 的值是預設表達式語法。

DEBUG_CES_TEXT_REPLACEMENTS

Argument 的值是DEBUG_ANY_ID。

傳回值

除非引擎指出遠程過程調用錯誤,否則會忽略傳回值;在此情況下,會停用此 IDebugEventCallbacks 對象的用戶端。

言論

只有在 IDebugEventCallbacks::GetInterestMask所傳回的遮罩中設定DEBUG_EVENT_CHANGE_ENGINE_STATE旗標時,引擎才會呼叫這個方法。

如需處理事件的詳細資訊,請參閱 監視事件

要求

要求 價值
目標平臺 桌面
標頭 dbgeng.h (include Dbgeng.h)