次の方法で共有


ICorDebugController::HasQueuedCallbacks メソッド

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

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、CorDebug.h

ライブラリ: CorGuids.lib

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

参照

参照

ICorDebugController インターフェイス