次の方法で共有


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

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

構文

HRESULT SetInterrupt(
  [in] ULONG Flags
);

パラメーター

[in] Flags

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

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

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

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

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

戻り値

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

リターン コード 形容
S_OK
メソッドが成功しました。

備考

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

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

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー dbgeng.h (Dbgeng.h を含む)

関連項目

GetInterrupt する

GetInterruptTimeout する

IDebugControl

IDebugControl2

IDebugControl3

SetInterruptTimeout