次の方法で共有


IDebugHostStatus::P ollUserInterrupt メソッド (dbgmodel.h)

PollUserInterrupt メソッドは、デバッグ ホストのユーザーが現在の操作の中断を要求したかどうかを確認するために使用されます。 データ モデルのプロパティ アクセサーは、たとえば、任意のコード (JavaScript メソッドなど) を呼び出す場合があります。 そのコードには、任意の時間がかかる場合があります。 デバッグ ホストの応答性を維持するために、任意の時間がかかる可能性があるコードは、このメソッドを呼び出して割り込み要求にチェックする必要があります。 interruptRequested 値が true として返された場合、呼び出し元はすぐに中止し、E_ABORTの結果を返す必要があります。

のエラーを受け取るデータ モデル API の呼び出し元は、そのエラーを外側に伝達E_ABORT、単なるエラーを飲み込まないようにすることが重要です。

特定のホスト (特に、Windows 用デバッグ ツール) では、割り込みが保留中の間に発生する問い合わせに失敗する場合があります。 このような状況では、 IDebugHost* インターフェイスに対する多くのメソッド呼び出しは、制御がデバッグ ホストに戻るまでE_ABORTを返します。

構文

HRESULT PollUserInterrupt(
  bool *interruptRequested
);

パラメーター

interruptRequested

ユーザー割り込みが保留中かどうかを示す値が返されます。 戻り値が true の場合、呼び出し元はすぐに実行を停止し、E_ABORTエラー コードを外側に伝達する必要があります。

戻り値

このメソッドは、成功または失敗を示す HRESULT を返します。

注釈

サンプル コード

// within some method...
ComPtr<IDebugHost> spHost; /* get the host*/

ComPtr<IDebugHostStatus> spStatus;
spHost.As(&spStatus);

bool isInterruptRequested;
if (spStatus != nullptr && SUCCEEDED(spStatus->PollUserInterrupt(&isInterruptRequested)) && isInterruptRequested)
{
    // This is the return code to indicate a user initiated abort.
    return E_ABORT;
}

要件

要件
Header dbgmodel.h

こちらもご覧ください

IDebugHostStatus インターフェイス