更新 : 2007 年 11 月
指定した 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
ライブラリ : CorGuids.lib
.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0