次の方法で共有


ICorProfilerInfo3::GetThreadStaticAddress2 メソッド

指定したスレッドおよびアプリケーション ドメインのスコープ内にある、指定したスレッド内静的フィールドのアドレスを取得します。

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

パラメーター

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

  • fieldToken
    [入力] 要求したスレッド内静的フィールドのメタデータ トークン。

  • appDomainId
    [入力] アプリケーション ドメインの ID。

  • threadId
    [入力] 要求した静的フィールドのスコープであるスレッドの ID。

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

解説

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

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

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

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

ICorProfilerInfo2::GetThreadStaticAddress メソッドは、GetThreadStaticAddress2 メソッドに似ていますが、アプリケーション ドメインの引数を受け入れません。

必要条件

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

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

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 4

参照

参照

ICorProfilerInfo3 インターフェイス

その他の技術情報

プロファイリングのインターフェイス

プロファイル (アンマネージ API リファレンス)