ホーム › System.Diagnostics.ClrProfiling › ICorProfilerCallback10
ICorProfilerCallback10
COMメソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 95 HRESULT EventPipeEventDelivered(UINT_PTR provider, DWORD eventId, DWORD eventVersion, DWORD cbMetadataBlob, BYTE* metadataBlob, DWORD cbEventData, BYTE* eventData, GUID* pActivityId, GUID* pRelatedActivityId, UINT_PTR eventThread, DWORD numStackFrames, UINT_PTR* stackFrames)
| provider | UINT_PTR | in | イベントを発行した EventPipe プロバイダーの識別子である。 |
| eventId | DWORD | in | 配信されたイベントの ID である。 |
| eventVersion | DWORD | in | イベントのバージョン番号である。 |
| cbMetadataBlob | DWORD | in | metadataBlob が指すメタデータブロブのバイト数である。 |
| metadataBlob | BYTE* | in | イベントのメタデータを格納したバッファへのポインタである。 |
| cbEventData | DWORD | in | eventData が指すイベントデータのバイト数である。 |
| eventData | BYTE* | in | イベントのペイロードデータを格納したバッファへのポインタである。 |
| pActivityId | GUID* | in | イベントのアクティビティ ID を示す GUID へのポインタである。 |
| pRelatedActivityId | GUID* | in | 関連するアクティビティ ID を示す GUID へのポインタである。 |
| eventThread | UINT_PTR | in | イベントを発生させたスレッドの識別子である。 |
| numStackFrames | DWORD | in | stackFrames 配列に含まれるスタックフレームの数である。 |
| stackFrames | UINT_PTR* | in | イベント発生時のスタックフレームの命令ポインタを格納した配列へのポインタである。 |
| provider | UINT_PTR | in | 作成された EventPipe プロバイダーの識別子である。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ICorProfilerCallback10 "{CEC5B60E-C69C-495F-87F6-84D28EE16FFB}" #usecom global ICorProfilerCallback10 IID_ICorProfilerCallback10 "{}" #comfunc global ICorProfilerCallback10_EventPipeEventDelivered 95 sptr,int,int,int,var,int,var,var,var,sptr,int,var #comfunc global ICorProfilerCallback10_EventPipeProviderCreated 96 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ICorProfilerCallback10 "{CEC5B60E-C69C-495F-87F6-84D28EE16FFB}" #usecom global ICorProfilerCallback10 IID_ICorProfilerCallback10 "{}" #comfunc global ICorProfilerCallback10_EventPipeEventDelivered 95 sptr,int,int,int,sptr,int,sptr,sptr,sptr,sptr,int,sptr #comfunc global ICorProfilerCallback10_EventPipeProviderCreated 96 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。