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

IDebugBreakpoint3

COM
IID38f5c249-b448-43bb-9835-579d4ec02249継承元IUnknown自前メソッド開始 vtbl3

メソッド 26

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

vtbl 3 HRESULT GetId(DWORD* Id)
IdDWORD*outブレークポイントの ID を受け取るポインタである。
vtbl 4 HRESULT GetType(DWORD* BreakType, DWORD* ProcType)
BreakTypeDWORD*outブレークポイントの種類 (コードまたはデータ) を受け取るポインタである。
ProcTypeDWORD*outブレークポイントが対象とするプロセッサの種類を受け取るポインタである。
vtbl 5 HRESULT GetAdder(IDebugClient** Adder)
AdderIDebugClient**outこのブレークポイントを追加したクライアントを表す IDebugClient を受け取るポインタである。
vtbl 6 HRESULT GetFlags(DWORD* Flags)
FlagsDWORD*outブレークポイントのフラグ (DEBUG_BREAKPOINT_*) を受け取るポインタである。
vtbl 7 HRESULT AddFlags(DWORD Flags)
FlagsDWORDin追加するブレークポイントのフラグ (DEBUG_BREAKPOINT_*) を指定する。
vtbl 8 HRESULT RemoveFlags(DWORD Flags)
FlagsDWORDin取り除くブレークポイントのフラグ (DEBUG_BREAKPOINT_*) を指定する。
vtbl 9 HRESULT SetFlags(DWORD Flags)
FlagsDWORDin設定するブレークポイントのフラグ (DEBUG_BREAKPOINT_*) を指定する。
vtbl 10 HRESULT GetOffset(ULONGLONG* Offset)
OffsetULONGLONG*outブレークポイントが設定されているアドレスを受け取るポインタである。
vtbl 11 HRESULT SetOffset(ULONGLONG Offset)
OffsetULONGLONGinブレークポイントを設定するアドレスを指定する。
vtbl 12 HRESULT GetDataParameters(DWORD* Size, DWORD* AccessType)
SizeDWORD*outデータブレークポイントが監視するバイト数を受け取るポインタである。
AccessTypeDWORD*outデータブレークポイントが監視するアクセス種別を受け取るポインタである。
vtbl 13 HRESULT SetDataParameters(DWORD Size, DWORD AccessType)
SizeDWORDinデータブレークポイントが監視するバイト数を指定する。
AccessTypeDWORDinデータブレークポイントが監視するアクセス種別を指定する。
vtbl 14 HRESULT GetPassCount(DWORD* Count)
CountDWORD*outブレークポイントのパスカウント (発火までに必要な通過回数) を受け取るポインタである。
vtbl 15 HRESULT SetPassCount(DWORD Count)
CountDWORDinブレークポイントのパスカウント (発火までに必要な通過回数) を指定する。
vtbl 16 HRESULT GetCurrentPassCount(DWORD* Count)
CountDWORD*out残りのパスカウントを受け取るポインタである。
vtbl 17 HRESULT GetMatchThreadId(DWORD* Id)
IdDWORD*outブレークポイントが対象とするスレッドの ID を受け取るポインタである。
vtbl 18 HRESULT SetMatchThreadId(DWORD Thread)
ThreadDWORDinブレークポイントを発火させる対象スレッドの ID を指定する。
vtbl 19 HRESULT GetCommand(LPSTR Buffer, DWORD BufferSize, DWORD* CommandSize)
BufferLPSTRoutoptionalブレークポイント発火時に実行するコマンド文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
CommandSizeDWORD*outoptionalコマンド文字列の格納に必要な文字数を受け取るポインタである。
vtbl 20 HRESULT SetCommand(LPSTR Command)
CommandLPSTRinブレークポイント発火時に実行するコマンド文字列を指定する。
vtbl 21 HRESULT GetOffsetExpression(LPSTR Buffer, DWORD BufferSize, DWORD* ExpressionSize)
BufferLPSTRoutoptionalブレークポイント位置を表す式の文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
ExpressionSizeDWORD*outoptional式文字列の格納に必要な文字数を受け取るポインタである。
vtbl 22 HRESULT SetOffsetExpression(LPSTR Expression)
ExpressionLPSTRinブレークポイント位置を表す式の文字列を指定する。
vtbl 23 HRESULT GetParameters(DEBUG_BREAKPOINT_PARAMETERS* Params)
ParamsDEBUG_BREAKPOINT_PARAMETERS*outブレークポイントの各種パラメータを受け取る DEBUG_BREAKPOINT_PARAMETERS 構造体へのポインタである。
vtbl 24 HRESULT GetCommandWide(LPWSTR Buffer, DWORD BufferSize, DWORD* CommandSize)
BufferLPWSTRoutoptionalブレークポイント発火時に実行するコマンド文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
CommandSizeDWORD*outoptionalコマンド文字列の格納に必要な文字数を受け取るポインタである。
vtbl 25 HRESULT SetCommandWide(LPWSTR Command)
CommandLPWSTRinブレークポイント発火時に実行するコマンド文字列を指定する。
vtbl 26 HRESULT GetOffsetExpressionWide(LPWSTR Buffer, DWORD BufferSize, DWORD* ExpressionSize)
BufferLPWSTRoutoptionalブレークポイント位置を表す式の文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
ExpressionSizeDWORD*outoptional式文字列の格納に必要な文字数を受け取るポインタである。
vtbl 27 HRESULT SetOffsetExpressionWide(LPWSTR Expression)
ExpressionLPWSTRinブレークポイント位置を表す式の文字列を指定する。
vtbl 28 HRESULT GetGuid(GUID* Guid)
GuidGUID*outブレークポイントを一意に識別する GUID を受け取るポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IDebugBreakpoint3 "{38F5C249-B448-43BB-9835-579D4EC02249}"
#usecom global IDebugBreakpoint3 IID_IDebugBreakpoint3 "{}"
#comfunc global IDebugBreakpoint3_GetId                    3 var
#comfunc global IDebugBreakpoint3_GetType                  4 var,var
#comfunc global IDebugBreakpoint3_GetAdder                 5 sptr
#comfunc global IDebugBreakpoint3_GetFlags                 6 var
#comfunc global IDebugBreakpoint3_AddFlags                 7 int
#comfunc global IDebugBreakpoint3_RemoveFlags              8 int
#comfunc global IDebugBreakpoint3_SetFlags                 9 int
#comfunc global IDebugBreakpoint3_GetOffset                10 var
#comfunc global IDebugBreakpoint3_SetOffset                11 int64
#comfunc global IDebugBreakpoint3_GetDataParameters        12 var,var
#comfunc global IDebugBreakpoint3_SetDataParameters        13 int,int
#comfunc global IDebugBreakpoint3_GetPassCount             14 var
#comfunc global IDebugBreakpoint3_SetPassCount             15 int
#comfunc global IDebugBreakpoint3_GetCurrentPassCount      16 var
#comfunc global IDebugBreakpoint3_GetMatchThreadId         17 var
#comfunc global IDebugBreakpoint3_SetMatchThreadId         18 int
#comfunc global IDebugBreakpoint3_GetCommand               19 var,int,var
#comfunc global IDebugBreakpoint3_SetCommand               20 str
#comfunc global IDebugBreakpoint3_GetOffsetExpression      21 var,int,var
#comfunc global IDebugBreakpoint3_SetOffsetExpression      22 str
#comfunc global IDebugBreakpoint3_GetParameters            23 var
#comfunc global IDebugBreakpoint3_GetCommandWide           24 var,int,var
#comfunc global IDebugBreakpoint3_SetCommandWide           25 wstr
#comfunc global IDebugBreakpoint3_GetOffsetExpressionWide  26 var,int,var
#comfunc global IDebugBreakpoint3_SetOffsetExpressionWide  27 wstr
#comfunc global IDebugBreakpoint3_GetGuid                  28 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。