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

IApiTracingDataCollector

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

メソッド 14

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

vtbl 32 HRESULT get_LogApiNamesOnly(VARIANT_BOOL* logapinames)
logapinamesVARIANT_BOOL*out現在のAPI 名のみをログ記録するかどうかを受け取るポインタである。
vtbl 33 HRESULT put_LogApiNamesOnly(VARIANT_BOOL logapinames)
logapinamesVARIANT_BOOLinAPI 名のみをログ記録するかどうかを設定する。
vtbl 34 HRESULT get_LogApisRecursively(VARIANT_BOOL* logrecursively)
logrecursivelyVARIANT_BOOL*out現在のAPI を再帰的にログ記録するかどうかを受け取るポインタである。
vtbl 35 HRESULT put_LogApisRecursively(VARIANT_BOOL logrecursively)
logrecursivelyVARIANT_BOOLinAPI を再帰的にログ記録するかどうかを設定する。
vtbl 36 HRESULT get_ExePath(LPWSTR* exepath)
exepathLPWSTR*out現在の対象実行ファイルのパスを受け取るポインタである。
vtbl 37 HRESULT put_ExePath(LPWSTR exepath)
exepathLPWSTRin対象実行ファイルのパスを設定する。
vtbl 38 HRESULT get_LogFilePath(LPWSTR* logfilepath)
logfilepathLPWSTR*out現在のログファイルのパスを受け取るポインタである。
vtbl 39 HRESULT put_LogFilePath(LPWSTR logfilepath)
logfilepathLPWSTRinログファイルのパスを設定する。
vtbl 40 HRESULT get_IncludeModules(SAFEARRAY** includemodules)
includemodulesSAFEARRAY**out現在の対象に含めるモジュールの一覧を受け取るポインタである。
vtbl 41 HRESULT put_IncludeModules(SAFEARRAY* includemodules)
includemodulesSAFEARRAY*in対象に含めるモジュールの一覧を設定する。
vtbl 42 HRESULT get_IncludeApis(SAFEARRAY** includeapis)
includeapisSAFEARRAY**out現在の対象に含める API の一覧を受け取るポインタである。
vtbl 43 HRESULT put_IncludeApis(SAFEARRAY* includeapis)
includeapisSAFEARRAY*in対象に含める API の一覧を設定する。
vtbl 44 HRESULT get_ExcludeApis(SAFEARRAY** excludeapis)
excludeapisSAFEARRAY**out現在の対象から除外する API の一覧を受け取るポインタである。
vtbl 45 HRESULT put_ExcludeApis(SAFEARRAY* excludeapis)
excludeapisSAFEARRAY*in対象から除外する API の一覧を設定する。

HSP用 COM定義

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

出力引数:
#define global IID_IApiTracingDataCollector "{0383751A-098B-11D8-9414-505054503030}"
#usecom global IApiTracingDataCollector IID_IApiTracingDataCollector "{}"
#comfunc global IApiTracingDataCollector_get_LogApiNamesOnly     32 var
#comfunc global IApiTracingDataCollector_put_LogApiNamesOnly     33 int
#comfunc global IApiTracingDataCollector_get_LogApisRecursively  34 var
#comfunc global IApiTracingDataCollector_put_LogApisRecursively  35 int
#comfunc global IApiTracingDataCollector_get_ExePath             36 var
#comfunc global IApiTracingDataCollector_put_ExePath             37 wstr
#comfunc global IApiTracingDataCollector_get_LogFilePath         38 var
#comfunc global IApiTracingDataCollector_put_LogFilePath         39 wstr
#comfunc global IApiTracingDataCollector_get_IncludeModules      40 var
#comfunc global IApiTracingDataCollector_put_IncludeModules      41 var
#comfunc global IApiTracingDataCollector_get_IncludeApis         42 var
#comfunc global IApiTracingDataCollector_put_IncludeApis         43 var
#comfunc global IApiTracingDataCollector_get_ExcludeApis         44 var
#comfunc global IApiTracingDataCollector_put_ExcludeApis         45 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。