次の方法で共有


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 に似ていますが、メソッドのさまざまなネイティブ バージョンのコード情報を検索できる点が異なります。

GetCodeInfo4 ガベージ コレクションをトリガーできます。

エクステントは、共通中間言語 (CIL) オフセットの増加順に並べ替えられます。

GetCodeInfo4返された後、codeInfos バッファーがすべてのCOR_PRF_CODE_INFO構造体を格納するのに十分な大きさであることを確認する必要があります。 これを行うには、 cCodeInfos の値と cchName パラメーターの値を比較します。 COR_PRF_CODE_INFO構造体のサイズで除算cCodeInfospcCodeInfosよりも小さい場合は、より大きなcodeInfos バッファーを割り当て、新しい大きなサイズでcCodeInfosを更新し、GetCodeInfo4を再度呼び出します。

または、最初に長さ 0 のGetCodeInfo4 バッファーでcodeInfosを呼び出して、正しいバッファー サイズを取得することもできます。 その後、 codeInfos バッファー サイズを pcCodeInfos で返される値に設定し、 COR_PRF_CODE_INFO構造体の サイズを乗算して、 GetCodeInfo4 を再度呼び出すことができます。

要求事項

プラットフォーム:サポートされている .NET オペレーティング システムを参照してください。

ヘッダ: CorProf.idl、CorProf.h

ライブラリ: CorGuids.lib

.NET バージョン: .NET Core 2.1 以降で使用可能

こちらも参照ください