(dbgeng.h) IDebugControl::WaitForEvent 方法
WaitForEvent 方法會等候中斷至調試程式引擎應用程式的事件。
語法
HRESULT WaitForEvent(
[in] ULONG Flags,
[in] ULONG Timeout
);
參數
[in] Flags
設定為零。 目前沒有任何旗標可用於此參數。
[in] Timeout
指定要在此方法傳回之前等待的毫秒數。 如果 Timeout 為 INFINITE,這個方法將不會傳回,直到中斷調試程式引擎應用程式的事件發生或發出結束中斷為止。 如果目前的會話有即時核心目標, 逾時 必須設定為 INFINITE。
傳回值
這個方法可能會傳回其他錯誤值,而上述錯誤值可能會有其他意義。 如需詳細資訊,請參閱 傳回值 。
傳回碼 | 描述 |
---|---|
|
此方法成功。 |
|
逾時已過期。 |
|
已發出結束中斷。 目標無法使用。 |
|
輸入有未完成的要求,或沒有任何目標可以產生事件。 |
|
引擎已經等候事件。 |
備註
只能從啟動調試程式會話的線程呼叫 方法。
事件發生時, 調試程式引擎 會處理事件並呼叫事件回呼。 如果其中一個回呼指出事件應該藉由傳回DEBUG_STATUS_BREAK) 来中断调试程序引擎应用程序 (,這個方法會傳回;否則,它會繼續等候事件。 事件篩選也可以指定事件應該分成調試程式引擎應用程式。 如需事件篩選的詳細資訊,請參閱 控制例外狀況和事件。
此方法無法重複執行。 一旦呼叫之後,便無法在任何用戶端上再次呼叫它,直到傳回為止。 特別是,它無法從事件回呼呼叫,包括回呼所執行的擴充功能和命令。
如果沒有任何目標能夠產生事件,例如,所有目標都已結束 -- 此方法將會結束目前的會話、捨棄目標,然後傳回E_UNEXPECTED。
常數 INFINITE 定義於 Winbase.h 中。
如需使用 WaitForEvent 來控制調試程式應用程式和目標執行流程的詳細資訊,請參閱 偵錯會話和執行模型。 如需事件回呼的詳細資訊,請參閱 監視事件。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | dbgeng.h (包括 Dbgeng.h、Winbase.h) |