Win32 API 日本語リファレンス
ホームSystem.Performance › ITraceDataCollector

ITraceDataCollector

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID0383750b-098b-11d8-9414-505054503030継承元IDataCollector呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl32

メソッド 40

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 32 HRESULT get_BufferSize(DWORD* size)
sizeDWORD*out現在のバッファのサイズ(KB)を受け取るポインタである。
vtbl 33 HRESULT put_BufferSize(DWORD size)
sizeDWORDinバッファのサイズ(KB)を設定する。
vtbl 34 HRESULT get_BuffersLost(DWORD* buffers)
buffersDWORD*out現在の失われたバッファ数を受け取るポインタである。
vtbl 35 HRESULT put_BuffersLost(DWORD buffers)
buffersDWORDin失われたバッファ数を設定する。
vtbl 36 HRESULT get_BuffersWritten(DWORD* buffers)
buffersDWORD*out現在の書き込まれたバッファ数を受け取るポインタである。
vtbl 37 HRESULT put_BuffersWritten(DWORD buffers)
buffersDWORDin書き込まれたバッファ数を設定する。
vtbl 38 HRESULT get_ClockType(ClockType* clock)
clockClockType*out現在のクロックの種類を受け取るポインタである。
vtbl 39 HRESULT put_ClockType(ClockType clock)
clockClockTypeinクロックの種類を設定する。
vtbl 40 HRESULT get_EventsLost(DWORD* events)
eventsDWORD*out現在の失われたイベント数を受け取るポインタである。
vtbl 41 HRESULT put_EventsLost(DWORD events)
eventsDWORDin失われたイベント数を設定する。
vtbl 42 HRESULT get_ExtendedModes(DWORD* mode)
modeDWORD*out現在の拡張モードフラグを受け取るポインタである。
vtbl 43 HRESULT put_ExtendedModes(DWORD mode)
modeDWORDin拡張モードフラグを設定する。
vtbl 44 HRESULT get_FlushTimer(DWORD* seconds)
secondsDWORD*out現在のバッファのフラッシュ間隔(秒)を受け取るポインタである。
vtbl 45 HRESULT put_FlushTimer(DWORD seconds)
secondsDWORDinバッファのフラッシュ間隔(秒)を設定する。
vtbl 46 HRESULT get_FreeBuffers(DWORD* buffers)
buffersDWORD*out現在の空きバッファ数を受け取るポインタである。
vtbl 47 HRESULT put_FreeBuffers(DWORD buffers)
buffersDWORDin空きバッファ数を設定する。
vtbl 48 HRESULT get_Guid(GUID* guid)
guidGUID*out現在のGUIDを受け取るポインタである。
vtbl 49 HRESULT put_Guid(GUID guid)
guidGUIDinGUIDを設定する。
vtbl 50 HRESULT get_IsKernelTrace(VARIANT_BOOL* kernel)
kernelVARIANT_BOOL*out現在のカーネルトレースかどうかを受け取るポインタである。
vtbl 51 HRESULT get_MaximumBuffers(DWORD* buffers)
buffersDWORD*out現在の最大バッファ数を受け取るポインタである。
vtbl 52 HRESULT put_MaximumBuffers(DWORD buffers)
buffersDWORDin最大バッファ数を設定する。
vtbl 53 HRESULT get_MinimumBuffers(DWORD* buffers)
buffersDWORD*out現在の最小バッファ数を受け取るポインタである。
vtbl 54 HRESULT put_MinimumBuffers(DWORD buffers)
buffersDWORDin最小バッファ数を設定する。
vtbl 55 HRESULT get_NumberOfBuffers(DWORD* buffers)
buffersDWORD*out現在のバッファ数を受け取るポインタである。
vtbl 56 HRESULT put_NumberOfBuffers(DWORD buffers)
buffersDWORDinバッファ数を設定する。
vtbl 57 HRESULT get_PreallocateFile(VARIANT_BOOL* allocate)
allocateVARIANT_BOOL*out現在のファイルを事前割り当てするかどうかを受け取るポインタである。
vtbl 58 HRESULT put_PreallocateFile(VARIANT_BOOL allocate)
allocateVARIANT_BOOLinファイルを事前割り当てするかどうかを設定する。
vtbl 59 HRESULT get_ProcessMode(VARIANT_BOOL* process)
processVARIANT_BOOL*out現在のプロセスモードを使用するかどうかを受け取るポインタである。
vtbl 60 HRESULT put_ProcessMode(VARIANT_BOOL process)
processVARIANT_BOOLinプロセスモードを使用するかどうかを設定する。
vtbl 61 HRESULT get_RealTimeBuffersLost(DWORD* buffers)
buffersDWORD*out現在のリアルタイム配信で失われたバッファ数を受け取るポインタである。
vtbl 62 HRESULT put_RealTimeBuffersLost(DWORD buffers)
buffersDWORDinリアルタイム配信で失われたバッファ数を設定する。
vtbl 63 HRESULT get_SessionId(ULONGLONG* id)
idULONGLONG*out現在のトレースセッション IDを受け取るポインタである。
vtbl 64 HRESULT put_SessionId(ULONGLONG id)
idULONGLONGinトレースセッション IDを設定する。
vtbl 65 HRESULT get_SessionName(LPWSTR* name)
nameLPWSTR*out現在のトレースセッション名を受け取るポインタである。
vtbl 66 HRESULT put_SessionName(LPWSTR name)
nameLPWSTRinトレースセッション名を設定する。
vtbl 67 HRESULT get_SessionThreadId(DWORD* tid)
tidDWORD*out現在のセッションのスレッド IDを受け取るポインタである。
vtbl 68 HRESULT put_SessionThreadId(DWORD tid)
tidDWORDinセッションのスレッド IDを設定する。
vtbl 69 HRESULT get_StreamMode(StreamMode* mode)
modeStreamMode*out現在のストリームモードを受け取るポインタである。
vtbl 70 HRESULT put_StreamMode(StreamMode mode)
modeStreamModeinストリームモードを設定する。
vtbl 71 HRESULT get_TraceDataProviders(ITraceDataProviderCollection** providers)
providersITraceDataProviderCollection**out現在のトレースデータプロバイダーのコレクションを受け取るポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_ITraceDataCollector "{0383750B-098B-11D8-9414-505054503030}"
#usecom global ITraceDataCollector IID_ITraceDataCollector "{}"
#comfunc global ITraceDataCollector_get_BufferSize           32 var
#comfunc global ITraceDataCollector_put_BufferSize           33 int
#comfunc global ITraceDataCollector_get_BuffersLost          34 var
#comfunc global ITraceDataCollector_put_BuffersLost          35 int
#comfunc global ITraceDataCollector_get_BuffersWritten       36 var
#comfunc global ITraceDataCollector_put_BuffersWritten       37 int
#comfunc global ITraceDataCollector_get_ClockType            38 var
#comfunc global ITraceDataCollector_put_ClockType            39 int
#comfunc global ITraceDataCollector_get_EventsLost           40 var
#comfunc global ITraceDataCollector_put_EventsLost           41 int
#comfunc global ITraceDataCollector_get_ExtendedModes        42 var
#comfunc global ITraceDataCollector_put_ExtendedModes        43 int
#comfunc global ITraceDataCollector_get_FlushTimer           44 var
#comfunc global ITraceDataCollector_put_FlushTimer           45 int
#comfunc global ITraceDataCollector_get_FreeBuffers          46 var
#comfunc global ITraceDataCollector_put_FreeBuffers          47 int
#comfunc global ITraceDataCollector_get_Guid                 48 var
#comfunc global ITraceDataCollector_put_Guid                 49 int
#comfunc global ITraceDataCollector_get_IsKernelTrace        50 var
#comfunc global ITraceDataCollector_get_MaximumBuffers       51 var
#comfunc global ITraceDataCollector_put_MaximumBuffers       52 int
#comfunc global ITraceDataCollector_get_MinimumBuffers       53 var
#comfunc global ITraceDataCollector_put_MinimumBuffers       54 int
#comfunc global ITraceDataCollector_get_NumberOfBuffers      55 var
#comfunc global ITraceDataCollector_put_NumberOfBuffers      56 int
#comfunc global ITraceDataCollector_get_PreallocateFile      57 var
#comfunc global ITraceDataCollector_put_PreallocateFile      58 int
#comfunc global ITraceDataCollector_get_ProcessMode          59 var
#comfunc global ITraceDataCollector_put_ProcessMode          60 int
#comfunc global ITraceDataCollector_get_RealTimeBuffersLost  61 var
#comfunc global ITraceDataCollector_put_RealTimeBuffersLost  62 int
#comfunc global ITraceDataCollector_get_SessionId            63 var
#comfunc global ITraceDataCollector_put_SessionId            64 int64
#comfunc global ITraceDataCollector_get_SessionName          65 var
#comfunc global ITraceDataCollector_put_SessionName          66 wstr
#comfunc global ITraceDataCollector_get_SessionThreadId      67 var
#comfunc global ITraceDataCollector_put_SessionThreadId      68 int
#comfunc global ITraceDataCollector_get_StreamMode           69 var
#comfunc global ITraceDataCollector_put_StreamMode           70 int
#comfunc global ITraceDataCollector_get_TraceDataProviders   71 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。