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

IDebugBreakpoint

COM
IID5bd9d474-5975-423a-b88b-65a8e7110e65継承元IUnknown自前メソッド開始 vtbl3

メソッド 21

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 構造体へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IDebugBreakpoint "{5BD9D474-5975-423A-B88B-65A8E7110E65}"
#usecom global IDebugBreakpoint IID_IDebugBreakpoint "{}"
#comfunc global IDebugBreakpoint_GetId                3 var
#comfunc global IDebugBreakpoint_GetType              4 var,var
#comfunc global IDebugBreakpoint_GetAdder             5 sptr
#comfunc global IDebugBreakpoint_GetFlags             6 var
#comfunc global IDebugBreakpoint_AddFlags             7 int
#comfunc global IDebugBreakpoint_RemoveFlags          8 int
#comfunc global IDebugBreakpoint_SetFlags             9 int
#comfunc global IDebugBreakpoint_GetOffset            10 var
#comfunc global IDebugBreakpoint_SetOffset            11 int64
#comfunc global IDebugBreakpoint_GetDataParameters    12 var,var
#comfunc global IDebugBreakpoint_SetDataParameters    13 int,int
#comfunc global IDebugBreakpoint_GetPassCount         14 var
#comfunc global IDebugBreakpoint_SetPassCount         15 int
#comfunc global IDebugBreakpoint_GetCurrentPassCount  16 var
#comfunc global IDebugBreakpoint_GetMatchThreadId     17 var
#comfunc global IDebugBreakpoint_SetMatchThreadId     18 int
#comfunc global IDebugBreakpoint_GetCommand           19 var,int,var
#comfunc global IDebugBreakpoint_SetCommand           20 str
#comfunc global IDebugBreakpoint_GetOffsetExpression  21 var,int,var
#comfunc global IDebugBreakpoint_SetOffsetExpression  22 str
#comfunc global IDebugBreakpoint_GetParameters        23 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。