次の方法で共有


ICorDebugController::HasQueuedCallbacks メソッド

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

構文

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

パラメーター

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

pbQueued [out]マネージド コールバックが指定されたスレッドに対して現在キューに登録されている場合に true される値へのポインター。それ以外の場合は false

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

解説

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

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

必要条件

:システム要件」を参照してください。

ヘッダー: CorDebug.idl、CorDebug.h

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 1.0 以降で使用可能

関連項目