ホーム › System.Diagnostics.Debug.Extensions › IDebugFailureAnalysis2
IDebugFailureAnalysis2
COMメソッド 23
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)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 取得する障害分析エントリを識別するタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
vtbl 7 FA_ENTRY* GetNext(FA_ENTRY* Entry, DEBUG_FLR_PARAM_TYPE Tag, DEBUG_FLR_PARAM_TYPE TagMask)
| Entry | FA_ENTRY* | in | 列挙の起点となる現在のエントリ(FA_ENTRY)を指定する。先頭から列挙する場合は NULL を渡す。 |
| Tag | DEBUG_FLR_PARAM_TYPE | in | 列挙対象を絞り込むタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| TagMask | DEBUG_FLR_PARAM_TYPE | in | タグの比較に適用するマスク(DEBUG_FLR_PARAM_TYPE)を指定する。 |
vtbl 8 FA_ENTRY* GetString(DEBUG_FLR_PARAM_TYPE Tag, LPSTR Str, DWORD MaxSize)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 値を取得する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Str | LPSTR | out | タグの文字列値を受け取るバッファである。 |
| MaxSize | DWORD | in | Str バッファの最大サイズ(バイト数)を指定する。 |
vtbl 9 FA_ENTRY* GetBuffer(DEBUG_FLR_PARAM_TYPE Tag, void* Buf, DWORD Size)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 値を取得する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Buf | void* | out | タグのバイナリデータを受け取るバッファへのポインタである。 |
| Size | DWORD | in | Buf バッファのサイズ(バイト数)を指定する。 |
vtbl 10 FA_ENTRY* GetUlong(DEBUG_FLR_PARAM_TYPE Tag, DWORD* Value)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 値を取得する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Value | DWORD* | out | タグの 32 ビット符号なし整数値を受け取る。 |
vtbl 11 FA_ENTRY* GetUlong64(DEBUG_FLR_PARAM_TYPE Tag, ULONGLONG* Value)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 値を取得する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Value | ULONGLONG* | out | タグの 64 ビット符号なし整数値を受け取る。 |
| Entry | FA_ENTRY* | inoptional | 列挙の起点となる現在のエントリ(FA_ENTRY)を指定する。先頭から列挙する場合は NULL を渡す。 |
vtbl 13 FA_ENTRY* SetString(DEBUG_FLR_PARAM_TYPE Tag, LPSTR Str)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 値を設定する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Str | LPSTR | in | タグに設定する文字列値を指定する。 |
vtbl 14 FA_ENTRY* SetExtensionCommand(DEBUG_FLR_PARAM_TYPE Tag, LPSTR Extension)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 拡張コマンドを設定する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Extension | LPSTR | in | タグに関連付けるデバッガ拡張コマンド文字列を指定する。 |
vtbl 15 FA_ENTRY* SetUlong(DEBUG_FLR_PARAM_TYPE Tag, DWORD Value)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 値を設定する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Value | DWORD | in | タグに設定する 32 ビット符号なし整数値を指定する。 |
vtbl 16 FA_ENTRY* SetUlong64(DEBUG_FLR_PARAM_TYPE Tag, ULONGLONG Value)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 値を設定する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Value | ULONGLONG | in | タグに設定する 64 ビット符号なし整数値を指定する。 |
vtbl 17 FA_ENTRY* SetBuffer(DEBUG_FLR_PARAM_TYPE Tag, FA_ENTRY_TYPE EntryType, void* Buf, DWORD Size)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 値を設定する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| EntryType | FA_ENTRY_TYPE | in | 設定するエントリのデータ型(FA_ENTRY_TYPE)を指定する。 |
| Buf | void* | in | タグに設定するバイナリデータへのポインタである。 |
| Size | DWORD | in | Buf データのサイズ(バイト数)を指定する。 |
vtbl 18 FA_ENTRY* AddString(DEBUG_FLR_PARAM_TYPE Tag, LPSTR Str)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 文字列を追加する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Str | LPSTR | in | タグに追加する文字列値を指定する。 |
vtbl 19 FA_ENTRY* AddExtensionCommand(DEBUG_FLR_PARAM_TYPE Tag, LPSTR Extension)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 拡張コマンドを追加する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Extension | LPSTR | in | タグに追加するデバッガ拡張コマンド文字列を指定する。 |
vtbl 20 FA_ENTRY* AddUlong(DEBUG_FLR_PARAM_TYPE Tag, DWORD Value)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 値を追加する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Value | DWORD | in | タグに追加する 32 ビット符号なし整数値を指定する。 |
vtbl 21 FA_ENTRY* AddUlong64(DEBUG_FLR_PARAM_TYPE Tag, ULONGLONG Value)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 値を追加する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Value | ULONGLONG | in | タグに追加する 64 ビット符号なし整数値を指定する。 |
vtbl 22 FA_ENTRY* AddBuffer(DEBUG_FLR_PARAM_TYPE Tag, FA_ENTRY_TYPE EntryType, void* Buf, DWORD Size)
| Tag | DEBUG_FLR_PARAM_TYPE | in | データを追加する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| EntryType | FA_ENTRY_TYPE | in | 追加するエントリのデータ型(FA_ENTRY_TYPE)を指定する。 |
| Buf | void* | in | タグに追加するバイナリデータへのポインタである。 |
| Size | DWORD | in | Buf データのサイズ(バイト数)を指定する。 |
vtbl 23 HRESULT GetDebugFATagControl(IDebugFAEntryTags** FATagControl)
| FATagControl | IDebugFAEntryTags** | out | 障害分析エントリのタグを操作する IDebugFAEntryTags インターフェイスを受け取る。 |
vtbl 24 HRESULT GetAnalysisXml(IXMLDOMElement** ppXMLDOMElement)
| ppXMLDOMElement | IXMLDOMElement** | out | 障害分析結果を表す XML DOM 要素 IXMLDOMElement を受け取る。 |
vtbl 25 HRESULT AddStructuredAnalysisData(DEBUG_FLR_PARAM_TYPE Tag, IDebugFailureAnalysis2* Analysis)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 構造化分析データを追加する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Analysis | IDebugFailureAnalysis2* | in | 入れ子として追加する構造化された障害分析 IDebugFailureAnalysis2 を指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDebugFailureAnalysis2 "{EA15C288-8226-4B70-ACF6-0BE6B189E3AD}" #usecom global IDebugFailureAnalysis2 IID_IDebugFailureAnalysis2 "{}" #comfunc global IDebugFailureAnalysis2_GetFailureClass 3 #comfunc global IDebugFailureAnalysis2_GetFailureType 4 #comfunc global IDebugFailureAnalysis2_GetFailureCode 5 #comfunc global IDebugFailureAnalysis2_Get 6 int #comfunc global IDebugFailureAnalysis2_GetNext 7 var,int,int #comfunc global IDebugFailureAnalysis2_GetString 8 int,var,int #comfunc global IDebugFailureAnalysis2_GetBuffer 9 int,sptr,int #comfunc global IDebugFailureAnalysis2_GetUlong 10 int,var #comfunc global IDebugFailureAnalysis2_GetUlong64 11 int,var #comfunc global IDebugFailureAnalysis2_NextEntry 12 var #comfunc global IDebugFailureAnalysis2_SetString 13 int,str #comfunc global IDebugFailureAnalysis2_SetExtensionCommand 14 int,str #comfunc global IDebugFailureAnalysis2_SetUlong 15 int,int #comfunc global IDebugFailureAnalysis2_SetUlong64 16 int,int64 #comfunc global IDebugFailureAnalysis2_SetBuffer 17 int,int,sptr,int #comfunc global IDebugFailureAnalysis2_AddString 18 int,str #comfunc global IDebugFailureAnalysis2_AddExtensionCommand 19 int,str #comfunc global IDebugFailureAnalysis2_AddUlong 20 int,int #comfunc global IDebugFailureAnalysis2_AddUlong64 21 int,int64 #comfunc global IDebugFailureAnalysis2_AddBuffer 22 int,int,sptr,int #comfunc global IDebugFailureAnalysis2_GetDebugFATagControl 23 sptr #comfunc global IDebugFailureAnalysis2_GetAnalysisXml 24 sptr #comfunc global IDebugFailureAnalysis2_AddStructuredAnalysisData 25 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDebugFailureAnalysis2 "{EA15C288-8226-4B70-ACF6-0BE6B189E3AD}" #usecom global IDebugFailureAnalysis2 IID_IDebugFailureAnalysis2 "{}" #comfunc global IDebugFailureAnalysis2_GetFailureClass 3 #comfunc global IDebugFailureAnalysis2_GetFailureType 4 #comfunc global IDebugFailureAnalysis2_GetFailureCode 5 #comfunc global IDebugFailureAnalysis2_Get 6 int #comfunc global IDebugFailureAnalysis2_GetNext 7 sptr,int,int #comfunc global IDebugFailureAnalysis2_GetString 8 int,sptr,int #comfunc global IDebugFailureAnalysis2_GetBuffer 9 int,sptr,int #comfunc global IDebugFailureAnalysis2_GetUlong 10 int,sptr #comfunc global IDebugFailureAnalysis2_GetUlong64 11 int,sptr #comfunc global IDebugFailureAnalysis2_NextEntry 12 sptr #comfunc global IDebugFailureAnalysis2_SetString 13 int,str #comfunc global IDebugFailureAnalysis2_SetExtensionCommand 14 int,str #comfunc global IDebugFailureAnalysis2_SetUlong 15 int,int #comfunc global IDebugFailureAnalysis2_SetUlong64 16 int,int64 #comfunc global IDebugFailureAnalysis2_SetBuffer 17 int,int,sptr,int #comfunc global IDebugFailureAnalysis2_AddString 18 int,str #comfunc global IDebugFailureAnalysis2_AddExtensionCommand 19 int,str #comfunc global IDebugFailureAnalysis2_AddUlong 20 int,int #comfunc global IDebugFailureAnalysis2_AddUlong64 21 int,int64 #comfunc global IDebugFailureAnalysis2_AddBuffer 22 int,int,sptr,int #comfunc global IDebugFailureAnalysis2_GetDebugFATagControl 23 sptr #comfunc global IDebugFailureAnalysis2_GetAnalysisXml 24 sptr #comfunc global IDebugFailureAnalysis2_AddStructuredAnalysisData 25 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。