ICorProfilerInfo3::GetThreadStaticAddress2 メソッド
指定したスレッドおよびアプリケーション ドメインのスコープ内にある、指定したスレッド内静的フィールドのアドレスを取得します。
構文
HRESULT GetThreadStaticAddress2(
[in] ClassID classId,
[in] mdFieldDef fieldToken,
[in] AppDomainID appDomainId,
[in] ThreadID threadId,
[out] void **ppAddress);
パラメーター
classId
[in] 要求されたスレッド静的フィールドを含むクラスの ID。
fieldToken
[in] 要求されたスレッド静的フィールドのメタデータ トークン。
appDomainId
[in] アプリケーション ドメインの ID。
threadId
[in] 要求された静的フィールドのスコープであるスレッドの ID。
ppAddress
[out] 指定されたスレッド内の静的フィールドのアドレスへのポインター。
解説
GetThreadStaticAddress2
メソッドは次のいずれかを返す必要があります。
指定されたコンテキストで、指定された静的フィールドにアドレスが割り当てられていない場合は CORPROF_E_DATAINCOMPLETE HRESULT。
ガベージ コレクション ヒープ内に存在する可能性があるオブジェクトのアドレス。 これらのアドレスはガベージ コレクション後に無効になることがあるため、ガベージ コレクション後にプロファイラーではそれらが有効であると想定してはなりません。
クラスのクラス コンストラクターが完了する前に、GetThreadStaticAddress2
では、すべての静的フィールドに対して CORPROF_E_DATAINCOMPLETE が返されます。ただし、一部の静的フィールドは既に初期化されており、ガベージ コレクション オブジェクトをルート化する場合があります。
ICorProfilerInfo2::GetThreadStaticAddress メソッドは GetThreadStaticAddress2
メソッドに似ていますが、アプリケーション ドメイン引数を受け取りません。
必要条件
:「システム要件」を参照してください。
ヘッダー : CorProf.idl、CorProf.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 4 以降で使用可能
関連項目
.NET