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

IDebugClient

COM
IID27fe5639-8407-4f47-8364-ee118fb08ac8継承元IUnknown自前メソッド開始 vtbl3

メソッド 45

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

vtbl 3 HRESULT AttachKernel(DWORD Flags, LPSTR ConnectOptions)
FlagsDWORDinカーネルへの接続方法を制御する DEBUG_ATTACH_* フラグを指定する。
ConnectOptionsLPSTRinoptionalカーネル接続のオプション文字列を指定する。ローカルカーネルの場合は NULL を指定する。
vtbl 4 HRESULT GetKernelConnectionOptions(LPSTR Buffer, DWORD BufferSize, DWORD* OptionsSize)
BufferLPSTRoutoptionalカーネル接続のオプション文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
OptionsSizeDWORD*outoptionalオプション文字列の格納に必要な文字数を受け取るポインタである。
vtbl 5 HRESULT SetKernelConnectionOptions(LPSTR Options)
OptionsLPSTRinカーネル接続のオプション文字列を指定する。
vtbl 6 HRESULT StartProcessServer(DWORD Flags, LPSTR Options, void* Reserved)
FlagsDWORDinプロセスサーバーが扱うデバッグ対象の種類を表すフラグを指定する。
OptionsLPSTRinプロセスサーバーの接続オプション文字列を指定する。
Reservedvoid*inoptional予約済み。NULL を指定する。
vtbl 7 HRESULT ConnectProcessServer(LPSTR RemoteOptions, ULONGLONG* Server)
RemoteOptionsLPSTRin接続先プロセスサーバーのオプション文字列を指定する。
ServerULONGLONG*out接続したプロセスサーバーを識別するハンドルを受け取るポインタである。
vtbl 8 HRESULT DisconnectProcessServer(ULONGLONG Server)
ServerULONGLONGin切断するプロセスサーバーのハンドルを指定する。
vtbl 9 HRESULT GetRunningProcessSystemIds(ULONGLONG Server, DWORD* Ids, DWORD Count, DWORD* ActualCount)
ServerULONGLONGin対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。
IdsDWORD*outoptional実行中プロセスのシステム ID を受け取る配列へのポインタである。
CountDWORDinIds 配列の容量 (要素数) を指定する。
ActualCountDWORD*outoptional実際に取得されたプロセス数を受け取るポインタである。
vtbl 10 HRESULT GetRunningProcessSystemIdByExecutableName(ULONGLONG Server, LPSTR ExeName, DWORD Flags, DWORD* Id)
ServerULONGLONGin対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。
ExeNameLPSTRin検索する実行可能ファイル名を指定する。
FlagsDWORDin検索方法を制御する DEBUG_GET_PROC_* フラグを指定する。
IdDWORD*out見つかったプロセスのシステム ID を受け取るポインタである。
vtbl 11 HRESULT GetRunningProcessDescription(ULONGLONG Server, DWORD SystemId, DWORD Flags, LPSTR ExeName, DWORD ExeNameSize, DWORD* ActualExeNameSize, LPSTR Description, DWORD DescriptionSize, DWORD* ActualDescriptionSize)
ServerULONGLONGin対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。
SystemIdDWORDin対象プロセスのシステム ID を指定する。
FlagsDWORDin取得する記述の内容を制御する DEBUG_PROC_DESC_* フラグを指定する。
ExeNameLPSTRoutoptionalプロセスの実行可能ファイル名を受け取るバッファへのポインタである。
ExeNameSizeDWORDinExeName バッファのサイズを文字数単位で指定する。
ActualExeNameSizeDWORD*outoptional実行可能ファイル名の格納に必要な文字数を受け取るポインタである。
DescriptionLPSTRoutoptionalプロセスの説明文字列を受け取るバッファへのポインタである。
DescriptionSizeDWORDinDescription バッファのサイズを文字数単位で指定する。
ActualDescriptionSizeDWORD*outoptional説明文字列の格納に必要な文字数を受け取るポインタである。
vtbl 12 HRESULT AttachProcess(ULONGLONG Server, DWORD ProcessId, DWORD AttachFlags)
ServerULONGLONGin対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。
ProcessIdDWORDinアタッチする対象プロセスのシステム ID を指定する。
AttachFlagsDWORDinアタッチ方法を制御する DEBUG_ATTACH_* フラグを指定する。
vtbl 13 HRESULT CreateProcessA(ULONGLONG Server, LPSTR CommandLine, DWORD CreateFlags)
ServerULONGLONGin対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。
CommandLineLPSTRin起動する実行可能ファイルのコマンドラインを指定する。
CreateFlagsDWORDinプロセス生成方法を制御する DEBUG_CREATE_PROCESS / DEBUG_PROCESS フラグを指定する。
vtbl 14 HRESULT CreateProcessAndAttach(ULONGLONG Server, LPSTR CommandLine, DWORD CreateFlags, DWORD ProcessId, DWORD AttachFlags)
ServerULONGLONGin対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。
CommandLineLPSTRinoptional起動する実行可能ファイルのコマンドラインを指定する。アタッチのみ行う場合は NULL を指定する。
CreateFlagsDWORDinプロセス生成方法を制御する DEBUG_CREATE_PROCESS / DEBUG_PROCESS フラグを指定する。
ProcessIdDWORDinアタッチする既存プロセスのシステム ID を指定する。新規生成のみなら 0 を指定する。
AttachFlagsDWORDinアタッチ方法を制御する DEBUG_ATTACH_* フラグを指定する。
vtbl 15 HRESULT GetProcessOptions(DWORD* Options)
OptionsDWORD*out現在のプロセスオプション (DEBUG_PROCESS_*) を受け取るポインタである。
vtbl 16 HRESULT AddProcessOptions(DWORD Options)
OptionsDWORDin追加するプロセスオプション (DEBUG_PROCESS_*) を指定する。
vtbl 17 HRESULT RemoveProcessOptions(DWORD Options)
OptionsDWORDin取り除くプロセスオプション (DEBUG_PROCESS_*) を指定する。
vtbl 18 HRESULT SetProcessOptions(DWORD Options)
OptionsDWORDin設定するプロセスオプション (DEBUG_PROCESS_*) を指定する。
vtbl 19 HRESULT OpenDumpFile(LPSTR DumpFile)
DumpFileLPSTRin開くダンプファイルのパスを指定する。
vtbl 20 HRESULT WriteDumpFile(LPSTR DumpFile, DWORD Qualifier)
DumpFileLPSTRin書き出すダンプファイルのパスを指定する。
QualifierDWORDin作成するダンプの種類を表す DEBUG_DUMP_* 値を指定する。
vtbl 21 HRESULT ConnectSession(DWORD Flags, DWORD HistoryLimit)
FlagsDWORDinセッション接続方法を制御する DEBUG_CONNECT_SESSION_* フラグを指定する。
HistoryLimitDWORDin接続時に表示する出力履歴の最大文字数を指定する。
vtbl 22 HRESULT StartServer(LPSTR Options)
OptionsLPSTRinデバッグサーバーの接続オプション文字列を指定する。
vtbl 23 HRESULT OutputServers(DWORD OutputControl, LPSTR Machine, DWORD Flags)
OutputControlDWORDin出力先を制御する DEBUG_OUTCTL_* 値を指定する。
MachineLPSTRinサーバー一覧を取得する対象マシン名を指定する。
FlagsDWORDin出力内容を制御する DEBUG_SERVERS_* フラグを指定する。
vtbl 24 HRESULT TerminateProcesses()
vtbl 25 HRESULT DetachProcesses()
vtbl 26 HRESULT EndSession(DWORD Flags)
FlagsDWORDinセッション終了方法を制御する DEBUG_END_* フラグを指定する。
vtbl 27 HRESULT GetExitCode(DWORD* Code)
CodeDWORD*outデバッグ対象プロセスの終了コードを受け取るポインタである。
vtbl 28 HRESULT DispatchCallbacks(DWORD Timeout)
TimeoutDWORDinコールバック処理を待機する最大時間をミリ秒単位で指定する。INFINITE を指定すると無期限に待機する。
vtbl 29 HRESULT ExitDispatch(IDebugClient* Client)
ClientIDebugClient*inDispatchCallbacks を終了させる対象クライアントの IDebugClient を指定する。
vtbl 30 HRESULT CreateClient(IDebugClient** Client)
ClientIDebugClient**out新しく生成された IDebugClient インターフェイスを受け取るポインタである。
vtbl 31 HRESULT GetInputCallbacks(IDebugInputCallbacks** Callbacks)
CallbacksIDebugInputCallbacks**out現在設定されている入力コールバック (IDebugInputCallbacks) を受け取るポインタである。
vtbl 32 HRESULT SetInputCallbacks(IDebugInputCallbacks* Callbacks)
CallbacksIDebugInputCallbacks*inoptional設定する入力コールバック (IDebugInputCallbacks) を指定する。解除する場合は NULL を指定する。
vtbl 33 HRESULT GetOutputCallbacks(IDebugOutputCallbacks** Callbacks)
CallbacksIDebugOutputCallbacks**out現在設定されている出力コールバック (IDebugOutputCallbacks) を受け取るポインタである。
vtbl 34 HRESULT SetOutputCallbacks(IDebugOutputCallbacks* Callbacks)
CallbacksIDebugOutputCallbacks*inoptional設定する出力コールバック (IDebugOutputCallbacks) を指定する。解除する場合は NULL を指定する。
vtbl 35 HRESULT GetOutputMask(DWORD* Mask)
MaskDWORD*out現在の出力マスク (DEBUG_OUTPUT_*) を受け取るポインタである。
vtbl 36 HRESULT SetOutputMask(DWORD Mask)
MaskDWORDin設定する出力マスク (DEBUG_OUTPUT_*) を指定する。
vtbl 37 HRESULT GetOtherOutputMask(IDebugClient* Client, DWORD* Mask)
ClientIDebugClient*in出力マスクを取得する対象クライアントの IDebugClient を指定する。
MaskDWORD*out対象クライアントの出力マスク (DEBUG_OUTPUT_*) を受け取るポインタである。
vtbl 38 HRESULT SetOtherOutputMask(IDebugClient* Client, DWORD Mask)
ClientIDebugClient*in出力マスクを設定する対象クライアントの IDebugClient を指定する。
MaskDWORDin設定する出力マスク (DEBUG_OUTPUT_*) を指定する。
vtbl 39 HRESULT GetOutputWidth(DWORD* Columns)
ColumnsDWORD*out出力の折り返し幅 (桁数) を受け取るポインタである。
vtbl 40 HRESULT SetOutputWidth(DWORD Columns)
ColumnsDWORDin出力の折り返し幅 (桁数) を指定する。
vtbl 41 HRESULT GetOutputLinePrefix(LPSTR Buffer, DWORD BufferSize, DWORD* PrefixSize)
BufferLPSTRoutoptional出力行の接頭辞文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
PrefixSizeDWORD*outoptional接頭辞文字列の格納に必要な文字数を受け取るポインタである。
vtbl 42 HRESULT SetOutputLinePrefix(LPSTR Prefix)
PrefixLPSTRinoptional出力行に付加する接頭辞文字列を指定する。解除する場合は NULL を指定する。
vtbl 43 HRESULT GetIdentity(LPSTR Buffer, DWORD BufferSize, DWORD* IdentitySize)
BufferLPSTRoutoptionalクライアントの識別文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
IdentitySizeDWORD*outoptional識別文字列の格納に必要な文字数を受け取るポインタである。
vtbl 44 HRESULT OutputIdentity(DWORD OutputControl, DWORD Flags, LPSTR Format)
OutputControlDWORDin出力先を制御する DEBUG_OUTCTL_* 値を指定する。
FlagsDWORDin出力内容を制御するフラグを指定する。通常は 0 を指定する。
FormatLPSTRin識別文字列を埋め込む書式文字列を指定する。
vtbl 45 HRESULT GetEventCallbacks(IDebugEventCallbacks** Callbacks)
CallbacksIDebugEventCallbacks**out現在設定されているイベントコールバック (IDebugEventCallbacks) を受け取るポインタである。
vtbl 46 HRESULT SetEventCallbacks(IDebugEventCallbacks* Callbacks)
CallbacksIDebugEventCallbacks*inoptional設定するイベントコールバック (IDebugEventCallbacks) を指定する。解除する場合は NULL を指定する。
vtbl 47 HRESULT FlushCallbacks()

HSP用 COM定義

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

出力引数:
#define global IID_IDebugClient "{27FE5639-8407-4F47-8364-EE118FB08AC8}"
#usecom global IDebugClient IID_IDebugClient "{}"
#comfunc global IDebugClient_AttachKernel                               3 int,str
#comfunc global IDebugClient_GetKernelConnectionOptions                 4 var,int,var
#comfunc global IDebugClient_SetKernelConnectionOptions                 5 str
#comfunc global IDebugClient_StartProcessServer                         6 int,str,sptr
#comfunc global IDebugClient_ConnectProcessServer                       7 str,var
#comfunc global IDebugClient_DisconnectProcessServer                    8 int64
#comfunc global IDebugClient_GetRunningProcessSystemIds                 9 int64,var,int,var
#comfunc global IDebugClient_GetRunningProcessSystemIdByExecutableName  10 int64,str,int,var
#comfunc global IDebugClient_GetRunningProcessDescription               11 int64,int,int,var,int,var,var,int,var
#comfunc global IDebugClient_AttachProcess                              12 int64,int,int
#comfunc global IDebugClient_CreateProcessA                             13 int64,str,int
#comfunc global IDebugClient_CreateProcessAndAttach                     14 int64,str,int,int,int
#comfunc global IDebugClient_GetProcessOptions                          15 var
#comfunc global IDebugClient_AddProcessOptions                          16 int
#comfunc global IDebugClient_RemoveProcessOptions                       17 int
#comfunc global IDebugClient_SetProcessOptions                          18 int
#comfunc global IDebugClient_OpenDumpFile                               19 str
#comfunc global IDebugClient_WriteDumpFile                              20 str,int
#comfunc global IDebugClient_ConnectSession                             21 int,int
#comfunc global IDebugClient_StartServer                                22 str
#comfunc global IDebugClient_OutputServers                              23 int,str,int
#comfunc global IDebugClient_TerminateProcesses                         24
#comfunc global IDebugClient_DetachProcesses                            25
#comfunc global IDebugClient_EndSession                                 26 int
#comfunc global IDebugClient_GetExitCode                                27 var
#comfunc global IDebugClient_DispatchCallbacks                          28 int
#comfunc global IDebugClient_ExitDispatch                               29 sptr
#comfunc global IDebugClient_CreateClient                               30 sptr
#comfunc global IDebugClient_GetInputCallbacks                          31 sptr
#comfunc global IDebugClient_SetInputCallbacks                          32 sptr
#comfunc global IDebugClient_GetOutputCallbacks                         33 sptr
#comfunc global IDebugClient_SetOutputCallbacks                         34 sptr
#comfunc global IDebugClient_GetOutputMask                              35 var
#comfunc global IDebugClient_SetOutputMask                              36 int
#comfunc global IDebugClient_GetOtherOutputMask                         37 sptr,var
#comfunc global IDebugClient_SetOtherOutputMask                         38 sptr,int
#comfunc global IDebugClient_GetOutputWidth                             39 var
#comfunc global IDebugClient_SetOutputWidth                             40 int
#comfunc global IDebugClient_GetOutputLinePrefix                        41 var,int,var
#comfunc global IDebugClient_SetOutputLinePrefix                        42 str
#comfunc global IDebugClient_GetIdentity                                43 var,int,var
#comfunc global IDebugClient_OutputIdentity                             44 int,int,str
#comfunc global IDebugClient_GetEventCallbacks                          45 sptr
#comfunc global IDebugClient_SetEventCallbacks                          46 sptr
#comfunc global IDebugClient_FlushCallbacks                             47
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。