次の方法で共有


ICorProfilerInfo2::GetCodeInfo2 メソッド

指定した FunctionID に関連付けられているネイティブ コードの範囲を取得します。

HRESULT GetCodeInfo2(
    [in]  FunctionID functionID,
    [in]  ULONG32 cCodeInfos,
    [out] ULONG32 *pcCodeInfos,
    [out, size_is(cCodeInfos), length_is(*pcCodeInfos)]
    COR_PRF_CODE_INFO codeInfos[]);

パラメーター

  • functionID
    [入力] ネイティブ コードが関連付けられている関数の ID。

  • cCodeInfos
    [入力] codeInfos 配列のサイズ。

  • pcCodeInfos
    [出力] 使用できる COR_PRF_CODE_INFO 構造体の総数へのポインター。

  • codeInfos
    [出力] 呼び出し元が提供したバッファー。 メソッドから返ると、COR_PRF_CODE_INFO 構造体の配列が格納されており、各構造体はネイティブ コードのブロックを記述しています。

解説

範囲は Microsoft Intermediate Language (MSIL) オフセットの昇順に並べ替えられます。

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

別の方法として、最初に GetCodeInfo2 を長さゼロの codeInfos バッファーで呼び出して、適切なバッファーのサイズを取得します。 その後、codeInfos バッファーのサイズを、pcCodeInfos で返された値に COR_PRF_CODE_INFO 構造体のサイズを掛けた値に設定し、GetCodeInfo2 を再度呼び出します。

この 2 つの方法の詳細については、「API メソッド規則のプロファイリング」を参照してください。

必要条件

プラットフォーム: 「.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 インターフェイス

その他の技術情報

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

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