ホーム › System.Diagnostics.Debug.Extensions › IDebugClient9
IDebugClient9
COMメソッド 97
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| Flags | DWORD | in | カーネルへの接続方法を制御する DEBUG_ATTACH_* フラグを指定する。 |
| ConnectOptions | LPSTR | inoptional | カーネル接続のオプション文字列を指定する。ローカルカーネルの場合は NULL を指定する。 |
| Buffer | LPSTR | outoptional | カーネル接続のオプション文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| OptionsSize | DWORD* | outoptional | オプション文字列の格納に必要な文字数を受け取るポインタである。 |
| Options | LPSTR | in | カーネル接続のオプション文字列を指定する。 |
| Flags | DWORD | in | プロセスサーバーが扱うデバッグ対象の種類を表すフラグを指定する。 |
| Options | LPSTR | in | プロセスサーバーの接続オプション文字列を指定する。 |
| Reserved | void* | inoptional | 予約済み。NULL を指定する。 |
| RemoteOptions | LPSTR | in | 接続先プロセスサーバーのオプション文字列を指定する。 |
| Server | ULONGLONG* | out | 接続したプロセスサーバーを識別するハンドルを受け取るポインタである。 |
| Server | ULONGLONG | in | 切断するプロセスサーバーのハンドルを指定する。 |
vtbl 9 HRESULT GetRunningProcessSystemIds(ULONGLONG Server, DWORD* Ids, DWORD Count, DWORD* ActualCount)
| Server | ULONGLONG | in | 対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。 |
| Ids | DWORD* | outoptional | 実行中プロセスのシステム ID を受け取る配列へのポインタである。 |
| Count | DWORD | in | Ids 配列の容量 (要素数) を指定する。 |
| ActualCount | DWORD* | outoptional | 実際に取得されたプロセス数を受け取るポインタである。 |
vtbl 10 HRESULT GetRunningProcessSystemIdByExecutableName(ULONGLONG Server, LPSTR ExeName, DWORD Flags, DWORD* Id)
| Server | ULONGLONG | in | 対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。 |
| ExeName | LPSTR | in | 検索する実行可能ファイル名を指定する。 |
| Flags | DWORD | in | 検索方法を制御する DEBUG_GET_PROC_* フラグを指定する。 |
| Id | DWORD* | out | 見つかったプロセスのシステム ID を受け取るポインタである。 |
vtbl 11 HRESULT GetRunningProcessDescription(ULONGLONG Server, DWORD SystemId, DWORD Flags, LPSTR ExeName, DWORD ExeNameSize, DWORD* ActualExeNameSize, LPSTR Description, DWORD DescriptionSize, DWORD* ActualDescriptionSize)
| Server | ULONGLONG | in | 対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。 |
| SystemId | DWORD | in | 対象プロセスのシステム ID を指定する。 |
| Flags | DWORD | in | 取得する記述の内容を制御する DEBUG_PROC_DESC_* フラグを指定する。 |
| ExeName | LPSTR | outoptional | プロセスの実行可能ファイル名を受け取るバッファへのポインタである。 |
| ExeNameSize | DWORD | in | ExeName バッファのサイズを文字数単位で指定する。 |
| ActualExeNameSize | DWORD* | outoptional | 実行可能ファイル名の格納に必要な文字数を受け取るポインタである。 |
| Description | LPSTR | outoptional | プロセスの説明文字列を受け取るバッファへのポインタである。 |
| DescriptionSize | DWORD | in | Description バッファのサイズを文字数単位で指定する。 |
| ActualDescriptionSize | DWORD* | outoptional | 説明文字列の格納に必要な文字数を受け取るポインタである。 |
| Server | ULONGLONG | in | 対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。 |
| ProcessId | DWORD | in | アタッチする対象プロセスのシステム ID を指定する。 |
| AttachFlags | DWORD | in | アタッチ方法を制御する DEBUG_ATTACH_* フラグを指定する。 |
| Server | ULONGLONG | in | 対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。 |
| CommandLine | LPSTR | in | 起動する実行可能ファイルのコマンドラインを指定する。 |
| CreateFlags | DWORD | in | プロセス生成方法を制御する DEBUG_CREATE_PROCESS / DEBUG_PROCESS フラグを指定する。 |
vtbl 14 HRESULT CreateProcessAndAttach(ULONGLONG Server, LPSTR CommandLine, DWORD CreateFlags, DWORD ProcessId, DWORD AttachFlags)
| Server | ULONGLONG | in | 対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。 |
| CommandLine | LPSTR | inoptional | 起動する実行可能ファイルのコマンドラインを指定する。アタッチのみ行う場合は NULL を指定する。 |
| CreateFlags | DWORD | in | プロセス生成方法を制御する DEBUG_CREATE_PROCESS / DEBUG_PROCESS フラグを指定する。 |
| ProcessId | DWORD | in | アタッチする既存プロセスのシステム ID を指定する。新規生成のみなら 0 を指定する。 |
| AttachFlags | DWORD | in | アタッチ方法を制御する DEBUG_ATTACH_* フラグを指定する。 |
| Options | DWORD* | out | 現在のプロセスオプション (DEBUG_PROCESS_*) を受け取るポインタである。 |
| Options | DWORD | in | 追加するプロセスオプション (DEBUG_PROCESS_*) を指定する。 |
| Options | DWORD | in | 取り除くプロセスオプション (DEBUG_PROCESS_*) を指定する。 |
| Options | DWORD | in | 設定するプロセスオプション (DEBUG_PROCESS_*) を指定する。 |
| DumpFile | LPSTR | in | 開くダンプファイルのパスを指定する。 |
| DumpFile | LPSTR | in | 書き出すダンプファイルのパスを指定する。 |
| Qualifier | DWORD | in | 作成するダンプの種類を表す DEBUG_DUMP_* 値を指定する。 |
| Flags | DWORD | in | セッション接続方法を制御する DEBUG_CONNECT_SESSION_* フラグを指定する。 |
| HistoryLimit | DWORD | in | 接続時に表示する出力履歴の最大文字数を指定する。 |
| Options | LPSTR | in | デバッグサーバーの接続オプション文字列を指定する。 |
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| Machine | LPSTR | in | サーバー一覧を取得する対象マシン名を指定する。 |
| Flags | DWORD | in | 出力内容を制御する DEBUG_SERVERS_* フラグを指定する。 |
vtbl 24 HRESULT TerminateProcesses()
vtbl 25 HRESULT DetachProcesses()
| Flags | DWORD | in | セッション終了方法を制御する DEBUG_END_* フラグを指定する。 |
| Code | DWORD* | out | デバッグ対象プロセスの終了コードを受け取るポインタである。 |
| Timeout | DWORD | in | コールバック処理を待機する最大時間をミリ秒単位で指定する。INFINITE を指定すると無期限に待機する。 |
vtbl 29 HRESULT ExitDispatch(IDebugClient* Client)
| Client | IDebugClient* | in | DispatchCallbacks を終了させる対象クライアントの IDebugClient を指定する。 |
vtbl 30 HRESULT CreateClient(IDebugClient** Client)
| Client | IDebugClient** | out | 新しく生成された IDebugClient インターフェイスを受け取るポインタである。 |
vtbl 31 HRESULT GetInputCallbacks(IDebugInputCallbacks** Callbacks)
| Callbacks | IDebugInputCallbacks** | out | 現在設定されている入力コールバック (IDebugInputCallbacks) を受け取るポインタである。 |
vtbl 32 HRESULT SetInputCallbacks(IDebugInputCallbacks* Callbacks)
| Callbacks | IDebugInputCallbacks* | inoptional | 設定する入力コールバック (IDebugInputCallbacks) を指定する。解除する場合は NULL を指定する。 |
vtbl 33 HRESULT GetOutputCallbacks(IDebugOutputCallbacks** Callbacks)
| Callbacks | IDebugOutputCallbacks** | out | 現在設定されている出力コールバック (IDebugOutputCallbacks) を受け取るポインタである。 |
vtbl 34 HRESULT SetOutputCallbacks(IDebugOutputCallbacks* Callbacks)
| Callbacks | IDebugOutputCallbacks* | inoptional | 設定する出力コールバック (IDebugOutputCallbacks) を指定する。解除する場合は NULL を指定する。 |
| Mask | DWORD* | out | 現在の出力マスク (DEBUG_OUTPUT_*) を受け取るポインタである。 |
| Mask | DWORD | in | 設定する出力マスク (DEBUG_OUTPUT_*) を指定する。 |
vtbl 37 HRESULT GetOtherOutputMask(IDebugClient* Client, DWORD* Mask)
| Client | IDebugClient* | in | 出力マスクを取得する対象クライアントの IDebugClient を指定する。 |
| Mask | DWORD* | out | 対象クライアントの出力マスク (DEBUG_OUTPUT_*) を受け取るポインタである。 |
vtbl 38 HRESULT SetOtherOutputMask(IDebugClient* Client, DWORD Mask)
| Client | IDebugClient* | in | 出力マスクを設定する対象クライアントの IDebugClient を指定する。 |
| Mask | DWORD | in | 設定する出力マスク (DEBUG_OUTPUT_*) を指定する。 |
| Columns | DWORD* | out | 出力の折り返し幅 (桁数) を受け取るポインタである。 |
| Columns | DWORD | in | 出力の折り返し幅 (桁数) を指定する。 |
| Buffer | LPSTR | outoptional | 出力行の接頭辞文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| PrefixSize | DWORD* | outoptional | 接頭辞文字列の格納に必要な文字数を受け取るポインタである。 |
| Prefix | LPSTR | inoptional | 出力行に付加する接頭辞文字列を指定する。解除する場合は NULL を指定する。 |
| Buffer | LPSTR | outoptional | クライアントの識別文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| IdentitySize | DWORD* | outoptional | 識別文字列の格納に必要な文字数を受け取るポインタである。 |
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| Flags | DWORD | in | 出力内容を制御するフラグを指定する。通常は 0 を指定する。 |
| Format | LPSTR | in | 識別文字列を埋め込む書式文字列を指定する。 |
vtbl 45 HRESULT GetEventCallbacks(IDebugEventCallbacks** Callbacks)
| Callbacks | IDebugEventCallbacks** | out | 現在設定されているイベントコールバック (IDebugEventCallbacks) を受け取るポインタである。 |
vtbl 46 HRESULT SetEventCallbacks(IDebugEventCallbacks* Callbacks)
| Callbacks | IDebugEventCallbacks* | inoptional | 設定するイベントコールバック (IDebugEventCallbacks) を指定する。解除する場合は NULL を指定する。 |
vtbl 47 HRESULT FlushCallbacks()
| DumpFile | LPSTR | in | 書き出すダンプファイルのパスを指定する。 |
| Qualifier | DWORD | in | 作成するダンプの種類を表す DEBUG_DUMP_* 値を指定する。 |
| FormatFlags | DWORD | in | ダンプ形式を制御する DEBUG_FORMAT_* フラグを指定する。 |
| Comment | LPSTR | inoptional | ダンプに埋め込むコメント文字列を指定する。不要なら NULL を指定する。 |
| InfoFile | LPSTR | in | 追加するダンプ情報ファイル (ページングファイル等) のパスを指定する。 |
| Type | DWORD | in | ダンプ情報ファイルの種類を表す DEBUG_DUMP_FILE_* 値を指定する。 |
| Server | ULONGLONG | in | 終了させるプロセスサーバーのハンドルを指定する。 |
| Timeout | DWORD | in | プロセスサーバーの終了を待機する最大時間をミリ秒単位で指定する。 |
vtbl 52 HRESULT IsKernelDebuggerEnabled()
vtbl 53 HRESULT TerminateCurrentProcess()
vtbl 54 HRESULT DetachCurrentProcess()
vtbl 55 HRESULT AbandonCurrentProcess()
vtbl 56 HRESULT GetRunningProcessSystemIdByExecutableNameWide(ULONGLONG Server, LPWSTR ExeName, DWORD Flags, DWORD* Id)
| Server | ULONGLONG | in | 対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。 |
| ExeName | LPWSTR | in | 検索する実行可能ファイル名を指定する。 |
| Flags | DWORD | in | 検索方法を制御する DEBUG_GET_PROC_* フラグを指定する。 |
| Id | DWORD* | out | 見つかったプロセスのシステム ID を受け取るポインタである。 |
vtbl 57 HRESULT GetRunningProcessDescriptionWide(ULONGLONG Server, DWORD SystemId, DWORD Flags, LPWSTR ExeName, DWORD ExeNameSize, DWORD* ActualExeNameSize, LPWSTR Description, DWORD DescriptionSize, DWORD* ActualDescriptionSize)
| Server | ULONGLONG | in | 対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。 |
| SystemId | DWORD | in | 対象プロセスのシステム ID を指定する。 |
| Flags | DWORD | in | 取得する記述の内容を制御する DEBUG_PROC_DESC_* フラグを指定する。 |
| ExeName | LPWSTR | outoptional | プロセスの実行可能ファイル名を受け取るバッファへのポインタである。 |
| ExeNameSize | DWORD | in | ExeName バッファのサイズを文字数単位で指定する。 |
| ActualExeNameSize | DWORD* | outoptional | 実行可能ファイル名の格納に必要な文字数を受け取るポインタである。 |
| Description | LPWSTR | outoptional | プロセスの説明文字列を受け取るバッファへのポインタである。 |
| DescriptionSize | DWORD | in | Description バッファのサイズを文字数単位で指定する。 |
| ActualDescriptionSize | DWORD* | outoptional | 説明文字列の格納に必要な文字数を受け取るポインタである。 |
| Server | ULONGLONG | in | 対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。 |
| CommandLine | LPWSTR | in | 起動する実行可能ファイルのコマンドラインを指定する。 |
| CreateFlags | DWORD | in | プロセス生成方法を制御する DEBUG_CREATE_PROCESS / DEBUG_PROCESS フラグを指定する。 |
vtbl 59 HRESULT CreateProcessAndAttachWide(ULONGLONG Server, LPWSTR CommandLine, DWORD CreateFlags, DWORD ProcessId, DWORD AttachFlags)
| Server | ULONGLONG | in | 対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。 |
| CommandLine | LPWSTR | inoptional | 起動する実行可能ファイルのコマンドラインを指定する。アタッチのみ行う場合は NULL を指定する。 |
| CreateFlags | DWORD | in | プロセス生成方法を制御する DEBUG_CREATE_PROCESS / DEBUG_PROCESS フラグを指定する。 |
| ProcessId | DWORD | in | アタッチする既存プロセスのシステム ID を指定する。新規生成のみなら 0 を指定する。 |
| AttachFlags | DWORD | in | アタッチ方法を制御する DEBUG_ATTACH_* フラグを指定する。 |
| FileName | LPWSTR | inoptional | 開くダンプファイルのパスを指定する。FileHandle を使う場合は NULL を指定する。 |
| FileHandle | ULONGLONG | in | 既に開かれているダンプファイルのハンドルを指定する。FileName を使う場合は 0 を指定する。 |
vtbl 61 HRESULT WriteDumpFileWide(LPWSTR FileName, ULONGLONG FileHandle, DWORD Qualifier, DWORD FormatFlags, LPWSTR Comment)
| FileName | LPWSTR | inoptional | 書き出すダンプファイルのパスを指定する。FileHandle を使う場合は NULL を指定する。 |
| FileHandle | ULONGLONG | in | 書き出し先として既に開かれているファイルのハンドルを指定する。FileName を使う場合は 0 を指定する。 |
| Qualifier | DWORD | in | 作成するダンプの種類を表す DEBUG_DUMP_* 値を指定する。 |
| FormatFlags | DWORD | in | ダンプ形式を制御する DEBUG_FORMAT_* フラグを指定する。 |
| Comment | LPWSTR | inoptional | ダンプに埋め込むコメント文字列を指定する。不要なら NULL を指定する。 |
| FileName | LPWSTR | inoptional | 追加するダンプ情報ファイルのパスを指定する。FileHandle を使う場合は NULL を指定する。 |
| FileHandle | ULONGLONG | in | 追加するダンプ情報ファイルのハンドルを指定する。FileName を使う場合は 0 を指定する。 |
| Type | DWORD | in | ダンプ情報ファイルの種類を表す DEBUG_DUMP_FILE_* 値を指定する。 |
| Number | DWORD* | out | 現在開かれているダンプファイルの数を受け取るポインタである。 |
vtbl 64 HRESULT GetDumpFile(DWORD Index, LPSTR Buffer, DWORD BufferSize, DWORD* NameSize, ULONGLONG* Handle, DWORD* Type)
| Index | DWORD | in | 取得するダンプファイルのインデックスを指定する。 |
| Buffer | LPSTR | outoptional | ダンプファイルのパスを受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| NameSize | DWORD* | outoptional | パスの格納に必要な文字数を受け取るポインタである。 |
| Handle | ULONGLONG* | outoptional | ダンプファイルのハンドルを受け取るポインタである。 |
| Type | DWORD* | out | ダンプファイルの種類を受け取るポインタである。 |
vtbl 65 HRESULT GetDumpFileWide(DWORD Index, LPWSTR Buffer, DWORD BufferSize, DWORD* NameSize, ULONGLONG* Handle, DWORD* Type)
| Index | DWORD | in | 取得するダンプファイルのインデックスを指定する。 |
| Buffer | LPWSTR | outoptional | ダンプファイルのパスを受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| NameSize | DWORD* | outoptional | パスの格納に必要な文字数を受け取るポインタである。 |
| Handle | ULONGLONG* | outoptional | ダンプファイルのハンドルを受け取るポインタである。 |
| Type | DWORD* | out | ダンプファイルの種類を受け取るポインタである。 |
| Flags | DWORD | in | カーネルへの接続方法を制御する DEBUG_ATTACH_* フラグを指定する。 |
| ConnectOptions | LPWSTR | inoptional | カーネル接続のオプション文字列を指定する。ローカルカーネルの場合は NULL を指定する。 |
| Buffer | LPWSTR | outoptional | カーネル接続のオプション文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| OptionsSize | DWORD* | outoptional | オプション文字列の格納に必要な文字数を受け取るポインタである。 |
| Options | LPWSTR | in | カーネル接続のオプション文字列を指定する。 |
| Flags | DWORD | in | プロセスサーバーが扱うデバッグ対象の種類を表すフラグを指定する。 |
| Options | LPWSTR | in | プロセスサーバーの接続オプション文字列を指定する。 |
| Reserved | void* | inoptional | 予約済み。NULL を指定する。 |
| RemoteOptions | LPWSTR | in | 接続先プロセスサーバーのオプション文字列を指定する。 |
| Server | ULONGLONG* | out | 接続したプロセスサーバーを識別するハンドルを受け取るポインタである。 |
| Options | LPWSTR | in | デバッグサーバーの接続オプション文字列を指定する。 |
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| Machine | LPWSTR | in | サーバー一覧を取得する対象マシン名を指定する。 |
| Flags | DWORD | in | 出力内容を制御する DEBUG_SERVERS_* フラグを指定する。 |
vtbl 73 HRESULT GetOutputCallbacksWide(IDebugOutputCallbacksWide** Callbacks)
| Callbacks | IDebugOutputCallbacksWide** | out | 現在設定されている出力コールバック (IDebugOutputCallbacksWide) を受け取るポインタである。 |
vtbl 74 HRESULT SetOutputCallbacksWide(IDebugOutputCallbacksWide* Callbacks)
| Callbacks | IDebugOutputCallbacksWide* | in | 設定する出力コールバック (IDebugOutputCallbacksWide) を指定する。解除する場合は NULL を指定する。 |
| Buffer | LPWSTR | outoptional | 出力行の接頭辞文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| PrefixSize | DWORD* | outoptional | 接頭辞文字列の格納に必要な文字数を受け取るポインタである。 |
| Prefix | LPWSTR | inoptional | 出力行に付加する接頭辞文字列を指定する。解除する場合は NULL を指定する。 |
| Buffer | LPWSTR | outoptional | クライアントの識別文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| IdentitySize | DWORD* | outoptional | 識別文字列の格納に必要な文字数を受け取るポインタである。 |
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| Flags | DWORD | in | 出力内容を制御するフラグを指定する。通常は 0 を指定する。 |
| Format | LPWSTR | in | 識別文字列を埋め込む書式文字列を指定する。 |
vtbl 79 HRESULT GetEventCallbacksWide(IDebugEventCallbacksWide** Callbacks)
| Callbacks | IDebugEventCallbacksWide** | out | 現在設定されているイベントコールバック (IDebugEventCallbacksWide) を受け取るポインタである。 |
vtbl 80 HRESULT SetEventCallbacksWide(IDebugEventCallbacksWide* Callbacks)
| Callbacks | IDebugEventCallbacksWide* | in | 設定するイベントコールバック (IDebugEventCallbacksWide) を指定する。解除する場合は NULL を指定する。 |
vtbl 81 HRESULT CreateProcess2(ULONGLONG Server, LPSTR CommandLine, void* OptionsBuffer, DWORD OptionsBufferSize, LPSTR InitialDirectory, LPSTR Environment)
| Server | ULONGLONG | in | 対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。 |
| CommandLine | LPSTR | in | 起動する実行可能ファイルのコマンドラインを指定する。 |
| OptionsBuffer | void* | in | プロセス生成オプションを格納した DEBUG_CREATE_PROCESS_OPTIONS 構造体へのポインタである。 |
| OptionsBufferSize | DWORD | in | OptionsBuffer のサイズをバイト単位で指定する。 |
| InitialDirectory | LPSTR | inoptional | 新規プロセスの初期作業ディレクトリを指定する。既定でよければ NULL を指定する。 |
| Environment | LPSTR | inoptional | 新規プロセスに渡す環境ブロックを指定する。継承する場合は NULL を指定する。 |
vtbl 82 HRESULT CreateProcess2Wide(ULONGLONG Server, LPWSTR CommandLine, void* OptionsBuffer, DWORD OptionsBufferSize, LPWSTR InitialDirectory, LPWSTR Environment)
| Server | ULONGLONG | in | 対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。 |
| CommandLine | LPWSTR | in | 起動する実行可能ファイルのコマンドラインを指定する。 |
| OptionsBuffer | void* | in | プロセス生成オプションを格納した DEBUG_CREATE_PROCESS_OPTIONS 構造体へのポインタである。 |
| OptionsBufferSize | DWORD | in | OptionsBuffer のサイズをバイト単位で指定する。 |
| InitialDirectory | LPWSTR | inoptional | 新規プロセスの初期作業ディレクトリを指定する。既定でよければ NULL を指定する。 |
| Environment | LPWSTR | inoptional | 新規プロセスに渡す環境ブロックを指定する。継承する場合は NULL を指定する。 |
vtbl 83 HRESULT CreateProcessAndAttach2(ULONGLONG Server, LPSTR CommandLine, void* OptionsBuffer, DWORD OptionsBufferSize, LPSTR InitialDirectory, LPSTR Environment, DWORD ProcessId, DWORD AttachFlags)
| Server | ULONGLONG | in | 対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。 |
| CommandLine | LPSTR | inoptional | 起動する実行可能ファイルのコマンドラインを指定する。アタッチのみ行う場合は NULL を指定する。 |
| OptionsBuffer | void* | in | プロセス生成オプションを格納した DEBUG_CREATE_PROCESS_OPTIONS 構造体へのポインタである。 |
| OptionsBufferSize | DWORD | in | OptionsBuffer のサイズをバイト単位で指定する。 |
| InitialDirectory | LPSTR | inoptional | 新規プロセスの初期作業ディレクトリを指定する。既定でよければ NULL を指定する。 |
| Environment | LPSTR | inoptional | 新規プロセスに渡す環境ブロックを指定する。継承する場合は NULL を指定する。 |
| ProcessId | DWORD | in | アタッチする既存プロセスのシステム ID を指定する。新規生成のみなら 0 を指定する。 |
| AttachFlags | DWORD | in | アタッチ方法を制御する DEBUG_ATTACH_* フラグを指定する。 |
vtbl 84 HRESULT CreateProcessAndAttach2Wide(ULONGLONG Server, LPWSTR CommandLine, void* OptionsBuffer, DWORD OptionsBufferSize, LPWSTR InitialDirectory, LPWSTR Environment, DWORD ProcessId, DWORD AttachFlags)
| Server | ULONGLONG | in | 対象のプロセスサーバーのハンドルを指定する。ローカルの場合は 0 を指定する。 |
| CommandLine | LPWSTR | inoptional | 起動する実行可能ファイルのコマンドラインを指定する。アタッチのみ行う場合は NULL を指定する。 |
| OptionsBuffer | void* | in | プロセス生成オプションを格納した DEBUG_CREATE_PROCESS_OPTIONS 構造体へのポインタである。 |
| OptionsBufferSize | DWORD | in | OptionsBuffer のサイズをバイト単位で指定する。 |
| InitialDirectory | LPWSTR | inoptional | 新規プロセスの初期作業ディレクトリを指定する。既定でよければ NULL を指定する。 |
| Environment | LPWSTR | inoptional | 新規プロセスに渡す環境ブロックを指定する。継承する場合は NULL を指定する。 |
| ProcessId | DWORD | in | アタッチする既存プロセスのシステム ID を指定する。新規生成のみなら 0 を指定する。 |
| AttachFlags | DWORD | in | アタッチ方法を制御する DEBUG_ATTACH_* フラグを指定する。 |
| NewPrefix | LPSTR | inoptional | 新たに積む出力行の接頭辞文字列を指定する。 |
| Handle | ULONGLONG* | out | 積んだ接頭辞を後で取り除くためのハンドルを受け取るポインタである。 |
| NewPrefix | LPWSTR | inoptional | 新たに積む出力行の接頭辞文字列を指定する。 |
| Handle | ULONGLONG* | out | 積んだ接頭辞を後で取り除くためのハンドルを受け取るポインタである。 |
| Handle | ULONGLONG | in | 取り除く接頭辞を識別するハンドルを指定する。 |
| Count | DWORD* | out | 登録されている入力コールバックの数を受け取るポインタである。 |
| Count | DWORD* | out | 登録されている出力コールバックの数を受け取るポインタである。 |
| EventFlags | DWORD | in | 数を数える対象イベントの種類を表すフラグを指定する。 |
| Count | DWORD* | out | 指定したイベントに関心を持つイベントコールバックの数を受け取るポインタである。 |
| Buffer | LPSTR | outoptional | 終了ロック文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| StringSize | DWORD* | outoptional | 文字列の格納に必要な文字数を受け取るポインタである。 |
| String | LPSTR | in | 終了をロックするためのパスワード文字列を指定する。 |
| Buffer | LPWSTR | outoptional | 終了ロック文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| StringSize | DWORD* | outoptional | 文字列の格納に必要な文字数を受け取るポインタである。 |
| String | LPWSTR | in | 終了をロックするためのパスワード文字列を指定する。 |
vtbl 95 HRESULT SetEventContextCallbacks(IDebugEventContextCallbacks* Callbacks)
| Callbacks | IDebugEventContextCallbacks* | inoptional | 設定するイベントコンテキストコールバック (IDebugEventContextCallbacks) を指定する。解除する場合は NULL を指定する。 |
| Context | void* | in | クライアントに関連付けるコンテキストデータへのポインタである。 |
| ContextSize | DWORD | in | Context のサイズをバイト単位で指定する。 |
| FileName | LPWSTR | inoptional | 開くダンプファイルのパスを指定する。FileHandle を使う場合は NULL を指定する。 |
| FileHandle | ULONGLONG | in | 既に開かれているダンプファイルのハンドルを指定する。FileName を使う場合は 0 を指定する。 |
| AlternateArch | DWORD | in | 代替アーキテクチャを指定する。 |
| DirName | LPWSTR | inoptional | 開くダンプディレクトリのパスを指定する。 |
| AlternateArch | DWORD | in | 代替アーキテクチャを指定する。 |
| DumpDir | LPSTR | in | 開くダンプディレクトリのパスを指定する。 |
| AlternativeArch | DWORD | in | 代替アーキテクチャを指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDebugClient9 "{2C24CD5B-4D9E-4DF4-8A70-3D37440D119F}" #usecom global IDebugClient9 IID_IDebugClient9 "{}" #comfunc global IDebugClient9_AttachKernel 3 int,str #comfunc global IDebugClient9_GetKernelConnectionOptions 4 var,int,var #comfunc global IDebugClient9_SetKernelConnectionOptions 5 str #comfunc global IDebugClient9_StartProcessServer 6 int,str,sptr #comfunc global IDebugClient9_ConnectProcessServer 7 str,var #comfunc global IDebugClient9_DisconnectProcessServer 8 int64 #comfunc global IDebugClient9_GetRunningProcessSystemIds 9 int64,var,int,var #comfunc global IDebugClient9_GetRunningProcessSystemIdByExecutableName 10 int64,str,int,var #comfunc global IDebugClient9_GetRunningProcessDescription 11 int64,int,int,var,int,var,var,int,var #comfunc global IDebugClient9_AttachProcess 12 int64,int,int #comfunc global IDebugClient9_CreateProcessA 13 int64,str,int #comfunc global IDebugClient9_CreateProcessAndAttach 14 int64,str,int,int,int #comfunc global IDebugClient9_GetProcessOptions 15 var #comfunc global IDebugClient9_AddProcessOptions 16 int #comfunc global IDebugClient9_RemoveProcessOptions 17 int #comfunc global IDebugClient9_SetProcessOptions 18 int #comfunc global IDebugClient9_OpenDumpFile 19 str #comfunc global IDebugClient9_WriteDumpFile 20 str,int #comfunc global IDebugClient9_ConnectSession 21 int,int #comfunc global IDebugClient9_StartServer 22 str #comfunc global IDebugClient9_OutputServers 23 int,str,int #comfunc global IDebugClient9_TerminateProcesses 24 #comfunc global IDebugClient9_DetachProcesses 25 #comfunc global IDebugClient9_EndSession 26 int #comfunc global IDebugClient9_GetExitCode 27 var #comfunc global IDebugClient9_DispatchCallbacks 28 int #comfunc global IDebugClient9_ExitDispatch 29 sptr #comfunc global IDebugClient9_CreateClient 30 sptr #comfunc global IDebugClient9_GetInputCallbacks 31 sptr #comfunc global IDebugClient9_SetInputCallbacks 32 sptr #comfunc global IDebugClient9_GetOutputCallbacks 33 sptr #comfunc global IDebugClient9_SetOutputCallbacks 34 sptr #comfunc global IDebugClient9_GetOutputMask 35 var #comfunc global IDebugClient9_SetOutputMask 36 int #comfunc global IDebugClient9_GetOtherOutputMask 37 sptr,var #comfunc global IDebugClient9_SetOtherOutputMask 38 sptr,int #comfunc global IDebugClient9_GetOutputWidth 39 var #comfunc global IDebugClient9_SetOutputWidth 40 int #comfunc global IDebugClient9_GetOutputLinePrefix 41 var,int,var #comfunc global IDebugClient9_SetOutputLinePrefix 42 str #comfunc global IDebugClient9_GetIdentity 43 var,int,var #comfunc global IDebugClient9_OutputIdentity 44 int,int,str #comfunc global IDebugClient9_GetEventCallbacks 45 sptr #comfunc global IDebugClient9_SetEventCallbacks 46 sptr #comfunc global IDebugClient9_FlushCallbacks 47 #comfunc global IDebugClient9_WriteDumpFile2 48 str,int,int,str #comfunc global IDebugClient9_AddDumpInformationFile 49 str,int #comfunc global IDebugClient9_EndProcessServer 50 int64 #comfunc global IDebugClient9_WaitForProcessServerEnd 51 int #comfunc global IDebugClient9_IsKernelDebuggerEnabled 52 #comfunc global IDebugClient9_TerminateCurrentProcess 53 #comfunc global IDebugClient9_DetachCurrentProcess 54 #comfunc global IDebugClient9_AbandonCurrentProcess 55 #comfunc global IDebugClient9_GetRunningProcessSystemIdByExecutableNameWide 56 int64,wstr,int,var #comfunc global IDebugClient9_GetRunningProcessDescriptionWide 57 int64,int,int,var,int,var,var,int,var #comfunc global IDebugClient9_CreateProcessWide 58 int64,wstr,int #comfunc global IDebugClient9_CreateProcessAndAttachWide 59 int64,wstr,int,int,int #comfunc global IDebugClient9_OpenDumpFileWide 60 wstr,int64 #comfunc global IDebugClient9_WriteDumpFileWide 61 wstr,int64,int,int,wstr #comfunc global IDebugClient9_AddDumpInformationFileWide 62 wstr,int64,int #comfunc global IDebugClient9_GetNumberDumpFiles 63 var #comfunc global IDebugClient9_GetDumpFile 64 int,var,int,var,var,var #comfunc global IDebugClient9_GetDumpFileWide 65 int,var,int,var,var,var #comfunc global IDebugClient9_AttachKernelWide 66 int,wstr #comfunc global IDebugClient9_GetKernelConnectionOptionsWide 67 var,int,var #comfunc global IDebugClient9_SetKernelConnectionOptionsWide 68 wstr #comfunc global IDebugClient9_StartProcessServerWide 69 int,wstr,sptr #comfunc global IDebugClient9_ConnectProcessServerWide 70 wstr,var #comfunc global IDebugClient9_StartServerWide 71 wstr #comfunc global IDebugClient9_OutputServersWide 72 int,wstr,int #comfunc global IDebugClient9_GetOutputCallbacksWide 73 sptr #comfunc global IDebugClient9_SetOutputCallbacksWide 74 sptr #comfunc global IDebugClient9_GetOutputLinePrefixWide 75 var,int,var #comfunc global IDebugClient9_SetOutputLinePrefixWide 76 wstr #comfunc global IDebugClient9_GetIdentityWide 77 var,int,var #comfunc global IDebugClient9_OutputIdentityWide 78 int,int,wstr #comfunc global IDebugClient9_GetEventCallbacksWide 79 sptr #comfunc global IDebugClient9_SetEventCallbacksWide 80 sptr #comfunc global IDebugClient9_CreateProcess2 81 int64,str,sptr,int,str,str #comfunc global IDebugClient9_CreateProcess2Wide 82 int64,wstr,sptr,int,wstr,wstr #comfunc global IDebugClient9_CreateProcessAndAttach2 83 int64,str,sptr,int,str,str,int,int #comfunc global IDebugClient9_CreateProcessAndAttach2Wide 84 int64,wstr,sptr,int,wstr,wstr,int,int #comfunc global IDebugClient9_PushOutputLinePrefix 85 str,var #comfunc global IDebugClient9_PushOutputLinePrefixWide 86 wstr,var #comfunc global IDebugClient9_PopOutputLinePrefix 87 int64 #comfunc global IDebugClient9_GetNumberInputCallbacks 88 var #comfunc global IDebugClient9_GetNumberOutputCallbacks 89 var #comfunc global IDebugClient9_GetNumberEventCallbacks 90 int,var #comfunc global IDebugClient9_GetQuitLockString 91 var,int,var #comfunc global IDebugClient9_SetQuitLockString 92 str #comfunc global IDebugClient9_GetQuitLockStringWide 93 var,int,var #comfunc global IDebugClient9_SetQuitLockStringWide 94 wstr #comfunc global IDebugClient9_SetEventContextCallbacks 95 sptr #comfunc global IDebugClient9_SetClientContext 96 sptr,int #comfunc global IDebugClient9_OpenDumpFileWide2 97 wstr,int64,int #comfunc global IDebugClient9_OpenDumpDirectoryWide 98 wstr,int #comfunc global IDebugClient9_OpenDumpDirectory 99 str,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDebugClient9 "{2C24CD5B-4D9E-4DF4-8A70-3D37440D119F}" #usecom global IDebugClient9 IID_IDebugClient9 "{}" #comfunc global IDebugClient9_AttachKernel 3 int,str #comfunc global IDebugClient9_GetKernelConnectionOptions 4 sptr,int,sptr #comfunc global IDebugClient9_SetKernelConnectionOptions 5 str #comfunc global IDebugClient9_StartProcessServer 6 int,str,sptr #comfunc global IDebugClient9_ConnectProcessServer 7 str,sptr #comfunc global IDebugClient9_DisconnectProcessServer 8 int64 #comfunc global IDebugClient9_GetRunningProcessSystemIds 9 int64,sptr,int,sptr #comfunc global IDebugClient9_GetRunningProcessSystemIdByExecutableName 10 int64,str,int,sptr #comfunc global IDebugClient9_GetRunningProcessDescription 11 int64,int,int,sptr,int,sptr,sptr,int,sptr #comfunc global IDebugClient9_AttachProcess 12 int64,int,int #comfunc global IDebugClient9_CreateProcessA 13 int64,str,int #comfunc global IDebugClient9_CreateProcessAndAttach 14 int64,str,int,int,int #comfunc global IDebugClient9_GetProcessOptions 15 sptr #comfunc global IDebugClient9_AddProcessOptions 16 int #comfunc global IDebugClient9_RemoveProcessOptions 17 int #comfunc global IDebugClient9_SetProcessOptions 18 int #comfunc global IDebugClient9_OpenDumpFile 19 str #comfunc global IDebugClient9_WriteDumpFile 20 str,int #comfunc global IDebugClient9_ConnectSession 21 int,int #comfunc global IDebugClient9_StartServer 22 str #comfunc global IDebugClient9_OutputServers 23 int,str,int #comfunc global IDebugClient9_TerminateProcesses 24 #comfunc global IDebugClient9_DetachProcesses 25 #comfunc global IDebugClient9_EndSession 26 int #comfunc global IDebugClient9_GetExitCode 27 sptr #comfunc global IDebugClient9_DispatchCallbacks 28 int #comfunc global IDebugClient9_ExitDispatch 29 sptr #comfunc global IDebugClient9_CreateClient 30 sptr #comfunc global IDebugClient9_GetInputCallbacks 31 sptr #comfunc global IDebugClient9_SetInputCallbacks 32 sptr #comfunc global IDebugClient9_GetOutputCallbacks 33 sptr #comfunc global IDebugClient9_SetOutputCallbacks 34 sptr #comfunc global IDebugClient9_GetOutputMask 35 sptr #comfunc global IDebugClient9_SetOutputMask 36 int #comfunc global IDebugClient9_GetOtherOutputMask 37 sptr,sptr #comfunc global IDebugClient9_SetOtherOutputMask 38 sptr,int #comfunc global IDebugClient9_GetOutputWidth 39 sptr #comfunc global IDebugClient9_SetOutputWidth 40 int #comfunc global IDebugClient9_GetOutputLinePrefix 41 sptr,int,sptr #comfunc global IDebugClient9_SetOutputLinePrefix 42 str #comfunc global IDebugClient9_GetIdentity 43 sptr,int,sptr #comfunc global IDebugClient9_OutputIdentity 44 int,int,str #comfunc global IDebugClient9_GetEventCallbacks 45 sptr #comfunc global IDebugClient9_SetEventCallbacks 46 sptr #comfunc global IDebugClient9_FlushCallbacks 47 #comfunc global IDebugClient9_WriteDumpFile2 48 str,int,int,str #comfunc global IDebugClient9_AddDumpInformationFile 49 str,int #comfunc global IDebugClient9_EndProcessServer 50 int64 #comfunc global IDebugClient9_WaitForProcessServerEnd 51 int #comfunc global IDebugClient9_IsKernelDebuggerEnabled 52 #comfunc global IDebugClient9_TerminateCurrentProcess 53 #comfunc global IDebugClient9_DetachCurrentProcess 54 #comfunc global IDebugClient9_AbandonCurrentProcess 55 #comfunc global IDebugClient9_GetRunningProcessSystemIdByExecutableNameWide 56 int64,wstr,int,sptr #comfunc global IDebugClient9_GetRunningProcessDescriptionWide 57 int64,int,int,sptr,int,sptr,sptr,int,sptr #comfunc global IDebugClient9_CreateProcessWide 58 int64,wstr,int #comfunc global IDebugClient9_CreateProcessAndAttachWide 59 int64,wstr,int,int,int #comfunc global IDebugClient9_OpenDumpFileWide 60 wstr,int64 #comfunc global IDebugClient9_WriteDumpFileWide 61 wstr,int64,int,int,wstr #comfunc global IDebugClient9_AddDumpInformationFileWide 62 wstr,int64,int #comfunc global IDebugClient9_GetNumberDumpFiles 63 sptr #comfunc global IDebugClient9_GetDumpFile 64 int,sptr,int,sptr,sptr,sptr #comfunc global IDebugClient9_GetDumpFileWide 65 int,sptr,int,sptr,sptr,sptr #comfunc global IDebugClient9_AttachKernelWide 66 int,wstr #comfunc global IDebugClient9_GetKernelConnectionOptionsWide 67 sptr,int,sptr #comfunc global IDebugClient9_SetKernelConnectionOptionsWide 68 wstr #comfunc global IDebugClient9_StartProcessServerWide 69 int,wstr,sptr #comfunc global IDebugClient9_ConnectProcessServerWide 70 wstr,sptr #comfunc global IDebugClient9_StartServerWide 71 wstr #comfunc global IDebugClient9_OutputServersWide 72 int,wstr,int #comfunc global IDebugClient9_GetOutputCallbacksWide 73 sptr #comfunc global IDebugClient9_SetOutputCallbacksWide 74 sptr #comfunc global IDebugClient9_GetOutputLinePrefixWide 75 sptr,int,sptr #comfunc global IDebugClient9_SetOutputLinePrefixWide 76 wstr #comfunc global IDebugClient9_GetIdentityWide 77 sptr,int,sptr #comfunc global IDebugClient9_OutputIdentityWide 78 int,int,wstr #comfunc global IDebugClient9_GetEventCallbacksWide 79 sptr #comfunc global IDebugClient9_SetEventCallbacksWide 80 sptr #comfunc global IDebugClient9_CreateProcess2 81 int64,str,sptr,int,str,str #comfunc global IDebugClient9_CreateProcess2Wide 82 int64,wstr,sptr,int,wstr,wstr #comfunc global IDebugClient9_CreateProcessAndAttach2 83 int64,str,sptr,int,str,str,int,int #comfunc global IDebugClient9_CreateProcessAndAttach2Wide 84 int64,wstr,sptr,int,wstr,wstr,int,int #comfunc global IDebugClient9_PushOutputLinePrefix 85 str,sptr #comfunc global IDebugClient9_PushOutputLinePrefixWide 86 wstr,sptr #comfunc global IDebugClient9_PopOutputLinePrefix 87 int64 #comfunc global IDebugClient9_GetNumberInputCallbacks 88 sptr #comfunc global IDebugClient9_GetNumberOutputCallbacks 89 sptr #comfunc global IDebugClient9_GetNumberEventCallbacks 90 int,sptr #comfunc global IDebugClient9_GetQuitLockString 91 sptr,int,sptr #comfunc global IDebugClient9_SetQuitLockString 92 str #comfunc global IDebugClient9_GetQuitLockStringWide 93 sptr,int,sptr #comfunc global IDebugClient9_SetQuitLockStringWide 94 wstr #comfunc global IDebugClient9_SetEventContextCallbacks 95 sptr #comfunc global IDebugClient9_SetClientContext 96 sptr,int #comfunc global IDebugClient9_OpenDumpFileWide2 97 wstr,int64,int #comfunc global IDebugClient9_OpenDumpDirectoryWide 98 wstr,int #comfunc global IDebugClient9_OpenDumpDirectory 99 str,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。