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