ホーム › System.Diagnostics.Debug.Extensions › IDebugControl2
IDebugControl2
COMメソッド 100
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetInterrupt()
| Flags | DWORD | in | 割り込み要求の種類を表す DEBUG_INTERRUPT_* 値を指定する。 |
| Seconds | DWORD* | out | 割り込みのタイムアウト秒数を受け取るポインタである。 |
| Seconds | DWORD | in | 割り込みのタイムアウト秒数を指定する。 |
| Buffer | LPSTR | outoptional | 現在のログファイルのパスを受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| FileSize | DWORD* | outoptional | パスの格納に必要な文字数を受け取るポインタである。 |
| Append | BOOL* | out | ログファイルが追記モードで開かれているかどうかを受け取るポインタである。 |
| File | LPSTR | in | 開くログファイルのパスを指定する。 |
| Append | BOOL | in | 既存ファイルに追記するか (TRUE) 上書きするか (FALSE) を指定する。 |
vtbl 9 HRESULT CloseLogFile()
| Mask | DWORD* | out | 現在のログ出力マスク (DEBUG_OUTPUT_*) を受け取るポインタである。 |
| Mask | DWORD | in | 設定するログ出力マスク (DEBUG_OUTPUT_*) を指定する。 |
| Buffer | LPSTR | out | 入力された文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| InputSize | DWORD* | outoptional | 実際に入力された文字数を受け取るポインタである。 |
| Buffer | LPSTR | in | 入力待ちの相手に返す文字列を指定する。 |
| Mask | DWORD | in | 出力の種類を表す出力マスク (DEBUG_OUTPUT_*) を指定する。 |
| Format | LPSTR | in | 出力する内容の書式文字列を指定する。 |
| Mask | DWORD | in | 出力の種類を表す出力マスク (DEBUG_OUTPUT_*) を指定する。 |
| Format | LPSTR | in | 出力する内容の書式文字列を指定する。 |
| Args | CHAR* | in | 書式文字列に対応する可変長引数リスト (va_list) を指定する。 |
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| Mask | DWORD | in | 出力の種類を表す出力マスク (DEBUG_OUTPUT_*) を指定する。 |
| Format | LPSTR | in | 出力する内容の書式文字列を指定する。 |
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| Mask | DWORD | in | 出力の種類を表す出力マスク (DEBUG_OUTPUT_*) を指定する。 |
| Format | LPSTR | in | 出力する内容の書式文字列を指定する。 |
| Args | CHAR* | in | 書式文字列に対応する可変長引数リスト (va_list) を指定する。 |
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| Format | LPSTR | inoptional | プロンプトに続けて出力する書式文字列を指定する。不要なら NULL を指定する。 |
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| Format | LPSTR | inoptional | プロンプトに続けて出力する書式文字列を指定する。不要なら NULL を指定する。 |
| Args | CHAR* | in | 書式文字列に対応する可変長引数リスト (va_list) を指定する。 |
| Buffer | LPSTR | outoptional | 標準プロンプトのテキストを受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| TextSize | DWORD* | outoptional | プロンプトテキストの格納に必要な文字数を受け取るポインタである。 |
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| Flags | DWORD | in | 出力する現在の状態の内容を制御する DEBUG_CURRENT_* フラグを指定する。 |
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| Handle | ULONGLONG* | out | セッション開始時にシグナル状態となる通知イベントのハンドルを受け取るポインタである。 |
| Handle | ULONGLONG | in | セッション開始時にシグナル状態とする通知イベントのハンドルを指定する。 |
| Offset | ULONGLONG | in | アセンブルした命令を配置する開始アドレスを指定する。 |
| Instr | LPSTR | in | アセンブルするアセンブリ言語の命令文字列を指定する。 |
| EndOffset | ULONGLONG* | out | アセンブル後の次の命令アドレスを受け取るポインタである。 |
vtbl 26 HRESULT Disassemble(ULONGLONG Offset, DWORD Flags, LPSTR Buffer, DWORD BufferSize, DWORD* DisassemblySize, ULONGLONG* EndOffset)
| Offset | ULONGLONG | in | 逆アセンブルする命令のアドレスを指定する。 |
| Flags | DWORD | in | 逆アセンブル方法を制御する DEBUG_DISASM_* フラグを指定する。 |
| Buffer | LPSTR | outoptional | 逆アセンブル結果の文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| DisassemblySize | DWORD* | outoptional | 結果文字列の格納に必要な文字数を受け取るポインタである。 |
| EndOffset | ULONGLONG* | out | 逆アセンブルした次の命令のアドレスを受け取るポインタである。 |
| Offset | ULONGLONG* | out | 直前に逆アセンブルした命令の実効アドレスを受け取るポインタである。 |
vtbl 28 HRESULT OutputDisassembly(DWORD OutputControl, ULONGLONG Offset, DWORD Flags, ULONGLONG* EndOffset)
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| Offset | ULONGLONG | in | 逆アセンブルする命令のアドレスを指定する。 |
| Flags | DWORD | in | 逆アセンブル方法を制御する DEBUG_DISASM_* フラグを指定する。 |
| EndOffset | ULONGLONG* | out | 逆アセンブルした次の命令のアドレスを受け取るポインタである。 |
vtbl 29 HRESULT OutputDisassemblyLines(DWORD OutputControl, DWORD PreviousLines, DWORD TotalLines, ULONGLONG Offset, DWORD Flags, DWORD* OffsetLine, ULONGLONG* StartOffset, ULONGLONG* EndOffset, ULONGLONG* LineOffsets)
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| PreviousLines | DWORD | in | 指定アドレスより前に出力する行数を指定する。 |
| TotalLines | DWORD | in | 出力する合計行数を指定する。 |
| Offset | ULONGLONG | in | 逆アセンブルの中心となる命令のアドレスを指定する。 |
| Flags | DWORD | in | 逆アセンブル方法を制御する DEBUG_DISASM_* フラグを指定する。 |
| OffsetLine | DWORD* | outoptional | 指定アドレスに対応する出力行の番号を受け取るポインタである。 |
| StartOffset | ULONGLONG* | outoptional | 出力範囲の先頭命令のアドレスを受け取るポインタである。 |
| EndOffset | ULONGLONG* | outoptional | 出力範囲の次の命令のアドレスを受け取るポインタである。 |
| LineOffsets | ULONGLONG* | outoptional | 各出力行に対応する命令アドレスを受け取る配列へのポインタである。 |
| Offset | ULONGLONG | in | 基準となる命令のアドレスを指定する。 |
| Delta | INT | in | 基準から前後に数える命令数を指定する。負の値で手前の命令を指す。 |
| NearOffset | ULONGLONG* | out | 求めた命令のアドレスを受け取るポインタである。 |
vtbl 31 HRESULT GetStackTrace(ULONGLONG FrameOffset, ULONGLONG StackOffset, ULONGLONG InstructionOffset, DEBUG_STACK_FRAME* Frames, DWORD FramesSize, DWORD* FramesFilled)
| FrameOffset | ULONGLONG | in | スタックトレースの起点とするフレームポインタの値を指定する。0 で現在の値を使う。 |
| StackOffset | ULONGLONG | in | スタックトレースの起点とするスタックポインタの値を指定する。0 で現在の値を使う。 |
| InstructionOffset | ULONGLONG | in | スタックトレースの起点とする命令ポインタの値を指定する。0 で現在の値を使う。 |
| Frames | DEBUG_STACK_FRAME* | out | 取得したスタックフレーム情報 (DEBUG_STACK_FRAME) を格納する配列へのポインタである。 |
| FramesSize | DWORD | in | Frames 配列の容量 (フレーム数) を指定する。 |
| FramesFilled | DWORD* | outoptional | 実際に格納されたフレーム数を受け取るポインタである。 |
| Offset | ULONGLONG* | out | 現在の関数からの戻りアドレスを受け取るポインタである。 |
vtbl 33 HRESULT OutputStackTrace(DWORD OutputControl, DEBUG_STACK_FRAME* Frames, DWORD FramesSize, DWORD Flags)
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| Frames | DEBUG_STACK_FRAME* | inoptional | 出力するスタックフレーム情報 (DEBUG_STACK_FRAME) の配列へのポインタである。NULL の場合は現在のスタックを取得して出力する。 |
| FramesSize | DWORD | in | Frames 配列のフレーム数を指定する。 |
| Flags | DWORD | in | 出力内容を制御する DEBUG_STACK_* フラグを指定する。 |
| Class | DWORD* | out | デバッグ対象の種別 (DEBUG_CLASS_*) を受け取るポインタである。 |
| Qualifier | DWORD* | out | デバッグ対象の修飾子 (DEBUG_*_QUALIFIER) を受け取るポインタである。 |
| Type | DWORD* | out | 対象マシンの実際のプロセッサ種別 (IMAGE_FILE_MACHINE_*) を受け取るポインタである。 |
| Type | DWORD* | out | 現在実行中のコードのプロセッサ種別 (IMAGE_FILE_MACHINE_*) を受け取るポインタである。 |
| Number | DWORD* | out | 実行可能なプロセッサ種別の数を受け取るポインタである。 |
| Start | DWORD | in | 取得を開始するプロセッサ種別のインデックスを指定する。 |
| Count | DWORD | in | 取得するプロセッサ種別の数を指定する。 |
| Types | DWORD* | out | プロセッサ種別 (IMAGE_FILE_MACHINE_*) を受け取る配列へのポインタである。 |
| Number | DWORD* | out | 対象マシンのプロセッサ数を受け取るポインタである。 |
vtbl 40 HRESULT GetSystemVersion(DWORD* PlatformId, DWORD* Major, DWORD* Minor, LPSTR ServicePackString, DWORD ServicePackStringSize, DWORD* ServicePackStringUsed, DWORD* ServicePackNumber, LPSTR BuildString, DWORD BuildStringSize, DWORD* BuildStringUsed)
| PlatformId | DWORD* | out | 対象システムのプラットフォーム ID を受け取るポインタである。 |
| Major | DWORD* | out | システムのメジャーバージョンを受け取るポインタである。 |
| Minor | DWORD* | out | システムのマイナーバージョンを受け取るポインタである。 |
| ServicePackString | LPSTR | outoptional | サービスパックを表す文字列を受け取るバッファへのポインタである。 |
| ServicePackStringSize | DWORD | in | ServicePackString バッファのサイズを文字数単位で指定する。 |
| ServicePackStringUsed | DWORD* | outoptional | サービスパック文字列の格納に必要な文字数を受け取るポインタである。 |
| ServicePackNumber | DWORD* | out | サービスパック番号を受け取るポインタである。 |
| BuildString | LPSTR | outoptional | ビルド情報を表す文字列を受け取るバッファへのポインタである。 |
| BuildStringSize | DWORD | in | BuildString バッファのサイズを文字数単位で指定する。 |
| BuildStringUsed | DWORD* | outoptional | ビルド文字列の格納に必要な文字数を受け取るポインタである。 |
| Size | DWORD* | out | 対象システムのページサイズをバイト単位で受け取るポインタである。 |
vtbl 42 HRESULT IsPointer64Bit()
vtbl 43 HRESULT ReadBugCheckData(DWORD* Code, ULONGLONG* Arg1, ULONGLONG* Arg2, ULONGLONG* Arg3, ULONGLONG* Arg4)
| Code | DWORD* | out | バグチェックコード (停止コード) を受け取るポインタである。 |
| Arg1 | ULONGLONG* | out | バグチェックの第 1 引数を受け取るポインタである。 |
| Arg2 | ULONGLONG* | out | バグチェックの第 2 引数を受け取るポインタである。 |
| Arg3 | ULONGLONG* | out | バグチェックの第 3 引数を受け取るポインタである。 |
| Arg4 | ULONGLONG* | out | バグチェックの第 4 引数を受け取るポインタである。 |
| Number | DWORD* | out | エンジンがサポートするプロセッサ種別の数を受け取るポインタである。 |
| Start | DWORD | in | 取得を開始するプロセッサ種別のインデックスを指定する。 |
| Count | DWORD | in | 取得するプロセッサ種別の数を指定する。 |
| Types | DWORD* | out | プロセッサ種別 (IMAGE_FILE_MACHINE_*) を受け取る配列へのポインタである。 |
vtbl 46 HRESULT GetProcessorTypeNames(DWORD Type, LPSTR FullNameBuffer, DWORD FullNameBufferSize, DWORD* FullNameSize, LPSTR AbbrevNameBuffer, DWORD AbbrevNameBufferSize, DWORD* AbbrevNameSize)
| Type | DWORD | in | 名前を取得するプロセッサ種別 (IMAGE_FILE_MACHINE_*) を指定する。 |
| FullNameBuffer | LPSTR | outoptional | プロセッサの正式名称を受け取るバッファへのポインタである。 |
| FullNameBufferSize | DWORD | in | FullNameBuffer のサイズを文字数単位で指定する。 |
| FullNameSize | DWORD* | outoptional | 正式名称の格納に必要な文字数を受け取るポインタである。 |
| AbbrevNameBuffer | LPSTR | outoptional | プロセッサの略称を受け取るバッファへのポインタである。 |
| AbbrevNameBufferSize | DWORD | in | AbbrevNameBuffer のサイズを文字数単位で指定する。 |
| AbbrevNameSize | DWORD* | outoptional | 略称の格納に必要な文字数を受け取るポインタである。 |
| Type | DWORD* | out | 現在の実効プロセッサ種別 (IMAGE_FILE_MACHINE_*) を受け取るポインタである。 |
| Type | DWORD | in | 設定する実効プロセッサ種別 (IMAGE_FILE_MACHINE_*) を指定する。 |
| Status | DWORD* | out | 現在の実行状態 (DEBUG_STATUS_*) を受け取るポインタである。 |
| Status | DWORD | in | 設定する実行状態 (DEBUG_STATUS_*) を指定する。 |
| Level | DWORD* | out | 現在のコードレベル (ソースまたはアセンブリ、DEBUG_LEVEL_*) を受け取るポインタである。 |
| Level | DWORD | in | 設定するコードレベル (ソースまたはアセンブリ、DEBUG_LEVEL_*) を指定する。 |
| Options | DWORD* | out | 現在のエンジンオプション (DEBUG_ENGOPT_*) を受け取るポインタである。 |
| Options | DWORD | in | 追加するエンジンオプション (DEBUG_ENGOPT_*) を指定する。 |
| Options | DWORD | in | 取り除くエンジンオプション (DEBUG_ENGOPT_*) を指定する。 |
| Options | DWORD | in | 設定するエンジンオプション (DEBUG_ENGOPT_*) を指定する。 |
| OutputLevel | DWORD* | out | システムエラーを出力する閾値レベルを受け取るポインタである。 |
| BreakLevel | DWORD* | out | システムエラーで中断する閾値レベルを受け取るポインタである。 |
| OutputLevel | DWORD | in | システムエラーを出力する閾値レベルを指定する。 |
| BreakLevel | DWORD | in | システムエラーで中断する閾値レベルを指定する。 |
| Slot | DWORD | in | 取得するテキストマクロのスロット番号 (0〜9) を指定する。 |
| Buffer | LPSTR | outoptional | マクロの値の文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| MacroSize | DWORD* | outoptional | マクロ値の格納に必要な文字数を受け取るポインタである。 |
| Slot | DWORD | in | 設定するテキストマクロのスロット番号 (0〜9) を指定する。 |
| Macro | LPSTR | in | マクロに設定する文字列を指定する。 |
| Radix | DWORD* | out | 現在の既定の基数を受け取るポインタである。 |
| Radix | DWORD | in | 設定する既定の基数 (8/10/16 など) を指定する。 |
vtbl 63 HRESULT Evaluate(LPSTR Expression, DWORD DesiredType, DEBUG_VALUE* Value, DWORD* RemainderIndex)
| Expression | LPSTR | in | 評価する式の文字列を指定する。 |
| DesiredType | DWORD | in | 評価結果として希望する値の型 (DEBUG_VALUE_*) を指定する。 |
| Value | DEBUG_VALUE* | out | 評価結果の値を受け取る DEBUG_VALUE 構造体へのポインタである。 |
| RemainderIndex | DWORD* | outoptional | 式の評価に使われなかった残り部分の開始位置を受け取るポインタである。 |
vtbl 64 HRESULT CoerceValue(DEBUG_VALUE* In, DWORD OutType, DEBUG_VALUE* Out)
| In | DEBUG_VALUE* | in | 型変換する入力値を格納した DEBUG_VALUE へのポインタである。 |
| OutType | DWORD | in | 変換後の値の型 (DEBUG_VALUE_*) を指定する。 |
| Out | DEBUG_VALUE* | out | 変換結果の値を受け取る DEBUG_VALUE へのポインタである。 |
vtbl 65 HRESULT CoerceValues(DWORD Count, DEBUG_VALUE* In, DWORD* OutTypes, DEBUG_VALUE* Out)
| Count | DWORD | in | 変換する値の数を指定する。 |
| In | DEBUG_VALUE* | in | 型変換する入力値の配列 (DEBUG_VALUE) へのポインタである。 |
| OutTypes | DWORD* | in | 各値の変換後の型 (DEBUG_VALUE_*) を並べた配列へのポインタである。 |
| Out | DEBUG_VALUE* | out | 変換結果の値を受け取る DEBUG_VALUE 配列へのポインタである。 |
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| Command | LPSTR | in | 実行するデバッガコマンド文字列を指定する。 |
| Flags | DWORD | in | 実行方法を制御する DEBUG_EXECUTE_* フラグを指定する。 |
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| CommandFile | LPSTR | in | 実行するコマンドが記述されたファイルのパスを指定する。 |
| Flags | DWORD | in | 実行方法を制御する DEBUG_EXECUTE_* フラグを指定する。 |
| Number | DWORD* | out | 現在設定されているブレークポイントの数を受け取るポインタである。 |
vtbl 69 HRESULT GetBreakpointByIndex(DWORD Index, IDebugBreakpoint** Bp)
| Index | DWORD | in | 取得するブレークポイントのインデックスを指定する。 |
| Bp | IDebugBreakpoint** | out | 取得した IDebugBreakpoint インターフェイスを受け取るポインタである。 |
vtbl 70 HRESULT GetBreakpointById(DWORD Id, IDebugBreakpoint** Bp)
| Id | DWORD | in | 取得するブレークポイントの ID を指定する。 |
| Bp | IDebugBreakpoint** | out | 取得した IDebugBreakpoint インターフェイスを受け取るポインタである。 |
vtbl 71 HRESULT GetBreakpointParameters(DWORD Count, DWORD* Ids, DWORD Start, DEBUG_BREAKPOINT_PARAMETERS* Params)
| Count | DWORD | in | パラメータを取得するブレークポイントの数を指定する。 |
| Ids | DWORD* | inoptional | 取得対象のブレークポイント ID を並べた配列へのポインタである。NULL の場合は Start からの連続範囲を対象とする。 |
| Start | DWORD | in | Ids が NULL の場合に取得を開始するブレークポイントのインデックスを指定する。 |
| Params | DEBUG_BREAKPOINT_PARAMETERS* | out | 各ブレークポイントのパラメータ (DEBUG_BREAKPOINT_PARAMETERS) を受け取る配列へのポインタである。 |
vtbl 72 HRESULT AddBreakpoint(DWORD Type, DWORD DesiredId, IDebugBreakpoint** Bp)
| Type | DWORD | in | 作成するブレークポイントの種類 (DEBUG_BREAKPOINT_CODE / DATA) を指定する。 |
| DesiredId | DWORD | in | 希望するブレークポイント ID を指定する。任意でよい場合は DEBUG_ANY_ID を指定する。 |
| Bp | IDebugBreakpoint** | out | 作成した IDebugBreakpoint インターフェイスを受け取るポインタである。 |
vtbl 73 HRESULT RemoveBreakpoint(IDebugBreakpoint* Bp)
| Bp | IDebugBreakpoint* | in | 削除するブレークポイントの IDebugBreakpoint を指定する。 |
| Path | LPSTR | in | 読み込む拡張 DLL のパスを指定する。 |
| Flags | DWORD | in | 読み込み方法を制御するフラグを指定する。通常は 0 を指定する。 |
| Handle | ULONGLONG* | out | 読み込んだ拡張 DLL のハンドルを受け取るポインタである。 |
| Handle | ULONGLONG | in | アンロードする拡張 DLL のハンドルを指定する。 |
| Path | LPSTR | in | 検索する拡張 DLL のパスを指定する。 |
| Handle | ULONGLONG* | out | 見つかった拡張 DLL のハンドルを受け取るポインタである。 |
| Handle | ULONGLONG | in | 呼び出す拡張関数を含む拡張 DLL のハンドルを指定する。0 の場合は読み込み済みの全 DLL から検索する。 |
| Function | LPSTR | in | 呼び出す拡張関数の名前を指定する。 |
| Arguments | LPSTR | inoptional | 拡張関数に渡す引数文字列を指定する。不要なら NULL を指定する。 |
| Handle | ULONGLONG | in | 関数ポインタを取得する拡張 DLL のハンドルを指定する。0 の場合は全 DLL から検索する。 |
| FuncName | LPSTR | in | 取得する拡張関数の名前を指定する。 |
| Function | FARPROC* | out | 取得した拡張関数の関数ポインタを受け取るポインタである。 |
vtbl 79 HRESULT GetWindbgExtensionApis32(WINDBG_EXTENSION_APIS32* Api)
| Api | WINDBG_EXTENSION_APIS32* | inout | 32 ビット版拡張 API のテーブル (WINDBG_EXTENSION_APIS32) を受け取るポインタである。呼び出し前に構造体の cb フィールドを設定する。 |
vtbl 80 HRESULT GetWindbgExtensionApis64(WINDBG_EXTENSION_APIS64* Api)
| Api | WINDBG_EXTENSION_APIS64* | inout | 64 ビット版拡張 API のテーブル (WINDBG_EXTENSION_APIS64) を受け取るポインタである。呼び出し前に構造体の cb フィールドを設定する。 |
vtbl 81 HRESULT GetNumberEventFilters(DWORD* SpecificEvents, DWORD* SpecificExceptions, DWORD* ArbitraryExceptions)
| SpecificEvents | DWORD* | out | 特定イベントフィルタの数を受け取るポインタである。 |
| SpecificExceptions | DWORD* | out | 特定例外フィルタの数を受け取るポインタである。 |
| ArbitraryExceptions | DWORD* | out | 任意例外フィルタの数を受け取るポインタである。 |
| Index | DWORD | in | 取得するイベントフィルタのインデックスを指定する。 |
| Buffer | LPSTR | outoptional | イベントフィルタの説明文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| TextSize | DWORD* | outoptional | 説明文字列の格納に必要な文字数を受け取るポインタである。 |
vtbl 83 HRESULT GetEventFilterCommand(DWORD Index, LPSTR Buffer, DWORD BufferSize, DWORD* CommandSize)
| Index | DWORD | in | 取得するイベントフィルタのインデックスを指定する。 |
| Buffer | LPSTR | outoptional | フィルタ発火時に実行するコマンド文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| CommandSize | DWORD* | outoptional | コマンド文字列の格納に必要な文字数を受け取るポインタである。 |
| Index | DWORD | in | 設定するイベントフィルタのインデックスを指定する。 |
| Command | LPSTR | in | フィルタ発火時に実行するコマンド文字列を指定する。 |
vtbl 85 HRESULT GetSpecificFilterParameters(DWORD Start, DWORD Count, DEBUG_SPECIFIC_FILTER_PARAMETERS* Params)
| Start | DWORD | in | 取得を開始する特定イベントフィルタのインデックスを指定する。 |
| Count | DWORD | in | 取得する特定イベントフィルタの数を指定する。 |
| Params | DEBUG_SPECIFIC_FILTER_PARAMETERS* | out | 特定イベントフィルタのパラメータ (DEBUG_SPECIFIC_FILTER_PARAMETERS) を受け取る配列へのポインタである。 |
vtbl 86 HRESULT SetSpecificFilterParameters(DWORD Start, DWORD Count, DEBUG_SPECIFIC_FILTER_PARAMETERS* Params)
| Start | DWORD | in | 設定を開始する特定イベントフィルタのインデックスを指定する。 |
| Count | DWORD | in | 設定する特定イベントフィルタの数を指定する。 |
| Params | DEBUG_SPECIFIC_FILTER_PARAMETERS* | in | 設定する特定イベントフィルタのパラメータ (DEBUG_SPECIFIC_FILTER_PARAMETERS) の配列へのポインタである。 |
vtbl 87 HRESULT GetSpecificFilterArgument(DWORD Index, LPSTR Buffer, DWORD BufferSize, DWORD* ArgumentSize)
| Index | DWORD | in | 対象とする特定イベントフィルタのインデックスを指定する。 |
| Buffer | LPSTR | outoptional | フィルタの引数文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| ArgumentSize | DWORD* | outoptional | 引数文字列の格納に必要な文字数を受け取るポインタである。 |
| Index | DWORD | in | 対象とする特定イベントフィルタのインデックスを指定する。 |
| Argument | LPSTR | in | フィルタに設定する引数文字列を指定する。 |
vtbl 89 HRESULT GetExceptionFilterParameters(DWORD Count, DWORD* Codes, DWORD Start, DEBUG_EXCEPTION_FILTER_PARAMETERS* Params)
| Count | DWORD | in | 取得する例外フィルタの数を指定する。 |
| Codes | DWORD* | inoptional | 取得対象の例外コードを並べた配列へのポインタである。NULL の場合は Start からの連続範囲を対象とする。 |
| Start | DWORD | in | Codes が NULL の場合に取得を開始する例外フィルタのインデックスを指定する。 |
| Params | DEBUG_EXCEPTION_FILTER_PARAMETERS* | out | 例外フィルタのパラメータ (DEBUG_EXCEPTION_FILTER_PARAMETERS) を受け取る配列へのポインタである。 |
vtbl 90 HRESULT SetExceptionFilterParameters(DWORD Count, DEBUG_EXCEPTION_FILTER_PARAMETERS* Params)
| Count | DWORD | in | 設定する例外フィルタの数を指定する。 |
| Params | DEBUG_EXCEPTION_FILTER_PARAMETERS* | in | 設定する例外フィルタのパラメータ (DEBUG_EXCEPTION_FILTER_PARAMETERS) の配列へのポインタである。 |
vtbl 91 HRESULT GetExceptionFilterSecondCommand(DWORD Index, LPSTR Buffer, DWORD BufferSize, DWORD* CommandSize)
| Index | DWORD | in | 対象とする例外フィルタのインデックスを指定する。 |
| Buffer | LPSTR | outoptional | 二度目の例外発生時に実行するコマンド文字列を受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | Buffer のサイズを文字数単位で指定する。 |
| CommandSize | DWORD* | outoptional | コマンド文字列の格納に必要な文字数を受け取るポインタである。 |
| Index | DWORD | in | 対象とする例外フィルタのインデックスを指定する。 |
| Command | LPSTR | in | 二度目の例外発生時に実行するコマンド文字列を指定する。 |
| Flags | DWORD | in | 待機方法を制御する DEBUG_WAIT_* フラグを指定する。 |
| Timeout | DWORD | in | イベントを待機する最大時間をミリ秒単位で指定する。INFINITE を指定すると無期限に待機する。 |
vtbl 94 HRESULT GetLastEventInformation(DWORD* Type, DWORD* ProcessId, DWORD* ThreadId, void* ExtraInformation, DWORD ExtraInformationSize, DWORD* ExtraInformationUsed, LPSTR Description, DWORD DescriptionSize, DWORD* DescriptionUsed)
| Type | DWORD* | out | 最後に発生したイベントの種類 (DEBUG_EVENT_*) を受け取るポインタである。 |
| ProcessId | DWORD* | out | イベントが発生したプロセスのエンジン内 ID を受け取るポインタである。 |
| ThreadId | DWORD* | out | イベントが発生したスレッドのエンジン内 ID を受け取るポインタである。 |
| ExtraInformation | void* | outoptional | イベントに付随する追加情報を受け取るバッファへのポインタである。 |
| ExtraInformationSize | DWORD | in | ExtraInformation バッファのサイズをバイト単位で指定する。 |
| ExtraInformationUsed | DWORD* | outoptional | 追加情報の格納に必要なバイト数を受け取るポインタである。 |
| Description | LPSTR | outoptional | イベントの説明文字列を受け取るバッファへのポインタである。 |
| DescriptionSize | DWORD | in | Description バッファのサイズを文字数単位で指定する。 |
| DescriptionUsed | DWORD* | outoptional | 説明文字列の格納に必要な文字数を受け取るポインタである。 |
| TimeDate | DWORD* | out | デバッグ対象の現在の日時を表すタイムスタンプを受け取るポインタである。 |
| UpTime | DWORD* | out | 対象システムの稼働時間を秒単位で受け取るポインタである。 |
| FormatFlags | DWORD* | out | 現在のダンプの形式を表す DEBUG_FORMAT_* フラグを受け取るポインタである。 |
| NumRepl | DWORD* | out | 現在登録されているテキスト置換エイリアスの数を受け取るポインタである。 |
vtbl 99 HRESULT GetTextReplacement(LPSTR SrcText, DWORD Index, LPSTR SrcBuffer, DWORD SrcBufferSize, DWORD* SrcSize, LPSTR DstBuffer, DWORD DstBufferSize, DWORD* DstSize)
| SrcText | LPSTR | inoptional | 取得する置換エイリアスの置換元テキストを指定する。Index で取得する場合は NULL を指定する。 |
| Index | DWORD | in | SrcText が NULL の場合に取得する置換エイリアスのインデックスを指定する。 |
| SrcBuffer | LPSTR | outoptional | 置換元テキストを受け取るバッファへのポインタである。 |
| SrcBufferSize | DWORD | in | SrcBuffer のサイズを文字数単位で指定する。 |
| SrcSize | DWORD* | outoptional | 置換元テキストの格納に必要な文字数を受け取るポインタである。 |
| DstBuffer | LPSTR | outoptional | 置換先テキストを受け取るバッファへのポインタである。 |
| DstBufferSize | DWORD | in | DstBuffer のサイズを文字数単位で指定する。 |
| DstSize | DWORD* | outoptional | 置換先テキストの格納に必要な文字数を受け取るポインタである。 |
| SrcText | LPSTR | in | 置換元となるテキスト (エイリアス名) を指定する。 |
| DstText | LPSTR | inoptional | 置換先のテキストを指定する。エイリアスを削除する場合は NULL を指定する。 |
vtbl 101 HRESULT RemoveTextReplacements()
| OutputControl | DWORD | in | 出力先を制御する DEBUG_OUTCTL_* 値を指定する。 |
| Flags | DWORD | in | 出力内容を制御する DEBUG_OUT_TEXT_REPL_* フラグを指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDebugControl2 "{D4366723-44DF-4BED-8C7E-4C05424F4588}" #usecom global IDebugControl2 IID_IDebugControl2 "{}" #comfunc global IDebugControl2_GetInterrupt 3 #comfunc global IDebugControl2_SetInterrupt 4 int #comfunc global IDebugControl2_GetInterruptTimeout 5 var #comfunc global IDebugControl2_SetInterruptTimeout 6 int #comfunc global IDebugControl2_GetLogFile 7 var,int,var,var #comfunc global IDebugControl2_OpenLogFile 8 str,int #comfunc global IDebugControl2_CloseLogFile 9 #comfunc global IDebugControl2_GetLogMask 10 var #comfunc global IDebugControl2_SetLogMask 11 int #comfunc global IDebugControl2_Input 12 var,int,var #comfunc global IDebugControl2_ReturnInput 13 str #comfunc global IDebugControl2_Output 14 int,str #comfunc global IDebugControl2_OutputVaList 15 int,str,var #comfunc global IDebugControl2_ControlledOutput 16 int,int,str #comfunc global IDebugControl2_ControlledOutputVaList 17 int,int,str,var #comfunc global IDebugControl2_OutputPrompt 18 int,str #comfunc global IDebugControl2_OutputPromptVaList 19 int,str,var #comfunc global IDebugControl2_GetPromptText 20 var,int,var #comfunc global IDebugControl2_OutputCurrentState 21 int,int #comfunc global IDebugControl2_OutputVersionInformation 22 int #comfunc global IDebugControl2_GetNotifyEventHandle 23 var #comfunc global IDebugControl2_SetNotifyEventHandle 24 int64 #comfunc global IDebugControl2_Assemble 25 int64,str,var #comfunc global IDebugControl2_Disassemble 26 int64,int,var,int,var,var #comfunc global IDebugControl2_GetDisassembleEffectiveOffset 27 var #comfunc global IDebugControl2_OutputDisassembly 28 int,int64,int,var #comfunc global IDebugControl2_OutputDisassemblyLines 29 int,int,int,int64,int,var,var,var,var #comfunc global IDebugControl2_GetNearInstruction 30 int64,int,var #comfunc global IDebugControl2_GetStackTrace 31 int64,int64,int64,var,int,var #comfunc global IDebugControl2_GetReturnOffset 32 var #comfunc global IDebugControl2_OutputStackTrace 33 int,var,int,int #comfunc global IDebugControl2_GetDebuggeeType 34 var,var #comfunc global IDebugControl2_GetActualProcessorType 35 var #comfunc global IDebugControl2_GetExecutingProcessorType 36 var #comfunc global IDebugControl2_GetNumberPossibleExecutingProcessorTypes 37 var #comfunc global IDebugControl2_GetPossibleExecutingProcessorTypes 38 int,int,var #comfunc global IDebugControl2_GetNumberProcessors 39 var #comfunc global IDebugControl2_GetSystemVersion 40 var,var,var,var,int,var,var,var,int,var #comfunc global IDebugControl2_GetPageSize 41 var #comfunc global IDebugControl2_IsPointer64Bit 42 #comfunc global IDebugControl2_ReadBugCheckData 43 var,var,var,var,var #comfunc global IDebugControl2_GetNumberSupportedProcessorTypes 44 var #comfunc global IDebugControl2_GetSupportedProcessorTypes 45 int,int,var #comfunc global IDebugControl2_GetProcessorTypeNames 46 int,var,int,var,var,int,var #comfunc global IDebugControl2_GetEffectiveProcessorType 47 var #comfunc global IDebugControl2_SetEffectiveProcessorType 48 int #comfunc global IDebugControl2_GetExecutionStatus 49 var #comfunc global IDebugControl2_SetExecutionStatus 50 int #comfunc global IDebugControl2_GetCodeLevel 51 var #comfunc global IDebugControl2_SetCodeLevel 52 int #comfunc global IDebugControl2_GetEngineOptions 53 var #comfunc global IDebugControl2_AddEngineOptions 54 int #comfunc global IDebugControl2_RemoveEngineOptions 55 int #comfunc global IDebugControl2_SetEngineOptions 56 int #comfunc global IDebugControl2_GetSystemErrorControl 57 var,var #comfunc global IDebugControl2_SetSystemErrorControl 58 int,int #comfunc global IDebugControl2_GetTextMacro 59 int,var,int,var #comfunc global IDebugControl2_SetTextMacro 60 int,str #comfunc global IDebugControl2_GetRadix 61 var #comfunc global IDebugControl2_SetRadix 62 int #comfunc global IDebugControl2_Evaluate 63 str,int,var,var #comfunc global IDebugControl2_CoerceValue 64 var,int,var #comfunc global IDebugControl2_CoerceValues 65 int,var,var,var #comfunc global IDebugControl2_Execute 66 int,str,int #comfunc global IDebugControl2_ExecuteCommandFile 67 int,str,int #comfunc global IDebugControl2_GetNumberBreakpoints 68 var #comfunc global IDebugControl2_GetBreakpointByIndex 69 int,sptr #comfunc global IDebugControl2_GetBreakpointById 70 int,sptr #comfunc global IDebugControl2_GetBreakpointParameters 71 int,var,int,var #comfunc global IDebugControl2_AddBreakpoint 72 int,int,sptr #comfunc global IDebugControl2_RemoveBreakpoint 73 sptr #comfunc global IDebugControl2_AddExtension 74 str,int,var #comfunc global IDebugControl2_RemoveExtension 75 int64 #comfunc global IDebugControl2_GetExtensionByPath 76 str,var #comfunc global IDebugControl2_CallExtension 77 int64,str,str #comfunc global IDebugControl2_GetExtensionFunction 78 int64,str,sptr #comfunc global IDebugControl2_GetWindbgExtensionApis32 79 var #comfunc global IDebugControl2_GetWindbgExtensionApis64 80 var #comfunc global IDebugControl2_GetNumberEventFilters 81 var,var,var #comfunc global IDebugControl2_GetEventFilterText 82 int,var,int,var #comfunc global IDebugControl2_GetEventFilterCommand 83 int,var,int,var #comfunc global IDebugControl2_SetEventFilterCommand 84 int,str #comfunc global IDebugControl2_GetSpecificFilterParameters 85 int,int,var #comfunc global IDebugControl2_SetSpecificFilterParameters 86 int,int,var #comfunc global IDebugControl2_GetSpecificFilterArgument 87 int,var,int,var #comfunc global IDebugControl2_SetSpecificFilterArgument 88 int,str #comfunc global IDebugControl2_GetExceptionFilterParameters 89 int,var,int,var #comfunc global IDebugControl2_SetExceptionFilterParameters 90 int,var #comfunc global IDebugControl2_GetExceptionFilterSecondCommand 91 int,var,int,var #comfunc global IDebugControl2_SetExceptionFilterSecondCommand 92 int,str #comfunc global IDebugControl2_WaitForEvent 93 int,int #comfunc global IDebugControl2_GetLastEventInformation 94 var,var,var,sptr,int,var,var,int,var #comfunc global IDebugControl2_GetCurrentTimeDate 95 var #comfunc global IDebugControl2_GetCurrentSystemUpTime 96 var #comfunc global IDebugControl2_GetDumpFormatFlags 97 var #comfunc global IDebugControl2_GetNumberTextReplacements 98 var #comfunc global IDebugControl2_GetTextReplacement 99 str,int,var,int,var,var,int,var #comfunc global IDebugControl2_SetTextReplacement 100 str,str #comfunc global IDebugControl2_RemoveTextReplacements 101 #comfunc global IDebugControl2_OutputTextReplacements 102 int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDebugControl2 "{D4366723-44DF-4BED-8C7E-4C05424F4588}" #usecom global IDebugControl2 IID_IDebugControl2 "{}" #comfunc global IDebugControl2_GetInterrupt 3 #comfunc global IDebugControl2_SetInterrupt 4 int #comfunc global IDebugControl2_GetInterruptTimeout 5 sptr #comfunc global IDebugControl2_SetInterruptTimeout 6 int #comfunc global IDebugControl2_GetLogFile 7 sptr,int,sptr,sptr #comfunc global IDebugControl2_OpenLogFile 8 str,int #comfunc global IDebugControl2_CloseLogFile 9 #comfunc global IDebugControl2_GetLogMask 10 sptr #comfunc global IDebugControl2_SetLogMask 11 int #comfunc global IDebugControl2_Input 12 sptr,int,sptr #comfunc global IDebugControl2_ReturnInput 13 str #comfunc global IDebugControl2_Output 14 int,str #comfunc global IDebugControl2_OutputVaList 15 int,str,sptr #comfunc global IDebugControl2_ControlledOutput 16 int,int,str #comfunc global IDebugControl2_ControlledOutputVaList 17 int,int,str,sptr #comfunc global IDebugControl2_OutputPrompt 18 int,str #comfunc global IDebugControl2_OutputPromptVaList 19 int,str,sptr #comfunc global IDebugControl2_GetPromptText 20 sptr,int,sptr #comfunc global IDebugControl2_OutputCurrentState 21 int,int #comfunc global IDebugControl2_OutputVersionInformation 22 int #comfunc global IDebugControl2_GetNotifyEventHandle 23 sptr #comfunc global IDebugControl2_SetNotifyEventHandle 24 int64 #comfunc global IDebugControl2_Assemble 25 int64,str,sptr #comfunc global IDebugControl2_Disassemble 26 int64,int,sptr,int,sptr,sptr #comfunc global IDebugControl2_GetDisassembleEffectiveOffset 27 sptr #comfunc global IDebugControl2_OutputDisassembly 28 int,int64,int,sptr #comfunc global IDebugControl2_OutputDisassemblyLines 29 int,int,int,int64,int,sptr,sptr,sptr,sptr #comfunc global IDebugControl2_GetNearInstruction 30 int64,int,sptr #comfunc global IDebugControl2_GetStackTrace 31 int64,int64,int64,sptr,int,sptr #comfunc global IDebugControl2_GetReturnOffset 32 sptr #comfunc global IDebugControl2_OutputStackTrace 33 int,sptr,int,int #comfunc global IDebugControl2_GetDebuggeeType 34 sptr,sptr #comfunc global IDebugControl2_GetActualProcessorType 35 sptr #comfunc global IDebugControl2_GetExecutingProcessorType 36 sptr #comfunc global IDebugControl2_GetNumberPossibleExecutingProcessorTypes 37 sptr #comfunc global IDebugControl2_GetPossibleExecutingProcessorTypes 38 int,int,sptr #comfunc global IDebugControl2_GetNumberProcessors 39 sptr #comfunc global IDebugControl2_GetSystemVersion 40 sptr,sptr,sptr,sptr,int,sptr,sptr,sptr,int,sptr #comfunc global IDebugControl2_GetPageSize 41 sptr #comfunc global IDebugControl2_IsPointer64Bit 42 #comfunc global IDebugControl2_ReadBugCheckData 43 sptr,sptr,sptr,sptr,sptr #comfunc global IDebugControl2_GetNumberSupportedProcessorTypes 44 sptr #comfunc global IDebugControl2_GetSupportedProcessorTypes 45 int,int,sptr #comfunc global IDebugControl2_GetProcessorTypeNames 46 int,sptr,int,sptr,sptr,int,sptr #comfunc global IDebugControl2_GetEffectiveProcessorType 47 sptr #comfunc global IDebugControl2_SetEffectiveProcessorType 48 int #comfunc global IDebugControl2_GetExecutionStatus 49 sptr #comfunc global IDebugControl2_SetExecutionStatus 50 int #comfunc global IDebugControl2_GetCodeLevel 51 sptr #comfunc global IDebugControl2_SetCodeLevel 52 int #comfunc global IDebugControl2_GetEngineOptions 53 sptr #comfunc global IDebugControl2_AddEngineOptions 54 int #comfunc global IDebugControl2_RemoveEngineOptions 55 int #comfunc global IDebugControl2_SetEngineOptions 56 int #comfunc global IDebugControl2_GetSystemErrorControl 57 sptr,sptr #comfunc global IDebugControl2_SetSystemErrorControl 58 int,int #comfunc global IDebugControl2_GetTextMacro 59 int,sptr,int,sptr #comfunc global IDebugControl2_SetTextMacro 60 int,str #comfunc global IDebugControl2_GetRadix 61 sptr #comfunc global IDebugControl2_SetRadix 62 int #comfunc global IDebugControl2_Evaluate 63 str,int,sptr,sptr #comfunc global IDebugControl2_CoerceValue 64 sptr,int,sptr #comfunc global IDebugControl2_CoerceValues 65 int,sptr,sptr,sptr #comfunc global IDebugControl2_Execute 66 int,str,int #comfunc global IDebugControl2_ExecuteCommandFile 67 int,str,int #comfunc global IDebugControl2_GetNumberBreakpoints 68 sptr #comfunc global IDebugControl2_GetBreakpointByIndex 69 int,sptr #comfunc global IDebugControl2_GetBreakpointById 70 int,sptr #comfunc global IDebugControl2_GetBreakpointParameters 71 int,sptr,int,sptr #comfunc global IDebugControl2_AddBreakpoint 72 int,int,sptr #comfunc global IDebugControl2_RemoveBreakpoint 73 sptr #comfunc global IDebugControl2_AddExtension 74 str,int,sptr #comfunc global IDebugControl2_RemoveExtension 75 int64 #comfunc global IDebugControl2_GetExtensionByPath 76 str,sptr #comfunc global IDebugControl2_CallExtension 77 int64,str,str #comfunc global IDebugControl2_GetExtensionFunction 78 int64,str,sptr #comfunc global IDebugControl2_GetWindbgExtensionApis32 79 sptr #comfunc global IDebugControl2_GetWindbgExtensionApis64 80 sptr #comfunc global IDebugControl2_GetNumberEventFilters 81 sptr,sptr,sptr #comfunc global IDebugControl2_GetEventFilterText 82 int,sptr,int,sptr #comfunc global IDebugControl2_GetEventFilterCommand 83 int,sptr,int,sptr #comfunc global IDebugControl2_SetEventFilterCommand 84 int,str #comfunc global IDebugControl2_GetSpecificFilterParameters 85 int,int,sptr #comfunc global IDebugControl2_SetSpecificFilterParameters 86 int,int,sptr #comfunc global IDebugControl2_GetSpecificFilterArgument 87 int,sptr,int,sptr #comfunc global IDebugControl2_SetSpecificFilterArgument 88 int,str #comfunc global IDebugControl2_GetExceptionFilterParameters 89 int,sptr,int,sptr #comfunc global IDebugControl2_SetExceptionFilterParameters 90 int,sptr #comfunc global IDebugControl2_GetExceptionFilterSecondCommand 91 int,sptr,int,sptr #comfunc global IDebugControl2_SetExceptionFilterSecondCommand 92 int,str #comfunc global IDebugControl2_WaitForEvent 93 int,int #comfunc global IDebugControl2_GetLastEventInformation 94 sptr,sptr,sptr,sptr,int,sptr,sptr,int,sptr #comfunc global IDebugControl2_GetCurrentTimeDate 95 sptr #comfunc global IDebugControl2_GetCurrentSystemUpTime 96 sptr #comfunc global IDebugControl2_GetDumpFormatFlags 97 sptr #comfunc global IDebugControl2_GetNumberTextReplacements 98 sptr #comfunc global IDebugControl2_GetTextReplacement 99 str,int,sptr,int,sptr,sptr,int,sptr #comfunc global IDebugControl2_SetTextReplacement 100 str,str #comfunc global IDebugControl2_RemoveTextReplacements 101 #comfunc global IDebugControl2_OutputTextReplacements 102 int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。