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的值是目前的引擎執行緒識別碼,或者,如果沒有目前的 thread--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 (包含 Dbgeng.h)