ホーム › System.Diagnostics.Debug.Extensions › IDebugFAEntryTags
IDebugFAEntryTags
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 0 FA_ENTRY_TYPE GetType(DEBUG_FLR_PARAM_TYPE Tag)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 種別を取得する対象の障害分析エントリのタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
vtbl 1 HRESULT SetType(DEBUG_FLR_PARAM_TYPE Tag, FA_ENTRY_TYPE EntryType)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 種別を設定する対象の障害分析エントリのタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| EntryType | FA_ENTRY_TYPE | in | タグに設定するエントリのデータ型(FA_ENTRY_TYPE)を指定する。 |
vtbl 2 HRESULT GetProperties(DEBUG_FLR_PARAM_TYPE Tag, LPSTR Name, DWORD* NameSize, LPSTR Description, DWORD* DescSize, DWORD* Flags)
| Tag | DEBUG_FLR_PARAM_TYPE | in | プロパティを取得する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Name | LPSTR | outoptional | タグ名を受け取るバッファである。サイズ取得のみ行う場合は NULL を渡せる。 |
| NameSize | DWORD* | inoutoptional | Name バッファのサイズを渡し、必要なサイズまたは書き込まれたサイズを受け取る。 |
| Description | LPSTR | outoptional | タグの説明文字列を受け取るバッファである。不要な場合は NULL を渡せる。 |
| DescSize | DWORD* | inoutoptional | Description バッファのサイズを渡し、必要なサイズまたは書き込まれたサイズを受け取る。 |
| Flags | DWORD* | outoptional | タグに付随するフラグを受け取る。 |
vtbl 3 HRESULT SetProperties(DEBUG_FLR_PARAM_TYPE Tag, LPSTR Name, LPSTR Description, DWORD Flags)
| Tag | DEBUG_FLR_PARAM_TYPE | in | プロパティを設定する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
| Name | LPSTR | inoptional | タグに設定する名前を指定する。変更しない場合は NULL を渡せる。 |
| Description | LPSTR | inoptional | タグに設定する説明文字列を指定する。変更しない場合は NULL を渡せる。 |
| Flags | DWORD | inoptional | タグに設定するフラグを指定する。 |
vtbl 4 HRESULT GetTagByName(LPSTR PluginId, LPSTR TagName, DEBUG_FLR_PARAM_TYPE* Tag)
| PluginId | LPSTR | inoptional | タグを検索する範囲を限定するプラグイン識別子文字列を指定する。 |
| TagName | LPSTR | in | 検索対象とするタグ名を指定する。 |
| Tag | DEBUG_FLR_PARAM_TYPE* | out | 見つかったタグの値(DEBUG_FLR_PARAM_TYPE)を受け取る。 |
vtbl 5 BOOL IsValidTagToSet(DEBUG_FLR_PARAM_TYPE Tag)
| Tag | DEBUG_FLR_PARAM_TYPE | in | 設定可能かどうかを検査する対象のタグ(DEBUG_FLR_PARAM_TYPE)を指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDebugFAEntryTags "{}" #usecom global IDebugFAEntryTags IID_IDebugFAEntryTags "{}" #comfunc global IDebugFAEntryTags_GetType 0 int #comfunc global IDebugFAEntryTags_SetType 1 int,int #comfunc global IDebugFAEntryTags_GetProperties 2 int,var,var,var,var,var #comfunc global IDebugFAEntryTags_SetProperties 3 int,str,str,int #comfunc global IDebugFAEntryTags_GetTagByName 4 str,str,var #comfunc global IDebugFAEntryTags_IsValidTagToSet 5 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IDebugFAEntryTags "{}" #usecom global IDebugFAEntryTags IID_IDebugFAEntryTags "{}" #comfunc global IDebugFAEntryTags_GetType 0 int #comfunc global IDebugFAEntryTags_SetType 1 int,int #comfunc global IDebugFAEntryTags_GetProperties 2 int,sptr,sptr,sptr,sptr,sptr #comfunc global IDebugFAEntryTags_SetProperties 3 int,str,str,int #comfunc global IDebugFAEntryTags_GetTagByName 4 str,str,sptr #comfunc global IDebugFAEntryTags_IsValidTagToSet 5 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。