共用方式為


IDebugControl3::WaitForEvent 方法 (dbgeng.h)

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

語法

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

參數

[in] Flags

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

[in] Timeout

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

傳回值

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

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

言論

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

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

這個方法不是重新進入。 一旦呼叫它,它就無法在任何用戶端上再次呼叫,直到它傳回為止。 特別是,它無法從事件回呼呼叫,包括回呼所執行的延伸模組和命令。

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

CONSTANT INFINITE 定義於Winbase.h中。

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

要求

要求 價值
目標平臺 桌面
標頭 dbgeng.h (包括 Dbgeng.h、Winbase.h)

另請參閱

IDebugControl

IDebugControl2

IDebugControl3