次の方法で共有


ICorDebugHeapValue3::GetMonitorEventWaitList メソッド

モニター ロックに関連付けられているイベントでキューに入っているスレッドの順序指定済みリストを提供します。

構文

HRESULT GetMonitorEventWaitList (
    [out] ICorDebugThreadEnum **ppThreadEnum
);

パラメーター

ppThreadEnum [out]スレッドの順序付きリストを提供する ICorDebugThreadEnum 列挙子。

戻り値

このメソッドは、次の特定の HRESULT と、メソッドの失敗を示す HRESULT エラーも返します。

HRESULT 説明
S_OK The list is not empty.
S_FALSE リストが空です。

例外

解説

リスト内の最初のスレッドは、Monitor.Pulse(Object) の次の呼び出しによって解放される最初のスレッドです。 リスト内の次のスレッドは次の呼び出しで解放される、などのように続きます。

リストが空でない場合、このメソッドは S_OK を返します。 リストが空の場合、メソッドは S_FALSE を返します。この場合、列挙型は空ですが、引き続き有効です。

どちらの場合も、列挙型インターフェイスは、現在の同期された状態の間のみ使用できます。 ただし、それからディスペンサーで管理されているスレッドのインターフェイスは、スレッドが終了するまで有効です。

ppThreadEnum が有効なポインターでない場合、結果は未定義です。

スレッドがモニターを待機中であってもこれを確認できないなどのエラーが発生した場合、このメソッドは失敗を示す HRESULT を返します。

必要条件

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

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

ライブラリ: CorGuids.lib

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

関連項目