IDebugHostStatus::P ollUserInterrupt メソッド (dbgmodel.h)
PollUserInterrupt メソッドは、デバッグ ホストのユーザーが現在の操作の中断を要求したかどうかを確認するために使用されます。 たとえば、データ モデルのプロパティ アクセサーは、任意のコード (JavaScript メソッドなど) を呼び出す場合があります。 そのコードには、任意の時間がかかる場合があります。 デバッグ ホストの応答性を維持するために、任意の時間がかかる可能性があるそのようなコードでは、このメソッドを呼び出して割り込み要求を確認する必要があります。 interruptRequested 値が true として返された場合、呼び出し元はすぐに中止し、E_ABORTの結果を返す必要があります。
E_ABORTエラーを受け取るデータ モデル API の呼び出し元は、そのエラーだけを飲み込むのではなく、そのエラーを外側に伝達することが重要です。
特定のホスト (特に、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;
}
必要条件
要件 | 価値 |
---|---|
ヘッダー | dbgmodel.h |
関連項目
IDebugHostStatus インターフェイス の