IDebugEventCallback2::Event
デバッグ イベントの通知を送信します。
構文
int Event(
IDebugEngine2 pEngine,
IDebugProcess2 pProcess,
IDebugProgram2 pProgram,
IDebugThread2 pThread,
IDebugEvent2 pEvent,
ref Guid riidEvent,
uint dwAttrib
);
パラメーター
pEngine
[入力] このイベントを送信しているデバッグ エンジン (DE) を表す IDebugEngine2 オブジェクト。 このパラメーターを入力するには、DE が必要です。
pProcess
[入力] イベントが発生するプロセスを表す IDebugProcess2 オブジェクト。 このパラメーターは、セッション デバッグ マネージャー (SDM) によって入力されます。 DE は、常にこのパラメーターに null 値を渡します。
pProgram
[入力] このイベントが発生するプログラムを表す IDebugProgram2 オブジェクト。 ほとんどのイベントについて、このパラメーターは null 値ではありません。
pThread
[入力] このイベントが発生するスレッドを表す IDebugThread2 オブジェクト。 停止イベントについては、このパラメーターからスタック フレームが取得されるため、このパラメーターを null 値にすることはできません。
pEvent
[入力] デバッグ イベントを表す IDebugEvent2 オブジェクト。
riidEvent
[入力] pEvent
パラメーターから取得するイベント インターフェイスを識別する GUID。
dwAttrib
[入力] EVENTATTRIBUTES 列挙型のフラグの組み合わせ。
戻り値
成功した場合は、S_OK
を返します。それ以外の場合は、エラー コードを返します。
解説
このメソッドを呼び出す場合、dwAttrib
パラメーターは、pEvent
パラメーターで渡されたイベント オブジェクトに対して GetAttributes メソッドを呼び出したときの戻り値に一致する必要があります。
イベント自体が非同期であるかどうかに関係なく、すべてのデバッグ イベントは非同期で POST されます。 DE でこのメソッドを呼び出すと、戻り値はイベントが処理されたかどうかは示さず、イベントが受信されたかどうかのみを示します。 実際、ほとんどの状況下で、このメソッドから制御が戻った時点ではイベントは処理されていません。