Win32 API 日本語リファレンス
ホームSystem.Diagnostics.ClrProfiling › ICorProfilerInfo9

ICorProfilerInfo9

COM
IID008170db-f8cc-4796-9a51-dc8aa0b47012継承元ICorProfilerInfo8自前メソッド開始 vtbl90

メソッド 3

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 90 HRESULT GetNativeCodeStartAddresses(UINT_PTR functionID, UINT_PTR reJitId, DWORD cCodeStartAddresses, DWORD* pcCodeStartAddresses, UINT_PTR* codeStartAddresses)
functionIDUINT_PTRinネイティブコードの開始アドレスを取得する関数の ID を指定する。
reJitIdUINT_PTRin対象とする再 JIT バージョンの識別子を指定する。元のバージョンを指す場合は 0 を指定する。
cCodeStartAddressesDWORDincodeStartAddresses 配列が保持できる要素数を指定する。
pcCodeStartAddressesDWORD*inout利用可能な開始アドレスの総数を受け取る。階層型コンパイルにより複数になる場合がある。
codeStartAddressesUINT_PTR*inout関数の各ネイティブコードバージョンの開始アドレスを受け取る配列である。
vtbl 91 HRESULT GetILToNativeMapping3(UINT_PTR pNativeCodeStartAddress, DWORD cMap, DWORD* pcMap, COR_DEBUG_IL_TO_NATIVE_MAP* map)
pNativeCodeStartAddressUINT_PTRinマッピングを取得するネイティブコードの開始アドレスを指定する。
cMapDWORDinmap 配列が保持できる COR_DEBUG_IL_TO_NATIVE_MAP 要素の数を指定する。
pcMapDWORD*inout利用可能なマッピングエントリの総数を受け取る。
mapCOR_DEBUG_IL_TO_NATIVE_MAP*inoutIL オフセットとネイティブコードオフセットの対応を表す COR_DEBUG_IL_TO_NATIVE_MAP 構造体を受け取る配列である。
vtbl 92 HRESULT GetCodeInfo4(UINT_PTR pNativeCodeStartAddress, DWORD cCodeInfos, DWORD* pcCodeInfos, COR_PRF_CODE_INFO* codeInfos)
pNativeCodeStartAddressUINT_PTRinコードブロック情報を取得するネイティブコードの開始アドレスを指定する。
cCodeInfosDWORDincodeInfos バッファが保持できる COR_PRF_CODE_INFO 要素の数を指定する。
pcCodeInfosDWORD*inout利用可能な COR_PRF_CODE_INFO 要素の総数を受け取る。
codeInfosCOR_PRF_CODE_INFO*inoutネイティブコードブロックを表す COR_PRF_CODE_INFO 構造体を受け取る配列である。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ICorProfilerInfo9 "{008170DB-F8CC-4796-9A51-DC8AA0B47012}"
#usecom global ICorProfilerInfo9 IID_ICorProfilerInfo9 "{}"
#comfunc global ICorProfilerInfo9_GetNativeCodeStartAddresses  90 sptr,sptr,int,var,var
#comfunc global ICorProfilerInfo9_GetILToNativeMapping3        91 sptr,int,var,var
#comfunc global ICorProfilerInfo9_GetCodeInfo4                 92 sptr,int,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。