(dbgeng.h) IDebugControl::WaitForEvent 方法

WaitForEvent 方法會等候中斷至調試程式引擎應用程式的事件。

語法

HRESULT WaitForEvent(
  [in] ULONG Flags,
  [in] ULONG Timeout
);

參數

[in] Flags

設定為零。 目前沒有任何旗標可用於此參數。

[in] Timeout

指定要在此方法傳回之前等待的毫秒數。 如果 Timeout 為 INFINITE,這個方法將不會傳回,直到中斷調試程式引擎應用程式的事件發生或發出結束中斷為止。 如果目前的會話有即時核心目標, 逾時 必須設定為 INFINITE。

傳回值

這個方法可能會傳回其他錯誤值,而上述錯誤值可能會有其他意義。 如需詳細資訊,請參閱 傳回值

傳回碼 描述
S_OK
此方法成功。
S_FALSE
逾時已過期。
E_PENDING
已發出結束中斷。 目標無法使用。
E_UNEXPECTED
輸入有未完成的要求,或沒有任何目標可以產生事件。
E_FAIL
引擎已經等候事件。

備註

只能從啟動調試程式會話的線程呼叫 方法。

事件發生時, 調試程式引擎 會處理事件並呼叫事件回呼。 如果其中一個回呼指出事件應該藉由傳回DEBUG_STATUS_BREAK) 来中断调试程序引擎应用程序 (,這個方法會傳回;否則,它會繼續等候事件。 事件篩選也可以指定事件應該分成調試程式引擎應用程式。 如需事件篩選的詳細資訊,請參閱 控制例外狀況和事件

此方法無法重複執行。 一旦呼叫之後,便無法在任何用戶端上再次呼叫它,直到傳回為止。 特別是,它無法從事件回呼呼叫,包括回呼所執行的擴充功能和命令。

如果沒有任何目標能夠產生事件,例如,所有目標都已結束 -- 此方法將會結束目前的會話、捨棄目標,然後傳回E_UNEXPECTED。

常數 INFINITE 定義於 Winbase.h 中。

如需使用 WaitForEvent 來控制調試程式應用程式和目標執行流程的詳細資訊,請參閱 偵錯會話和執行模型。 如需事件回呼的詳細資訊,請參閱 監視事件

規格需求

需求
目標平台 桌面
標頭 dbgeng.h (包括 Dbgeng.h、Winbase.h)

另請參閱

IDebugControl

IDebugControl2

IDebugControl3