次の方法で共有


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 でこのメソッドを呼び出すと、戻り値はイベントが処理されたかどうかは示さず、イベントが受信されたかどうかのみを示します。 実際、ほとんどの状況下で、このメソッドから制御が戻った時点ではイベントは処理されていません。

関連項目