ICorProfilerInfo9::GetCodeInfo4 メソッド
ネイティブ コードの開始アドレスを指定すると、このコードを格納する仮想メモリのブロックが返されます。
構文
HRESULT GetCodeInfo4( [in] UINT_PTR pNativeCodeStartAddress,
[in] ULONG32 cCodeInfos,
[out] ULONG32* pcCodeInfos,
[out] COR_PRF_CODE_INFO codeInfos[]);
パラメーター
pNativeCodeStartAddress
[in] ネイティブ関数の開始へのポインター。
cCodeInfos
[in] codeInfos
配列のサイズ。
pcCodeInfos
[out] 使用できる COR_PRF_CODE_INFO 構造体の総数へのポインター。
codeInfos
[out] 呼び出し元が提供したバッファー。 メソッドから制御が戻った後で、それぞれがネイティブ コードのブロックを記述する COR_PRF_CODE_INFO
の構造体の配列が含まれます。
解説
GetCodeInfo4
メソッドは、メソッドのさまざまなネイティブ バージョンのコード情報を参照できることを除いて、GetCodeInfo3 に似ています。
Note
GetCodeInfo4
によって、ガベージ コレクションをトリガーできます。
エクステントは共通中間言語 (CIL) オフセットの昇順に並べ替えられます。
GetCodeInfo4
から制御が戻ったら、codeInfos
バッファーのサイズが十分で、すべての COR_PRF_CODE_INFO 構造体を格納できることを確認する必要があります。 これを行うには、cCodeInfos
の値を cchName
パラメーターの値と比較します。 COR_PRF_CODE_INFO 構造体のサイズによって除算された cCodeInfos
が pcCodeInfos
より小さい場合は、codeInfos
バッファーの割り当てを増やし、cCodeInfos
を新しい大きいサイズに更新した後、GetCodeInfo4
を再度呼び出します。
別の方法として、最初に GetCodeInfo4
を長さゼロの codeInfos
バッファーで呼び出して、適切なバッファーのサイズを取得します。 その後 codeInfos
バッファーのサイズを、pcCodeInfos
で返された値と、COR_PRF_CODE_INFO 構造体のサイズを乗算した値に設定し、GetCodeInfo4
を再度呼び出します。
必要条件
プラットフォーム:.NET がサポートされているオペレーティング システムに関するページを参照してください。
ヘッダー : CorProf.idl、CorProf.h
ライブラリ: CorGuids.lib
.NET のバージョン: .NET Core 2.1 以降で使用可能
関連項目
.NET