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

ICorProfilerInfo10

COM
IID2f1b5152-c869-40c9-aa5f-3abe026bd720継承元ICorProfilerInfo9自前メソッド開始 vtbl93

メソッド 6

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

vtbl 93 HRESULT EnumerateObjectReferences(UINT_PTR objectId, ObjectReferenceCallback callback, void* clientData)
objectIdUINT_PTRin参照を列挙する対象オブジェクトの ID を指定する。
callbackObjectReferenceCallbackin対象オブジェクトが保持する各オブジェクト参照ごとに呼び出される ObjectReferenceCallback コールバック関数である。
clientDatavoid*inoutコールバックにそのまま渡されるユーザー定義データへのポインタである。
vtbl 94 HRESULT IsFrozenObject(UINT_PTR objectId, BOOL* pbFrozen)
objectIdUINT_PTRin凍結オブジェクトかどうかを調べる対象オブジェクトの ID を指定する。
pbFrozenBOOL*inout対象が凍結(frozen)セグメント上のオブジェクトである場合に TRUE を受け取る。
vtbl 95 HRESULT GetLOHObjectSizeThreshold(DWORD* pThreshold)
pThresholdDWORD*inoutラージオブジェクトヒープ(LOH)に割り当てられる基準となるオブジェクトサイズのしきい値(バイト数)を受け取る。
vtbl 96 HRESULT RequestReJITWithInliners(DWORD dwRejitFlags, DWORD cFunctions, UINT_PTR* moduleIds, DWORD* methodIds)
dwRejitFlagsDWORDin再 JIT の挙動を制御する COR_PRF_REJIT_FLAGS フラグを指定する。
cFunctionsDWORDinmoduleIds 配列および methodIds 配列に含まれる再 JIT 対象関数の数を指定する。
moduleIdsUINT_PTR*in再 JIT するメソッドが属するモジュールの ID を格納した配列へのポインタである。
methodIdsDWORD*in再 JIT するメソッドのメタデータトークンを格納した配列へのポインタである。
vtbl 97 HRESULT SuspendRuntime()
vtbl 98 HRESULT ResumeRuntime()

HSP用 COM定義

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

出力引数:
#define global IID_ICorProfilerInfo10 "{2F1B5152-C869-40C9-AA5F-3ABE026BD720}"
#usecom global ICorProfilerInfo10 IID_ICorProfilerInfo10 "{}"
#comfunc global ICorProfilerInfo10_EnumerateObjectReferences  93 sptr,sptr,sptr
#comfunc global ICorProfilerInfo10_IsFrozenObject             94 sptr,var
#comfunc global ICorProfilerInfo10_GetLOHObjectSizeThreshold  95 var
#comfunc global ICorProfilerInfo10_RequestReJITWithInliners   96 int,int,var,var
#comfunc global ICorProfilerInfo10_SuspendRuntime             97
#comfunc global ICorProfilerInfo10_ResumeRuntime              98
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。