Share via


ICorProfilerInfo2::GetThreadStaticAddress メソッド

指定したスレッドのスコープ内にある、指定したスレッド内静的フィールドのアドレスを取得します。

構文

HRESULT GetThreadStaticAddress(  
    [in] ClassID     classId,  
    [in] mdFieldDef  fieldToken,  
    [in] ThreadID    threadId,  
    [out] void       **ppAddress);  

パラメーター

classId
[in] 要求されたスレッド静的フィールドを含むクラスの ID。

fieldToken
[in] 要求されたスレッド静的フィールドのメタデータ トークン。

threadId
[in] 要求された静的フィールドのスコープであるスレッドの ID。

ppAddress
[out] 指定されたスレッド内の静的フィールドのアドレスへのポインター。

解説

GetThreadStaticAddress メソッドは次のいずれかを返す必要があります。

  • 指定されたコンテキストで、指定された静的フィールドにアドレスが割り当てられていない場合は CORPROF_E_DATAINCOMPLETE HRESULT。

  • ガベージ コレクション ヒープ内に存在する可能性があるオブジェクトのアドレス。 これらのアドレスはガベージ コレクション後に無効になることがあるため、ガベージ コレクション後にプロファイラーではそれらが有効であると想定してはなりません。

クラスのクラス コンストラクターが完了する前に、GetThreadStaticAddress では、すべての静的フィールドに対して CORPROF_E_DATAINCOMPLETE が返されます。ただし、一部の静的フィールドは既に初期化されており、ガベージ コレクション オブジェクトをルート化する場合があります。

必要条件

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

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

ライブラリ: CorGuids.lib

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

関連項目