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