次の方法で共有


ICorProfilerInfo2::GetContextStaticAddress メソッド

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

構文

HRESULT GetContextStaticAddress(  
    [in] ClassID classId,  
    [in] mdFieldDef fieldToken,  
    [in] ContextID contextId,  
    [out] void **ppAddress);  

パラメーター

classId
[in] 要求されたコンテキスト静的フィールドを含むクラスの ID。

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

contextId
[in] 要求されたコンテキスト静的フィールドのスコープ内にあるコンテキストの ID。

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

解説

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

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

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

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

必要条件

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

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

ライブラリ: CorGuids.lib

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

関連項目