Win32 API 日本語リファレンス
ホームSystem.Diagnostics.Debug.Extensions › IDebugFailureAnalysis

IDebugFailureAnalysis

COM
IIDed0de363-451f-4943-820c-62dccdfa7e6d継承元IUnknown自前メソッド開始 vtbl3

メソッド 10

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

vtbl 3 DWORD GetFailureClass()
vtbl 4 DEBUG_FAILURE_TYPE GetFailureType()
vtbl 5 DWORD GetFailureCode()
vtbl 6 FA_ENTRY* Get(DEBUG_FLR_PARAM_TYPE Tag)
TagDEBUG_FLR_PARAM_TYPEin取得する障害分析エントリを識別するタグ(DEBUG_FLR_PARAM_TYPE)を指定する。
vtbl 7 FA_ENTRY* GetNext(FA_ENTRY* Entry, DEBUG_FLR_PARAM_TYPE Tag, DEBUG_FLR_PARAM_TYPE TagMask)
EntryFA_ENTRY*inout列挙の起点となる現在のエントリ(FA_ENTRY)を指定する。先頭から列挙する場合は NULL を渡す。
TagDEBUG_FLR_PARAM_TYPEin列挙対象を絞り込むタグ(DEBUG_FLR_PARAM_TYPE)を指定する。
TagMaskDEBUG_FLR_PARAM_TYPEinタグの比較に適用するマスク(DEBUG_FLR_PARAM_TYPE)を指定する。
vtbl 8 FA_ENTRY* GetString(DEBUG_FLR_PARAM_TYPE Tag, LPSTR Str, DWORD MaxSize)
TagDEBUG_FLR_PARAM_TYPEin値を取得する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。
StrLPSTRoutタグの文字列値を受け取るバッファである。
MaxSizeDWORDinStr バッファの最大サイズ(バイト数)を指定する。
vtbl 9 FA_ENTRY* GetBuffer(DEBUG_FLR_PARAM_TYPE Tag, void* Buf, DWORD Size)
TagDEBUG_FLR_PARAM_TYPEin値を取得する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。
Bufvoid*outタグのバイナリデータを受け取るバッファへのポインタである。
SizeDWORDinBuf バッファのサイズ(バイト数)を指定する。
vtbl 10 FA_ENTRY* GetUlong(DEBUG_FLR_PARAM_TYPE Tag, DWORD* Value)
TagDEBUG_FLR_PARAM_TYPEin値を取得する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。
ValueDWORD*outタグの 32 ビット符号なし整数値を受け取る。
vtbl 11 FA_ENTRY* GetUlong64(DEBUG_FLR_PARAM_TYPE Tag, ULONGLONG* Value)
TagDEBUG_FLR_PARAM_TYPEin値を取得する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。
ValueULONGLONG*outタグの 64 ビット符号なし整数値を受け取る。
vtbl 12 FA_ENTRY* NextEntry(FA_ENTRY* Entry)
EntryFA_ENTRY*inoptional列挙の起点となる現在のエントリ(FA_ENTRY)を指定する。先頭から列挙する場合は NULL を渡す。

HSP用 COM定義

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

出力引数:
#define global IID_IDebugFailureAnalysis "{ED0DE363-451F-4943-820C-62DCCDFA7E6D}"
#usecom global IDebugFailureAnalysis IID_IDebugFailureAnalysis "{}"
#comfunc global IDebugFailureAnalysis_GetFailureClass  3
#comfunc global IDebugFailureAnalysis_GetFailureType   4
#comfunc global IDebugFailureAnalysis_GetFailureCode   5
#comfunc global IDebugFailureAnalysis_Get              6 int
#comfunc global IDebugFailureAnalysis_GetNext          7 var,int,int
#comfunc global IDebugFailureAnalysis_GetString        8 int,var,int
#comfunc global IDebugFailureAnalysis_GetBuffer        9 int,sptr,int
#comfunc global IDebugFailureAnalysis_GetUlong         10 int,var
#comfunc global IDebugFailureAnalysis_GetUlong64       11 int,var
#comfunc global IDebugFailureAnalysis_NextEntry        12 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。