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) |