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

ICorProfilerCallback

COM
IID176fbed1-a55c-4796-98ca-a9da0ef883e7継承元IUnknown自前メソッド開始 vtbl3

メソッド 69

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

vtbl 3 HRESULT Initialize(IUnknown* pICorProfilerInfoUnk)
pICorProfilerInfoUnkIUnknown*inプロファイラがランタイム情報にアクセスするための ICorProfilerInfo を照会できる IUnknown ポインタである。
vtbl 4 HRESULT Shutdown()
vtbl 5 HRESULT AppDomainCreationStarted(UINT_PTR appDomainId)
appDomainIdUINT_PTRin作成が開始されたアプリケーションドメインの識別子である。
vtbl 6 HRESULT AppDomainCreationFinished(UINT_PTR appDomainId, HRESULT hrStatus)
appDomainIdUINT_PTRin作成が完了したアプリケーションドメインの識別子である。
hrStatusHRESULTinアプリケーションドメイン作成の成否を示す HRESULT である。
vtbl 7 HRESULT AppDomainShutdownStarted(UINT_PTR appDomainId)
appDomainIdUINT_PTRinシャットダウンが開始されたアプリケーションドメインの識別子である。
vtbl 8 HRESULT AppDomainShutdownFinished(UINT_PTR appDomainId, HRESULT hrStatus)
appDomainIdUINT_PTRinシャットダウンが完了したアプリケーションドメインの識別子である。
hrStatusHRESULTinアプリケーションドメインシャットダウンの成否を示す HRESULT である。
vtbl 9 HRESULT AssemblyLoadStarted(UINT_PTR assemblyId)
assemblyIdUINT_PTRin読み込みが開始されたアセンブリの識別子である。
vtbl 10 HRESULT AssemblyLoadFinished(UINT_PTR assemblyId, HRESULT hrStatus)
assemblyIdUINT_PTRin読み込みが完了したアセンブリの識別子である。
hrStatusHRESULTinアセンブリ読み込みの成否を示す HRESULT である。
vtbl 11 HRESULT AssemblyUnloadStarted(UINT_PTR assemblyId)
assemblyIdUINT_PTRinアンロードが開始されたアセンブリの識別子である。
vtbl 12 HRESULT AssemblyUnloadFinished(UINT_PTR assemblyId, HRESULT hrStatus)
assemblyIdUINT_PTRinアンロードが完了したアセンブリの識別子である。
hrStatusHRESULTinアセンブリアンロードの成否を示す HRESULT である。
vtbl 13 HRESULT ModuleLoadStarted(UINT_PTR moduleId)
moduleIdUINT_PTRin読み込みが開始されたモジュールの識別子である。
vtbl 14 HRESULT ModuleLoadFinished(UINT_PTR moduleId, HRESULT hrStatus)
moduleIdUINT_PTRin読み込みが完了したモジュールの識別子である。
hrStatusHRESULTinモジュール読み込みの成否を示す HRESULT である。
vtbl 15 HRESULT ModuleUnloadStarted(UINT_PTR moduleId)
moduleIdUINT_PTRinアンロードが開始されたモジュールの識別子である。
vtbl 16 HRESULT ModuleUnloadFinished(UINT_PTR moduleId, HRESULT hrStatus)
moduleIdUINT_PTRinアンロードが完了したモジュールの識別子である。
hrStatusHRESULTinモジュールアンロードの成否を示す HRESULT である。
vtbl 17 HRESULT ModuleAttachedToAssembly(UINT_PTR moduleId, UINT_PTR AssemblyId)
moduleIdUINT_PTRinアセンブリに関連付けられたモジュールの識別子である。
AssemblyIdUINT_PTRinモジュールが関連付けられた先のアセンブリの識別子である。
vtbl 18 HRESULT ClassLoadStarted(UINT_PTR classId)
classIdUINT_PTRin読み込みが開始されたクラスの識別子である。
vtbl 19 HRESULT ClassLoadFinished(UINT_PTR classId, HRESULT hrStatus)
classIdUINT_PTRin読み込みが完了したクラスの識別子である。
hrStatusHRESULTinクラス読み込みの成否を示す HRESULT である。
vtbl 20 HRESULT ClassUnloadStarted(UINT_PTR classId)
classIdUINT_PTRinアンロードが開始されたクラスの識別子である。
vtbl 21 HRESULT ClassUnloadFinished(UINT_PTR classId, HRESULT hrStatus)
classIdUINT_PTRinアンロードが完了したクラスの識別子である。
hrStatusHRESULTinクラスアンロードの成否を示す HRESULT である。
vtbl 22 HRESULT FunctionUnloadStarted(UINT_PTR functionId)
functionIdUINT_PTRinアンロードが開始された関数の識別子である。
vtbl 23 HRESULT JITCompilationStarted(UINT_PTR functionId, BOOL fIsSafeToBlock)
functionIdUINT_PTRinJIT コンパイルが開始された関数の識別子である。
fIsSafeToBlockBOOLinこのコールバック内でブロックしても安全かどうかを示す BOOL である。
vtbl 24 HRESULT JITCompilationFinished(UINT_PTR functionId, HRESULT hrStatus, BOOL fIsSafeToBlock)
functionIdUINT_PTRinJIT コンパイルが完了した関数の識別子である。
hrStatusHRESULTinJIT コンパイルの成否を示す HRESULT である。
fIsSafeToBlockBOOLinこのコールバック内でブロックしても安全かどうかを示す BOOL である。
vtbl 25 HRESULT JITCachedFunctionSearchStarted(UINT_PTR functionId, BOOL* pbUseCachedFunction)
functionIdUINT_PTRinキャッシュ済みコードの検索が開始された関数の識別子である。
pbUseCachedFunctionBOOL*outキャッシュされた関数を使用するかどうかをプロファイラが設定する BOOL へのポインタである。
vtbl 26 HRESULT JITCachedFunctionSearchFinished(UINT_PTR functionId, COR_PRF_JIT_CACHE result)
functionIdUINT_PTRinキャッシュ済みコードの検索が完了した関数の識別子である。
resultCOR_PRF_JIT_CACHEinキャッシュ済みコードが使用されたかどうかを示す COR_PRF_JIT_CACHE 列挙値である。
vtbl 27 HRESULT JITFunctionPitched(UINT_PTR functionId)
functionIdUINT_PTRinメモリ回収のためにコンパイル済みコードが破棄された関数の識別子である。
vtbl 28 HRESULT JITInlining(UINT_PTR callerId, UINT_PTR calleeId, BOOL* pfShouldInline)
callerIdUINT_PTRinインライン展開を行う呼び出し元関数の識別子である。
calleeIdUINT_PTRinインライン展開の対象となる呼び出し先関数の識別子である。
pfShouldInlineBOOL*outインライン展開を許可するかどうかをプロファイラが設定する BOOL へのポインタである。
vtbl 29 HRESULT ThreadCreated(UINT_PTR threadId)
threadIdUINT_PTRin作成されたスレッドの識別子である。
vtbl 30 HRESULT ThreadDestroyed(UINT_PTR threadId)
threadIdUINT_PTRin破棄されたスレッドの識別子である。
vtbl 31 HRESULT ThreadAssignedToOSThread(UINT_PTR managedThreadId, DWORD osThreadId)
managedThreadIdUINT_PTRinOS スレッドに割り当てられたマネージドスレッドの識別子である。
osThreadIdDWORDin割り当て先となる OS スレッドの Win32 スレッド ID である。
vtbl 32 HRESULT RemotingClientInvocationStarted()
vtbl 33 HRESULT RemotingClientSendingMessage(GUID* pCookie, BOOL fIsAsync)
pCookieGUID*in送信と受信の対応付けに使用される GUID クッキーへのポインタである。
fIsAsyncBOOLinリモート処理呼び出しが非同期かどうかを示す BOOL である。
vtbl 34 HRESULT RemotingClientReceivingReply(GUID* pCookie, BOOL fIsAsync)
pCookieGUID*in送信と受信の対応付けに使用される GUID クッキーへのポインタである。
fIsAsyncBOOLinリモート処理呼び出しが非同期かどうかを示す BOOL である。
vtbl 35 HRESULT RemotingClientInvocationFinished()
vtbl 36 HRESULT RemotingServerReceivingMessage(GUID* pCookie, BOOL fIsAsync)
pCookieGUID*in送信と受信の対応付けに使用される GUID クッキーへのポインタである。
fIsAsyncBOOLinリモート処理呼び出しが非同期かどうかを示す BOOL である。
vtbl 37 HRESULT RemotingServerInvocationStarted()
vtbl 38 HRESULT RemotingServerInvocationReturned()
vtbl 39 HRESULT RemotingServerSendingReply(GUID* pCookie, BOOL fIsAsync)
pCookieGUID*in送信と受信の対応付けに使用される GUID クッキーへのポインタである。
fIsAsyncBOOLinリモート処理呼び出しが非同期かどうかを示す BOOL である。
vtbl 40 HRESULT UnmanagedToManagedTransition(UINT_PTR functionId, COR_PRF_TRANSITION_REASON reason)
functionIdUINT_PTRinアンマネージドからマネージドへ遷移する境界の関数の識別子である。
reasonCOR_PRF_TRANSITION_REASONin遷移が発生した理由を示す COR_PRF_TRANSITION_REASON 列挙値である。
vtbl 41 HRESULT ManagedToUnmanagedTransition(UINT_PTR functionId, COR_PRF_TRANSITION_REASON reason)
functionIdUINT_PTRinマネージドからアンマネージドへ遷移する境界の関数の識別子である。
reasonCOR_PRF_TRANSITION_REASONin遷移が発生した理由を示す COR_PRF_TRANSITION_REASON 列挙値である。
vtbl 42 HRESULT RuntimeSuspendStarted(COR_PRF_SUSPEND_REASON suspendReason)
suspendReasonCOR_PRF_SUSPEND_REASONinランタイムが中断された理由を示す COR_PRF_SUSPEND_REASON 列挙値である。
vtbl 43 HRESULT RuntimeSuspendFinished()
vtbl 44 HRESULT RuntimeSuspendAborted()
vtbl 45 HRESULT RuntimeResumeStarted()
vtbl 46 HRESULT RuntimeResumeFinished()
vtbl 47 HRESULT RuntimeThreadSuspended(UINT_PTR threadId)
threadIdUINT_PTRin中断されたスレッドの識別子である。
vtbl 48 HRESULT RuntimeThreadResumed(UINT_PTR threadId)
threadIdUINT_PTRin再開されたスレッドの識別子である。
vtbl 49 HRESULT MovedReferences(DWORD cMovedObjectIDRanges, UINT_PTR* oldObjectIDRangeStart, UINT_PTR* newObjectIDRangeStart, DWORD* cObjectIDRangeLength)
cMovedObjectIDRangesDWORDinガベージコレクションにより移動したオブジェクト ID 範囲の数である。
oldObjectIDRangeStartUINT_PTR*in移動前の各範囲の開始オブジェクト ID を格納した配列へのポインタである。
newObjectIDRangeStartUINT_PTR*in移動後の各範囲の開始オブジェクト ID を格納した配列へのポインタである。
cObjectIDRangeLengthDWORD*in各範囲の長さ (バイト数) を格納した配列へのポインタである。
vtbl 50 HRESULT ObjectAllocated(UINT_PTR objectId, UINT_PTR classId)
objectIdUINT_PTRin割り当てられたオブジェクトの識別子である。
classIdUINT_PTRin割り当てられたオブジェクトのクラスの識別子である。
vtbl 51 HRESULT ObjectsAllocatedByClass(DWORD cClassCount, UINT_PTR* classIds, DWORD* cObjects)
cClassCountDWORDin報告対象となるクラスの数である。
classIdsUINT_PTR*in各クラスの識別子を格納した配列へのポインタである。
cObjectsDWORD*in各クラスについて割り当てられたオブジェクト数を格納した配列へのポインタである。
vtbl 52 HRESULT ObjectReferences(UINT_PTR objectId, UINT_PTR classId, DWORD cObjectRefs, UINT_PTR* objectRefIds)
objectIdUINT_PTRin参照元のオブジェクトの識別子である。
classIdUINT_PTRin参照元オブジェクトのクラスの識別子である。
cObjectRefsDWORDinこのオブジェクトが参照するオブジェクトの数である。
objectRefIdsUINT_PTR*in参照先オブジェクトの識別子を格納した配列へのポインタである。
vtbl 53 HRESULT RootReferences(DWORD cRootRefs, UINT_PTR* rootRefIds)
cRootRefsDWORDinルート参照の数である。
rootRefIdsUINT_PTR*inルートから参照されるオブジェクトの識別子を格納した配列へのポインタである。
vtbl 54 HRESULT ExceptionThrown(UINT_PTR thrownObjectId)
thrownObjectIdUINT_PTRinスローされた例外オブジェクトの識別子である。
vtbl 55 HRESULT ExceptionSearchFunctionEnter(UINT_PTR functionId)
functionIdUINT_PTRin例外ハンドラ検索の対象として処理に入った関数の識別子である。
vtbl 56 HRESULT ExceptionSearchFunctionLeave()
vtbl 57 HRESULT ExceptionSearchFilterEnter(UINT_PTR functionId)
functionIdUINT_PTRin例外フィルタの評価に入った関数の識別子である。
vtbl 58 HRESULT ExceptionSearchFilterLeave()
vtbl 59 HRESULT ExceptionSearchCatcherFound(UINT_PTR functionId)
functionIdUINT_PTRin例外を捕捉するハンドラが見つかった関数の識別子である。
vtbl 60 HRESULT ExceptionOSHandlerEnter(UINT_PTR __unused)
__unusedUINT_PTRin未使用の引数である。
vtbl 61 HRESULT ExceptionOSHandlerLeave(UINT_PTR __unused)
__unusedUINT_PTRin未使用の引数である。
vtbl 62 HRESULT ExceptionUnwindFunctionEnter(UINT_PTR functionId)
functionIdUINT_PTRin例外によるアンワインド処理に入った関数の識別子である。
vtbl 63 HRESULT ExceptionUnwindFunctionLeave()
vtbl 64 HRESULT ExceptionUnwindFinallyEnter(UINT_PTR functionId)
functionIdUINT_PTRinアンワインド中に finally ブロックの実行に入った関数の識別子である。
vtbl 65 HRESULT ExceptionUnwindFinallyLeave()
vtbl 66 HRESULT ExceptionCatcherEnter(UINT_PTR functionId, UINT_PTR objectId)
functionIdUINT_PTRin例外を捕捉するハンドラの実行に入った関数の識別子である。
objectIdUINT_PTRin捕捉された例外オブジェクトの識別子である。
vtbl 67 HRESULT ExceptionCatcherLeave()
vtbl 68 HRESULT COMClassicVTableCreated(UINT_PTR wrappedClassId, GUID* implementedIID, void* pVTable, DWORD cSlots)
wrappedClassIdUINT_PTRinラップされたマネージドクラスの識別子である。
implementedIIDGUID*invtable が実装するインターフェイスの IID を示す GUID へのポインタである。
pVTablevoid*in作成された COM クラシック vtable の先頭を指すポインタである。
cSlotsDWORDinvtable 内のスロット数である。
vtbl 69 HRESULT COMClassicVTableDestroyed(UINT_PTR wrappedClassId, GUID* implementedIID, void* pVTable)
wrappedClassIdUINT_PTRinラップされたマネージドクラスの識別子である。
implementedIIDGUID*invtable が実装していたインターフェイスの IID を示す GUID へのポインタである。
pVTablevoid*in破棄された COM クラシック vtable の先頭を指すポインタである。
vtbl 70 HRESULT ExceptionCLRCatcherFound()
vtbl 71 HRESULT ExceptionCLRCatcherExecute()

HSP用 COM定義

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

出力引数:
#define global IID_ICorProfilerCallback "{176FBED1-A55C-4796-98CA-A9DA0EF883E7}"
#usecom global ICorProfilerCallback IID_ICorProfilerCallback "{}"
#comfunc global ICorProfilerCallback_Initialize                        3 sptr
#comfunc global ICorProfilerCallback_Shutdown                          4
#comfunc global ICorProfilerCallback_AppDomainCreationStarted          5 sptr
#comfunc global ICorProfilerCallback_AppDomainCreationFinished         6 sptr,int
#comfunc global ICorProfilerCallback_AppDomainShutdownStarted          7 sptr
#comfunc global ICorProfilerCallback_AppDomainShutdownFinished         8 sptr,int
#comfunc global ICorProfilerCallback_AssemblyLoadStarted               9 sptr
#comfunc global ICorProfilerCallback_AssemblyLoadFinished              10 sptr,int
#comfunc global ICorProfilerCallback_AssemblyUnloadStarted             11 sptr
#comfunc global ICorProfilerCallback_AssemblyUnloadFinished            12 sptr,int
#comfunc global ICorProfilerCallback_ModuleLoadStarted                 13 sptr
#comfunc global ICorProfilerCallback_ModuleLoadFinished                14 sptr,int
#comfunc global ICorProfilerCallback_ModuleUnloadStarted               15 sptr
#comfunc global ICorProfilerCallback_ModuleUnloadFinished              16 sptr,int
#comfunc global ICorProfilerCallback_ModuleAttachedToAssembly          17 sptr,sptr
#comfunc global ICorProfilerCallback_ClassLoadStarted                  18 sptr
#comfunc global ICorProfilerCallback_ClassLoadFinished                 19 sptr,int
#comfunc global ICorProfilerCallback_ClassUnloadStarted                20 sptr
#comfunc global ICorProfilerCallback_ClassUnloadFinished               21 sptr,int
#comfunc global ICorProfilerCallback_FunctionUnloadStarted             22 sptr
#comfunc global ICorProfilerCallback_JITCompilationStarted             23 sptr,int
#comfunc global ICorProfilerCallback_JITCompilationFinished            24 sptr,int,int
#comfunc global ICorProfilerCallback_JITCachedFunctionSearchStarted    25 sptr,var
#comfunc global ICorProfilerCallback_JITCachedFunctionSearchFinished   26 sptr,int
#comfunc global ICorProfilerCallback_JITFunctionPitched                27 sptr
#comfunc global ICorProfilerCallback_JITInlining                       28 sptr,sptr,var
#comfunc global ICorProfilerCallback_ThreadCreated                     29 sptr
#comfunc global ICorProfilerCallback_ThreadDestroyed                   30 sptr
#comfunc global ICorProfilerCallback_ThreadAssignedToOSThread          31 sptr,int
#comfunc global ICorProfilerCallback_RemotingClientInvocationStarted   32
#comfunc global ICorProfilerCallback_RemotingClientSendingMessage      33 var,int
#comfunc global ICorProfilerCallback_RemotingClientReceivingReply      34 var,int
#comfunc global ICorProfilerCallback_RemotingClientInvocationFinished  35
#comfunc global ICorProfilerCallback_RemotingServerReceivingMessage    36 var,int
#comfunc global ICorProfilerCallback_RemotingServerInvocationStarted   37
#comfunc global ICorProfilerCallback_RemotingServerInvocationReturned  38
#comfunc global ICorProfilerCallback_RemotingServerSendingReply        39 var,int
#comfunc global ICorProfilerCallback_UnmanagedToManagedTransition      40 sptr,int
#comfunc global ICorProfilerCallback_ManagedToUnmanagedTransition      41 sptr,int
#comfunc global ICorProfilerCallback_RuntimeSuspendStarted             42 int
#comfunc global ICorProfilerCallback_RuntimeSuspendFinished            43
#comfunc global ICorProfilerCallback_RuntimeSuspendAborted             44
#comfunc global ICorProfilerCallback_RuntimeResumeStarted              45
#comfunc global ICorProfilerCallback_RuntimeResumeFinished             46
#comfunc global ICorProfilerCallback_RuntimeThreadSuspended            47 sptr
#comfunc global ICorProfilerCallback_RuntimeThreadResumed              48 sptr
#comfunc global ICorProfilerCallback_MovedReferences                   49 int,var,var,var
#comfunc global ICorProfilerCallback_ObjectAllocated                   50 sptr,sptr
#comfunc global ICorProfilerCallback_ObjectsAllocatedByClass           51 int,var,var
#comfunc global ICorProfilerCallback_ObjectReferences                  52 sptr,sptr,int,var
#comfunc global ICorProfilerCallback_RootReferences                    53 int,var
#comfunc global ICorProfilerCallback_ExceptionThrown                   54 sptr
#comfunc global ICorProfilerCallback_ExceptionSearchFunctionEnter      55 sptr
#comfunc global ICorProfilerCallback_ExceptionSearchFunctionLeave      56
#comfunc global ICorProfilerCallback_ExceptionSearchFilterEnter        57 sptr
#comfunc global ICorProfilerCallback_ExceptionSearchFilterLeave        58
#comfunc global ICorProfilerCallback_ExceptionSearchCatcherFound       59 sptr
#comfunc global ICorProfilerCallback_ExceptionOSHandlerEnter           60 sptr
#comfunc global ICorProfilerCallback_ExceptionOSHandlerLeave           61 sptr
#comfunc global ICorProfilerCallback_ExceptionUnwindFunctionEnter      62 sptr
#comfunc global ICorProfilerCallback_ExceptionUnwindFunctionLeave      63
#comfunc global ICorProfilerCallback_ExceptionUnwindFinallyEnter       64 sptr
#comfunc global ICorProfilerCallback_ExceptionUnwindFinallyLeave       65
#comfunc global ICorProfilerCallback_ExceptionCatcherEnter             66 sptr,sptr
#comfunc global ICorProfilerCallback_ExceptionCatcherLeave             67
#comfunc global ICorProfilerCallback_COMClassicVTableCreated           68 sptr,var,sptr,int
#comfunc global ICorProfilerCallback_COMClassicVTableDestroyed         69 sptr,var,sptr
#comfunc global ICorProfilerCallback_ExceptionCLRCatcherFound          70
#comfunc global ICorProfilerCallback_ExceptionCLRCatcherExecute        71
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。