ICorProfilerInfo2::GetContextStaticAddress メソッド

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

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

パラメーター

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

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

  • contextId
    [入力] 要求されたコンテキストの静的フィールドのスコープであるコンテキストの ID。

  • ppAddress
    [出力] 指定したコンテキスト内にある静的フィールドのアドレスへのポインター。

解説

GetContextStaticAddress メソッドは次のいずれかの結果を返します。

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

  • ガベージ コレクション ヒープ内のオブジェクトのアドレス。 これらのアドレスはガベージ コレクションの後に無効になることがあるため、ガーベジ・コレクション後は、プロファイラーがこれらのアドレスを有効であると見なさないようにする必要があります。

クラスのクラス コンストラクターが完了する前に、GetContextStaticAddress はすべての静的フィールドについて CORPROF_E_DATAINCOMPLETE を返します。ただし、一部の静的フィールドは初期化済みで、ガベージ コレクション オブジェクトをルーティングしていることがあります。

必要条件

プラットフォーム: 「.NET Framework システム要件」を参照

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

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

参照

参照

ICorProfilerInfo インターフェイス

ICorProfilerInfo2 インターフェイス