次の方法で共有


IDebugControl3::SetInterrupt メソッド (dbgeng.h)

SetInterrupt メソッドは、ユーザー割り込みを登録するか、デバッガーに中断します。

構文

HRESULT SetInterrupt(
  [in] ULONG Flags
);

パラメーター

[in] Flags

登録する割り込みの種類を指定します。 フラグ は、次の表に示す値のいずれかを受け取ることができます。

説明
DEBUG_INTERRUPT_ACTIVE ターゲットが実行されている場合、エンジンはデバッガーへの中断を要求します。 この要求はタイムアウトになる可能性があります。詳細については、「解説」セクションを参照してください。

それ以外の場合、ターゲットが中断されると、エンジンによってユーザー割り込みが登録されます。

DEBUG_INTERRUPT_PASSIVE エンジンによってユーザー割り込みが登録されます。
DEBUG_INTERRUPT_EXIT 現在 WaitForEvent 呼び出しが実行されている場合、エンジンによって強制的に戻されます。 ターゲットで実行を引き起こしているデバッガー コマンドがある場合 ( 例: g (Go)p (Step) ) 、エンジンは強制的に完了させます。 これにより、デバッガーに中断が強制されないため、ターゲットが中断されない可能性があります。 この場合、 WaitForEvent 呼び出しはE_PENDINGを返します。

それ以外の場合は、ターゲットが中断されたときに、ユーザー割り込みを登録します。

戻り値

このメソッドは、エラー値を返す場合もあります。 詳細については、「 戻り値 」を参照してください。

リターン コード 説明
S_OK
メソッドは正常に実行されました。

注釈

このメソッドは、任意のスレッドからいつでも呼び出すことができます。 割り込みが登録されると、このメソッドは直ちにを返します。

Flags がDEBUG_INTERRUPT_ACTIVEされ、割り込みがタイムアウトすると、エンジンによって合成例外イベントが生成されます。 このイベントは、イベント コールバックの IDebugEventCallbacks::Exception メソッドに送信されます。 SetInterruptTimeout を使用して割り込みがタイムアウトするまでの時間を設定できます。

要件

要件
対象プラットフォーム デスクトップ
Header dbgeng.h (Dbgeng.h を含む)

こちらもご覧ください

GetInterrupt

GetInterruptTimeout

IDebugControl

IDebugControl2

IDebugControl3

SetInterruptTimeout