次の方法で共有


ICorDebugController::HasQueuedCallbacks メソッド

更新 : 2007 年 11 月

任意のマネージ コールバックが現在指定したスレッドのキューに配置されているかどうかを示す値を取得します。

HRESULT HasQueuedCallbacks (
    [in] ICorDebugThread *pThread,
    [out] BOOL           *pbQueued
);

パラメータ

  • pThread
    [入力] スレッドを表す ICorDebugThread オブジェクトへのポインタ。

  • pbQueued
    [出力] 任意のマネージ コールバックが指定したスレッドのキューに現在配置されている場合は true である値へのポインタ。それ以外の場合は false。

    pThread パラメータに null を指定すると、HasQueuedCallbacks は、任意のスレッドのキューに現在配置されているマネージ コールバックがある場合に true を返します。

解説

コールバックは、ICorDebugController::Continue が呼び出されるたびに 1 つずつディスパッチされます。同時に発生する複数のデバッグ イベントをデバッガで報告する必要がある場合は、このフラグをチェックできます。

デバッグ イベントは、キューに配置されたときには既に発生しているため、デバッガはデバッグ対象の状態を確認するために、キュー全体をドレインする必要があります (キューをドレインするには ICorDebugController::Continue を呼び出します)。たとえば、キューのスレッド X 上に 2 つのデバッグ イベントがあり、最初のデバッグ イベント後にデバッガがスレッド X を中断した後、ICorDebugController::Continue を呼び出した場合、スレッド X の 2 番目のデバッグ イベントは、スレッドが中断されていてもディスパッチされます。

必要条件

プラットフォーム : 「.NET Framework システム要件」を参照

ヘッダー : CorDebug.idl

ライブラリ : CorGuids.lib

.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

参照

参照

ICorDebugController