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

IDebugControl3

COM
IID7df74a86-b03f-407f-90ab-a20dadcead08継承元IUnknown自前メソッド開始 vtbl3

メソッド 113

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

vtbl 3 HRESULT GetInterrupt()
vtbl 4 HRESULT SetInterrupt(DWORD Flags)
FlagsDWORDin割り込み要求の種類を表す DEBUG_INTERRUPT_* 値を指定する。
vtbl 5 HRESULT GetInterruptTimeout(DWORD* Seconds)
SecondsDWORD*out割り込みのタイムアウト秒数を受け取るポインタである。
vtbl 6 HRESULT SetInterruptTimeout(DWORD Seconds)
SecondsDWORDin割り込みのタイムアウト秒数を指定する。
vtbl 7 HRESULT GetLogFile(LPSTR Buffer, DWORD BufferSize, DWORD* FileSize, BOOL* Append)
BufferLPSTRoutoptional現在のログファイルのパスを受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
FileSizeDWORD*outoptionalパスの格納に必要な文字数を受け取るポインタである。
AppendBOOL*outログファイルが追記モードで開かれているかどうかを受け取るポインタである。
vtbl 8 HRESULT OpenLogFile(LPSTR File, BOOL Append)
FileLPSTRin開くログファイルのパスを指定する。
AppendBOOLin既存ファイルに追記するか (TRUE) 上書きするか (FALSE) を指定する。
vtbl 9 HRESULT CloseLogFile()
vtbl 10 HRESULT GetLogMask(DWORD* Mask)
MaskDWORD*out現在のログ出力マスク (DEBUG_OUTPUT_*) を受け取るポインタである。
vtbl 11 HRESULT SetLogMask(DWORD Mask)
MaskDWORDin設定するログ出力マスク (DEBUG_OUTPUT_*) を指定する。
vtbl 12 HRESULT Input(LPSTR Buffer, DWORD BufferSize, DWORD* InputSize)
BufferLPSTRout入力された文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
InputSizeDWORD*outoptional実際に入力された文字数を受け取るポインタである。
vtbl 13 HRESULT ReturnInput(LPSTR Buffer)
BufferLPSTRin入力待ちの相手に返す文字列を指定する。
vtbl 14 HRESULT Output(DWORD Mask, LPSTR Format)
MaskDWORDin出力の種類を表す出力マスク (DEBUG_OUTPUT_*) を指定する。
FormatLPSTRin出力する内容の書式文字列を指定する。
vtbl 15 HRESULT OutputVaList(DWORD Mask, LPSTR Format, CHAR* Args)
MaskDWORDin出力の種類を表す出力マスク (DEBUG_OUTPUT_*) を指定する。
FormatLPSTRin出力する内容の書式文字列を指定する。
ArgsCHAR*in書式文字列に対応する可変長引数リスト (va_list) を指定する。
vtbl 16 HRESULT ControlledOutput(DWORD OutputControl, DWORD Mask, LPSTR Format)
OutputControlDWORDin出力先を制御する DEBUG_OUTCTL_* 値を指定する。
MaskDWORDin出力の種類を表す出力マスク (DEBUG_OUTPUT_*) を指定する。
FormatLPSTRin出力する内容の書式文字列を指定する。
vtbl 17 HRESULT ControlledOutputVaList(DWORD OutputControl, DWORD Mask, LPSTR Format, CHAR* Args)
OutputControlDWORDin出力先を制御する DEBUG_OUTCTL_* 値を指定する。
MaskDWORDin出力の種類を表す出力マスク (DEBUG_OUTPUT_*) を指定する。
FormatLPSTRin出力する内容の書式文字列を指定する。
ArgsCHAR*in書式文字列に対応する可変長引数リスト (va_list) を指定する。
vtbl 18 HRESULT OutputPrompt(DWORD OutputControl, LPSTR Format)
OutputControlDWORDin出力先を制御する DEBUG_OUTCTL_* 値を指定する。
FormatLPSTRinoptionalプロンプトに続けて出力する書式文字列を指定する。不要なら NULL を指定する。
vtbl 19 HRESULT OutputPromptVaList(DWORD OutputControl, LPSTR Format, CHAR* Args)
OutputControlDWORDin出力先を制御する DEBUG_OUTCTL_* 値を指定する。
FormatLPSTRinoptionalプロンプトに続けて出力する書式文字列を指定する。不要なら NULL を指定する。
ArgsCHAR*in書式文字列に対応する可変長引数リスト (va_list) を指定する。
vtbl 20 HRESULT GetPromptText(LPSTR Buffer, DWORD BufferSize, DWORD* TextSize)
BufferLPSTRoutoptional標準プロンプトのテキストを受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
TextSizeDWORD*outoptionalプロンプトテキストの格納に必要な文字数を受け取るポインタである。
vtbl 21 HRESULT OutputCurrentState(DWORD OutputControl, DWORD Flags)
OutputControlDWORDin出力先を制御する DEBUG_OUTCTL_* 値を指定する。
FlagsDWORDin出力する現在の状態の内容を制御する DEBUG_CURRENT_* フラグを指定する。
vtbl 22 HRESULT OutputVersionInformation(DWORD OutputControl)
OutputControlDWORDin出力先を制御する DEBUG_OUTCTL_* 値を指定する。
vtbl 23 HRESULT GetNotifyEventHandle(ULONGLONG* Handle)
HandleULONGLONG*outセッション開始時にシグナル状態となる通知イベントのハンドルを受け取るポインタである。
vtbl 24 HRESULT SetNotifyEventHandle(ULONGLONG Handle)
HandleULONGLONGinセッション開始時にシグナル状態とする通知イベントのハンドルを指定する。
vtbl 25 HRESULT Assemble(ULONGLONG Offset, LPSTR Instr, ULONGLONG* EndOffset)
OffsetULONGLONGinアセンブルした命令を配置する開始アドレスを指定する。
InstrLPSTRinアセンブルするアセンブリ言語の命令文字列を指定する。
EndOffsetULONGLONG*outアセンブル後の次の命令アドレスを受け取るポインタである。
vtbl 26 HRESULT Disassemble(ULONGLONG Offset, DWORD Flags, LPSTR Buffer, DWORD BufferSize, DWORD* DisassemblySize, ULONGLONG* EndOffset)
OffsetULONGLONGin逆アセンブルする命令のアドレスを指定する。
FlagsDWORDin逆アセンブル方法を制御する DEBUG_DISASM_* フラグを指定する。
BufferLPSTRoutoptional逆アセンブル結果の文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
DisassemblySizeDWORD*outoptional結果文字列の格納に必要な文字数を受け取るポインタである。
EndOffsetULONGLONG*out逆アセンブルした次の命令のアドレスを受け取るポインタである。
vtbl 27 HRESULT GetDisassembleEffectiveOffset(ULONGLONG* Offset)
OffsetULONGLONG*out直前に逆アセンブルした命令の実効アドレスを受け取るポインタである。
vtbl 28 HRESULT OutputDisassembly(DWORD OutputControl, ULONGLONG Offset, DWORD Flags, ULONGLONG* EndOffset)
OutputControlDWORDin出力先を制御する DEBUG_OUTCTL_* 値を指定する。
OffsetULONGLONGin逆アセンブルする命令のアドレスを指定する。
FlagsDWORDin逆アセンブル方法を制御する DEBUG_DISASM_* フラグを指定する。
EndOffsetULONGLONG*out逆アセンブルした次の命令のアドレスを受け取るポインタである。
vtbl 29 HRESULT OutputDisassemblyLines(DWORD OutputControl, DWORD PreviousLines, DWORD TotalLines, ULONGLONG Offset, DWORD Flags, DWORD* OffsetLine, ULONGLONG* StartOffset, ULONGLONG* EndOffset, ULONGLONG* LineOffsets)
OutputControlDWORDin出力先を制御する DEBUG_OUTCTL_* 値を指定する。
PreviousLinesDWORDin指定アドレスより前に出力する行数を指定する。
TotalLinesDWORDin出力する合計行数を指定する。
OffsetULONGLONGin逆アセンブルの中心となる命令のアドレスを指定する。
FlagsDWORDin逆アセンブル方法を制御する DEBUG_DISASM_* フラグを指定する。
OffsetLineDWORD*outoptional指定アドレスに対応する出力行の番号を受け取るポインタである。
StartOffsetULONGLONG*outoptional出力範囲の先頭命令のアドレスを受け取るポインタである。
EndOffsetULONGLONG*outoptional出力範囲の次の命令のアドレスを受け取るポインタである。
LineOffsetsULONGLONG*outoptional各出力行に対応する命令アドレスを受け取る配列へのポインタである。
vtbl 30 HRESULT GetNearInstruction(ULONGLONG Offset, INT Delta, ULONGLONG* NearOffset)
OffsetULONGLONGin基準となる命令のアドレスを指定する。
DeltaINTin基準から前後に数える命令数を指定する。負の値で手前の命令を指す。
NearOffsetULONGLONG*out求めた命令のアドレスを受け取るポインタである。
vtbl 31 HRESULT GetStackTrace(ULONGLONG FrameOffset, ULONGLONG StackOffset, ULONGLONG InstructionOffset, DEBUG_STACK_FRAME* Frames, DWORD FramesSize, DWORD* FramesFilled)
FrameOffsetULONGLONGinスタックトレースの起点とするフレームポインタの値を指定する。0 で現在の値を使う。
StackOffsetULONGLONGinスタックトレースの起点とするスタックポインタの値を指定する。0 で現在の値を使う。
InstructionOffsetULONGLONGinスタックトレースの起点とする命令ポインタの値を指定する。0 で現在の値を使う。
FramesDEBUG_STACK_FRAME*out取得したスタックフレーム情報 (DEBUG_STACK_FRAME) を格納する配列へのポインタである。
FramesSizeDWORDinFrames 配列の容量 (フレーム数) を指定する。
FramesFilledDWORD*outoptional実際に格納されたフレーム数を受け取るポインタである。
vtbl 32 HRESULT GetReturnOffset(ULONGLONG* Offset)
OffsetULONGLONG*out現在の関数からの戻りアドレスを受け取るポインタである。
vtbl 33 HRESULT OutputStackTrace(DWORD OutputControl, DEBUG_STACK_FRAME* Frames, DWORD FramesSize, DWORD Flags)
OutputControlDWORDin出力先を制御する DEBUG_OUTCTL_* 値を指定する。
FramesDEBUG_STACK_FRAME*inoptional出力するスタックフレーム情報 (DEBUG_STACK_FRAME) の配列へのポインタである。NULL の場合は現在のスタックを取得して出力する。
FramesSizeDWORDinFrames 配列のフレーム数を指定する。
FlagsDWORDin出力内容を制御する DEBUG_STACK_* フラグを指定する。
vtbl 34 HRESULT GetDebuggeeType(DWORD* Class, DWORD* Qualifier)
ClassDWORD*outデバッグ対象の種別 (DEBUG_CLASS_*) を受け取るポインタである。
QualifierDWORD*outデバッグ対象の修飾子 (DEBUG_*_QUALIFIER) を受け取るポインタである。
vtbl 35 HRESULT GetActualProcessorType(DWORD* Type)
TypeDWORD*out対象マシンの実際のプロセッサ種別 (IMAGE_FILE_MACHINE_*) を受け取るポインタである。
vtbl 36 HRESULT GetExecutingProcessorType(DWORD* Type)
TypeDWORD*out現在実行中のコードのプロセッサ種別 (IMAGE_FILE_MACHINE_*) を受け取るポインタである。
vtbl 37 HRESULT GetNumberPossibleExecutingProcessorTypes(DWORD* Number)
NumberDWORD*out実行可能なプロセッサ種別の数を受け取るポインタである。
vtbl 38 HRESULT GetPossibleExecutingProcessorTypes(DWORD Start, DWORD Count, DWORD* Types)
StartDWORDin取得を開始するプロセッサ種別のインデックスを指定する。
CountDWORDin取得するプロセッサ種別の数を指定する。
TypesDWORD*outプロセッサ種別 (IMAGE_FILE_MACHINE_*) を受け取る配列へのポインタである。
vtbl 39 HRESULT GetNumberProcessors(DWORD* Number)
NumberDWORD*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)
PlatformIdDWORD*out対象システムのプラットフォーム ID を受け取るポインタである。
MajorDWORD*outシステムのメジャーバージョンを受け取るポインタである。
MinorDWORD*outシステムのマイナーバージョンを受け取るポインタである。
ServicePackStringLPSTRoutoptionalサービスパックを表す文字列を受け取るバッファへのポインタである。
ServicePackStringSizeDWORDinServicePackString バッファのサイズを文字数単位で指定する。
ServicePackStringUsedDWORD*outoptionalサービスパック文字列の格納に必要な文字数を受け取るポインタである。
ServicePackNumberDWORD*outサービスパック番号を受け取るポインタである。
BuildStringLPSTRoutoptionalビルド情報を表す文字列を受け取るバッファへのポインタである。
BuildStringSizeDWORDinBuildString バッファのサイズを文字数単位で指定する。
BuildStringUsedDWORD*outoptionalビルド文字列の格納に必要な文字数を受け取るポインタである。
vtbl 41 HRESULT GetPageSize(DWORD* Size)
SizeDWORD*out対象システムのページサイズをバイト単位で受け取るポインタである。
vtbl 42 HRESULT IsPointer64Bit()
vtbl 43 HRESULT ReadBugCheckData(DWORD* Code, ULONGLONG* Arg1, ULONGLONG* Arg2, ULONGLONG* Arg3, ULONGLONG* Arg4)
CodeDWORD*outバグチェックコード (停止コード) を受け取るポインタである。
Arg1ULONGLONG*outバグチェックの第 1 引数を受け取るポインタである。
Arg2ULONGLONG*outバグチェックの第 2 引数を受け取るポインタである。
Arg3ULONGLONG*outバグチェックの第 3 引数を受け取るポインタである。
Arg4ULONGLONG*outバグチェックの第 4 引数を受け取るポインタである。
vtbl 44 HRESULT GetNumberSupportedProcessorTypes(DWORD* Number)
NumberDWORD*outエンジンがサポートするプロセッサ種別の数を受け取るポインタである。
vtbl 45 HRESULT GetSupportedProcessorTypes(DWORD Start, DWORD Count, DWORD* Types)
StartDWORDin取得を開始するプロセッサ種別のインデックスを指定する。
CountDWORDin取得するプロセッサ種別の数を指定する。
TypesDWORD*outプロセッサ種別 (IMAGE_FILE_MACHINE_*) を受け取る配列へのポインタである。
vtbl 46 HRESULT GetProcessorTypeNames(DWORD Type, LPSTR FullNameBuffer, DWORD FullNameBufferSize, DWORD* FullNameSize, LPSTR AbbrevNameBuffer, DWORD AbbrevNameBufferSize, DWORD* AbbrevNameSize)
TypeDWORDin名前を取得するプロセッサ種別 (IMAGE_FILE_MACHINE_*) を指定する。
FullNameBufferLPSTRoutoptionalプロセッサの正式名称を受け取るバッファへのポインタである。
FullNameBufferSizeDWORDinFullNameBuffer のサイズを文字数単位で指定する。
FullNameSizeDWORD*outoptional正式名称の格納に必要な文字数を受け取るポインタである。
AbbrevNameBufferLPSTRoutoptionalプロセッサの略称を受け取るバッファへのポインタである。
AbbrevNameBufferSizeDWORDinAbbrevNameBuffer のサイズを文字数単位で指定する。
AbbrevNameSizeDWORD*outoptional略称の格納に必要な文字数を受け取るポインタである。
vtbl 47 HRESULT GetEffectiveProcessorType(DWORD* Type)
TypeDWORD*out現在の実効プロセッサ種別 (IMAGE_FILE_MACHINE_*) を受け取るポインタである。
vtbl 48 HRESULT SetEffectiveProcessorType(DWORD Type)
TypeDWORDin設定する実効プロセッサ種別 (IMAGE_FILE_MACHINE_*) を指定する。
vtbl 49 HRESULT GetExecutionStatus(DWORD* Status)
StatusDWORD*out現在の実行状態 (DEBUG_STATUS_*) を受け取るポインタである。
vtbl 50 HRESULT SetExecutionStatus(DWORD Status)
StatusDWORDin設定する実行状態 (DEBUG_STATUS_*) を指定する。
vtbl 51 HRESULT GetCodeLevel(DWORD* Level)
LevelDWORD*out現在のコードレベル (ソースまたはアセンブリ、DEBUG_LEVEL_*) を受け取るポインタである。
vtbl 52 HRESULT SetCodeLevel(DWORD Level)
LevelDWORDin設定するコードレベル (ソースまたはアセンブリ、DEBUG_LEVEL_*) を指定する。
vtbl 53 HRESULT GetEngineOptions(DWORD* Options)
OptionsDWORD*out現在のエンジンオプション (DEBUG_ENGOPT_*) を受け取るポインタである。
vtbl 54 HRESULT AddEngineOptions(DWORD Options)
OptionsDWORDin追加するエンジンオプション (DEBUG_ENGOPT_*) を指定する。
vtbl 55 HRESULT RemoveEngineOptions(DWORD Options)
OptionsDWORDin取り除くエンジンオプション (DEBUG_ENGOPT_*) を指定する。
vtbl 56 HRESULT SetEngineOptions(DWORD Options)
OptionsDWORDin設定するエンジンオプション (DEBUG_ENGOPT_*) を指定する。
vtbl 57 HRESULT GetSystemErrorControl(DWORD* OutputLevel, DWORD* BreakLevel)
OutputLevelDWORD*outシステムエラーを出力する閾値レベルを受け取るポインタである。
BreakLevelDWORD*outシステムエラーで中断する閾値レベルを受け取るポインタである。
vtbl 58 HRESULT SetSystemErrorControl(DWORD OutputLevel, DWORD BreakLevel)
OutputLevelDWORDinシステムエラーを出力する閾値レベルを指定する。
BreakLevelDWORDinシステムエラーで中断する閾値レベルを指定する。
vtbl 59 HRESULT GetTextMacro(DWORD Slot, LPSTR Buffer, DWORD BufferSize, DWORD* MacroSize)
SlotDWORDin取得するテキストマクロのスロット番号 (0〜9) を指定する。
BufferLPSTRoutoptionalマクロの値の文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
MacroSizeDWORD*outoptionalマクロ値の格納に必要な文字数を受け取るポインタである。
vtbl 60 HRESULT SetTextMacro(DWORD Slot, LPSTR Macro)
SlotDWORDin設定するテキストマクロのスロット番号 (0〜9) を指定する。
MacroLPSTRinマクロに設定する文字列を指定する。
vtbl 61 HRESULT GetRadix(DWORD* Radix)
RadixDWORD*out現在の既定の基数を受け取るポインタである。
vtbl 62 HRESULT SetRadix(DWORD Radix)
RadixDWORDin設定する既定の基数 (8/10/16 など) を指定する。
vtbl 63 HRESULT Evaluate(LPSTR Expression, DWORD DesiredType, DEBUG_VALUE* Value, DWORD* RemainderIndex)
ExpressionLPSTRin評価する式の文字列を指定する。
DesiredTypeDWORDin評価結果として希望する値の型 (DEBUG_VALUE_*) を指定する。
ValueDEBUG_VALUE*out評価結果の値を受け取る DEBUG_VALUE 構造体へのポインタである。
RemainderIndexDWORD*outoptional式の評価に使われなかった残り部分の開始位置を受け取るポインタである。
vtbl 64 HRESULT CoerceValue(DEBUG_VALUE* In, DWORD OutType, DEBUG_VALUE* Out)
InDEBUG_VALUE*in型変換する入力値を格納した DEBUG_VALUE へのポインタである。
OutTypeDWORDin変換後の値の型 (DEBUG_VALUE_*) を指定する。
OutDEBUG_VALUE*out変換結果の値を受け取る DEBUG_VALUE へのポインタである。
vtbl 65 HRESULT CoerceValues(DWORD Count, DEBUG_VALUE* In, DWORD* OutTypes, DEBUG_VALUE* Out)
CountDWORDin変換する値の数を指定する。
InDEBUG_VALUE*in型変換する入力値の配列 (DEBUG_VALUE) へのポインタである。
OutTypesDWORD*in各値の変換後の型 (DEBUG_VALUE_*) を並べた配列へのポインタである。
OutDEBUG_VALUE*out変換結果の値を受け取る DEBUG_VALUE 配列へのポインタである。
vtbl 66 HRESULT Execute(DWORD OutputControl, LPSTR Command, DWORD Flags)
OutputControlDWORDin出力先を制御する DEBUG_OUTCTL_* 値を指定する。
CommandLPSTRin実行するデバッガコマンド文字列を指定する。
FlagsDWORDin実行方法を制御する DEBUG_EXECUTE_* フラグを指定する。
vtbl 67 HRESULT ExecuteCommandFile(DWORD OutputControl, LPSTR CommandFile, DWORD Flags)
OutputControlDWORDin出力先を制御する DEBUG_OUTCTL_* 値を指定する。
CommandFileLPSTRin実行するコマンドが記述されたファイルのパスを指定する。
FlagsDWORDin実行方法を制御する DEBUG_EXECUTE_* フラグを指定する。
vtbl 68 HRESULT GetNumberBreakpoints(DWORD* Number)
NumberDWORD*out現在設定されているブレークポイントの数を受け取るポインタである。
vtbl 69 HRESULT GetBreakpointByIndex(DWORD Index, IDebugBreakpoint** Bp)
IndexDWORDin取得するブレークポイントのインデックスを指定する。
BpIDebugBreakpoint**out取得した IDebugBreakpoint インターフェイスを受け取るポインタである。
vtbl 70 HRESULT GetBreakpointById(DWORD Id, IDebugBreakpoint** Bp)
IdDWORDin取得するブレークポイントの ID を指定する。
BpIDebugBreakpoint**out取得した IDebugBreakpoint インターフェイスを受け取るポインタである。
vtbl 71 HRESULT GetBreakpointParameters(DWORD Count, DWORD* Ids, DWORD Start, DEBUG_BREAKPOINT_PARAMETERS* Params)
CountDWORDinパラメータを取得するブレークポイントの数を指定する。
IdsDWORD*inoptional取得対象のブレークポイント ID を並べた配列へのポインタである。NULL の場合は Start からの連続範囲を対象とする。
StartDWORDinIds が NULL の場合に取得を開始するブレークポイントのインデックスを指定する。
ParamsDEBUG_BREAKPOINT_PARAMETERS*out各ブレークポイントのパラメータ (DEBUG_BREAKPOINT_PARAMETERS) を受け取る配列へのポインタである。
vtbl 72 HRESULT AddBreakpoint(DWORD Type, DWORD DesiredId, IDebugBreakpoint** Bp)
TypeDWORDin作成するブレークポイントの種類 (DEBUG_BREAKPOINT_CODE / DATA) を指定する。
DesiredIdDWORDin希望するブレークポイント ID を指定する。任意でよい場合は DEBUG_ANY_ID を指定する。
BpIDebugBreakpoint**out作成した IDebugBreakpoint インターフェイスを受け取るポインタである。
vtbl 73 HRESULT RemoveBreakpoint(IDebugBreakpoint* Bp)
BpIDebugBreakpoint*in削除するブレークポイントの IDebugBreakpoint を指定する。
vtbl 74 HRESULT AddExtension(LPSTR Path, DWORD Flags, ULONGLONG* Handle)
PathLPSTRin読み込む拡張 DLL のパスを指定する。
FlagsDWORDin読み込み方法を制御するフラグを指定する。通常は 0 を指定する。
HandleULONGLONG*out読み込んだ拡張 DLL のハンドルを受け取るポインタである。
vtbl 75 HRESULT RemoveExtension(ULONGLONG Handle)
HandleULONGLONGinアンロードする拡張 DLL のハンドルを指定する。
vtbl 76 HRESULT GetExtensionByPath(LPSTR Path, ULONGLONG* Handle)
PathLPSTRin検索する拡張 DLL のパスを指定する。
HandleULONGLONG*out見つかった拡張 DLL のハンドルを受け取るポインタである。
vtbl 77 HRESULT CallExtension(ULONGLONG Handle, LPSTR Function, LPSTR Arguments)
HandleULONGLONGin呼び出す拡張関数を含む拡張 DLL のハンドルを指定する。0 の場合は読み込み済みの全 DLL から検索する。
FunctionLPSTRin呼び出す拡張関数の名前を指定する。
ArgumentsLPSTRinoptional拡張関数に渡す引数文字列を指定する。不要なら NULL を指定する。
vtbl 78 HRESULT GetExtensionFunction(ULONGLONG Handle, LPSTR FuncName, FARPROC* Function)
HandleULONGLONGin関数ポインタを取得する拡張 DLL のハンドルを指定する。0 の場合は全 DLL から検索する。
FuncNameLPSTRin取得する拡張関数の名前を指定する。
FunctionFARPROC*out取得した拡張関数の関数ポインタを受け取るポインタである。
vtbl 79 HRESULT GetWindbgExtensionApis32(WINDBG_EXTENSION_APIS32* Api)
ApiWINDBG_EXTENSION_APIS32*inout32 ビット版拡張 API のテーブル (WINDBG_EXTENSION_APIS32) を受け取るポインタである。呼び出し前に構造体の cb フィールドを設定する。
vtbl 80 HRESULT GetWindbgExtensionApis64(WINDBG_EXTENSION_APIS64* Api)
ApiWINDBG_EXTENSION_APIS64*inout64 ビット版拡張 API のテーブル (WINDBG_EXTENSION_APIS64) を受け取るポインタである。呼び出し前に構造体の cb フィールドを設定する。
vtbl 81 HRESULT GetNumberEventFilters(DWORD* SpecificEvents, DWORD* SpecificExceptions, DWORD* ArbitraryExceptions)
SpecificEventsDWORD*out特定イベントフィルタの数を受け取るポインタである。
SpecificExceptionsDWORD*out特定例外フィルタの数を受け取るポインタである。
ArbitraryExceptionsDWORD*out任意例外フィルタの数を受け取るポインタである。
vtbl 82 HRESULT GetEventFilterText(DWORD Index, LPSTR Buffer, DWORD BufferSize, DWORD* TextSize)
IndexDWORDin取得するイベントフィルタのインデックスを指定する。
BufferLPSTRoutoptionalイベントフィルタの説明文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
TextSizeDWORD*outoptional説明文字列の格納に必要な文字数を受け取るポインタである。
vtbl 83 HRESULT GetEventFilterCommand(DWORD Index, LPSTR Buffer, DWORD BufferSize, DWORD* CommandSize)
IndexDWORDin取得するイベントフィルタのインデックスを指定する。
BufferLPSTRoutoptionalフィルタ発火時に実行するコマンド文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
CommandSizeDWORD*outoptionalコマンド文字列の格納に必要な文字数を受け取るポインタである。
vtbl 84 HRESULT SetEventFilterCommand(DWORD Index, LPSTR Command)
IndexDWORDin設定するイベントフィルタのインデックスを指定する。
CommandLPSTRinフィルタ発火時に実行するコマンド文字列を指定する。
vtbl 85 HRESULT GetSpecificFilterParameters(DWORD Start, DWORD Count, DEBUG_SPECIFIC_FILTER_PARAMETERS* Params)
StartDWORDin取得を開始する特定イベントフィルタのインデックスを指定する。
CountDWORDin取得する特定イベントフィルタの数を指定する。
ParamsDEBUG_SPECIFIC_FILTER_PARAMETERS*out特定イベントフィルタのパラメータ (DEBUG_SPECIFIC_FILTER_PARAMETERS) を受け取る配列へのポインタである。
vtbl 86 HRESULT SetSpecificFilterParameters(DWORD Start, DWORD Count, DEBUG_SPECIFIC_FILTER_PARAMETERS* Params)
StartDWORDin設定を開始する特定イベントフィルタのインデックスを指定する。
CountDWORDin設定する特定イベントフィルタの数を指定する。
ParamsDEBUG_SPECIFIC_FILTER_PARAMETERS*in設定する特定イベントフィルタのパラメータ (DEBUG_SPECIFIC_FILTER_PARAMETERS) の配列へのポインタである。
vtbl 87 HRESULT GetSpecificFilterArgument(DWORD Index, LPSTR Buffer, DWORD BufferSize, DWORD* ArgumentSize)
IndexDWORDin対象とする特定イベントフィルタのインデックスを指定する。
BufferLPSTRoutoptionalフィルタの引数文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
ArgumentSizeDWORD*outoptional引数文字列の格納に必要な文字数を受け取るポインタである。
vtbl 88 HRESULT SetSpecificFilterArgument(DWORD Index, LPSTR Argument)
IndexDWORDin対象とする特定イベントフィルタのインデックスを指定する。
ArgumentLPSTRinフィルタに設定する引数文字列を指定する。
vtbl 89 HRESULT GetExceptionFilterParameters(DWORD Count, DWORD* Codes, DWORD Start, DEBUG_EXCEPTION_FILTER_PARAMETERS* Params)
CountDWORDin取得する例外フィルタの数を指定する。
CodesDWORD*inoptional取得対象の例外コードを並べた配列へのポインタである。NULL の場合は Start からの連続範囲を対象とする。
StartDWORDinCodes が NULL の場合に取得を開始する例外フィルタのインデックスを指定する。
ParamsDEBUG_EXCEPTION_FILTER_PARAMETERS*out例外フィルタのパラメータ (DEBUG_EXCEPTION_FILTER_PARAMETERS) を受け取る配列へのポインタである。
vtbl 90 HRESULT SetExceptionFilterParameters(DWORD Count, DEBUG_EXCEPTION_FILTER_PARAMETERS* Params)
CountDWORDin設定する例外フィルタの数を指定する。
ParamsDEBUG_EXCEPTION_FILTER_PARAMETERS*in設定する例外フィルタのパラメータ (DEBUG_EXCEPTION_FILTER_PARAMETERS) の配列へのポインタである。
vtbl 91 HRESULT GetExceptionFilterSecondCommand(DWORD Index, LPSTR Buffer, DWORD BufferSize, DWORD* CommandSize)
IndexDWORDin対象とする例外フィルタのインデックスを指定する。
BufferLPSTRoutoptional二度目の例外発生時に実行するコマンド文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
CommandSizeDWORD*outoptionalコマンド文字列の格納に必要な文字数を受け取るポインタである。
vtbl 92 HRESULT SetExceptionFilterSecondCommand(DWORD Index, LPSTR Command)
IndexDWORDin対象とする例外フィルタのインデックスを指定する。
CommandLPSTRin二度目の例外発生時に実行するコマンド文字列を指定する。
vtbl 93 HRESULT WaitForEvent(DWORD Flags, DWORD Timeout)
FlagsDWORDin待機方法を制御する DEBUG_WAIT_* フラグを指定する。
TimeoutDWORDinイベントを待機する最大時間をミリ秒単位で指定する。INFINITE を指定すると無期限に待機する。
vtbl 94 HRESULT GetLastEventInformation(DWORD* Type, DWORD* ProcessId, DWORD* ThreadId, void* ExtraInformation, DWORD ExtraInformationSize, DWORD* ExtraInformationUsed, LPSTR Description, DWORD DescriptionSize, DWORD* DescriptionUsed)
TypeDWORD*out最後に発生したイベントの種類 (DEBUG_EVENT_*) を受け取るポインタである。
ProcessIdDWORD*outイベントが発生したプロセスのエンジン内 ID を受け取るポインタである。
ThreadIdDWORD*outイベントが発生したスレッドのエンジン内 ID を受け取るポインタである。
ExtraInformationvoid*outoptionalイベントに付随する追加情報を受け取るバッファへのポインタである。
ExtraInformationSizeDWORDinExtraInformation バッファのサイズをバイト単位で指定する。
ExtraInformationUsedDWORD*outoptional追加情報の格納に必要なバイト数を受け取るポインタである。
DescriptionLPSTRoutoptionalイベントの説明文字列を受け取るバッファへのポインタである。
DescriptionSizeDWORDinDescription バッファのサイズを文字数単位で指定する。
DescriptionUsedDWORD*outoptional説明文字列の格納に必要な文字数を受け取るポインタである。
vtbl 95 HRESULT GetCurrentTimeDate(DWORD* TimeDate)
TimeDateDWORD*outデバッグ対象の現在の日時を表すタイムスタンプを受け取るポインタである。
vtbl 96 HRESULT GetCurrentSystemUpTime(DWORD* UpTime)
UpTimeDWORD*out対象システムの稼働時間を秒単位で受け取るポインタである。
vtbl 97 HRESULT GetDumpFormatFlags(DWORD* FormatFlags)
FormatFlagsDWORD*out現在のダンプの形式を表す DEBUG_FORMAT_* フラグを受け取るポインタである。
vtbl 98 HRESULT GetNumberTextReplacements(DWORD* NumRepl)
NumReplDWORD*out現在登録されているテキスト置換エイリアスの数を受け取るポインタである。
vtbl 99 HRESULT GetTextReplacement(LPSTR SrcText, DWORD Index, LPSTR SrcBuffer, DWORD SrcBufferSize, DWORD* SrcSize, LPSTR DstBuffer, DWORD DstBufferSize, DWORD* DstSize)
SrcTextLPSTRinoptional取得する置換エイリアスの置換元テキストを指定する。Index で取得する場合は NULL を指定する。
IndexDWORDinSrcText が NULL の場合に取得する置換エイリアスのインデックスを指定する。
SrcBufferLPSTRoutoptional置換元テキストを受け取るバッファへのポインタである。
SrcBufferSizeDWORDinSrcBuffer のサイズを文字数単位で指定する。
SrcSizeDWORD*outoptional置換元テキストの格納に必要な文字数を受け取るポインタである。
DstBufferLPSTRoutoptional置換先テキストを受け取るバッファへのポインタである。
DstBufferSizeDWORDinDstBuffer のサイズを文字数単位で指定する。
DstSizeDWORD*outoptional置換先テキストの格納に必要な文字数を受け取るポインタである。
vtbl 100 HRESULT SetTextReplacement(LPSTR SrcText, LPSTR DstText)
SrcTextLPSTRin置換元となるテキスト (エイリアス名) を指定する。
DstTextLPSTRinoptional置換先のテキストを指定する。エイリアスを削除する場合は NULL を指定する。
vtbl 101 HRESULT RemoveTextReplacements()
vtbl 102 HRESULT OutputTextReplacements(DWORD OutputControl, DWORD Flags)
OutputControlDWORDin出力先を制御する DEBUG_OUTCTL_* 値を指定する。
FlagsDWORDin出力内容を制御する DEBUG_OUT_TEXT_REPL_* フラグを指定する。
vtbl 103 HRESULT GetAssemblyOptions(DWORD* Options)
OptionsDWORD*out現在のアセンブリオプション (DEBUG_ASMOPT_*) を受け取るポインタである。
vtbl 104 HRESULT AddAssemblyOptions(DWORD Options)
OptionsDWORDin追加するアセンブリオプション (DEBUG_ASMOPT_*) を指定する。
vtbl 105 HRESULT RemoveAssemblyOptions(DWORD Options)
OptionsDWORDin取り除くアセンブリオプション (DEBUG_ASMOPT_*) を指定する。
vtbl 106 HRESULT SetAssemblyOptions(DWORD Options)
OptionsDWORDin設定するアセンブリオプション (DEBUG_ASMOPT_*) を指定する。
vtbl 107 HRESULT GetExpressionSyntax(DWORD* Flags)
FlagsDWORD*out現在の式の構文を表すフラグ (DEBUG_EXPR_*) を受け取るポインタである。
vtbl 108 HRESULT SetExpressionSyntax(DWORD Flags)
FlagsDWORDin設定する式の構文を表すフラグ (DEBUG_EXPR_*) を指定する。
vtbl 109 HRESULT SetExpressionSyntaxByName(LPSTR AbbrevName)
AbbrevNameLPSTRin設定する式の構文の略称 (「c++」または「masm」など) を指定する。
vtbl 110 HRESULT GetNumberExpressionSyntaxes(DWORD* Number)
NumberDWORD*out利用可能な式の構文の数を受け取るポインタである。
vtbl 111 HRESULT GetExpressionSyntaxNames(DWORD Index, LPSTR FullNameBuffer, DWORD FullNameBufferSize, DWORD* FullNameSize, LPSTR AbbrevNameBuffer, DWORD AbbrevNameBufferSize, DWORD* AbbrevNameSize)
IndexDWORDin取得する式構文のインデックスを指定する。
FullNameBufferLPSTRoutoptional式構文の正式名称を受け取るバッファへのポインタである。
FullNameBufferSizeDWORDinFullNameBuffer のサイズを文字数単位で指定する。
FullNameSizeDWORD*outoptional正式名称の格納に必要な文字数を受け取るポインタである。
AbbrevNameBufferLPSTRoutoptional式構文の略称を受け取るバッファへのポインタである。
AbbrevNameBufferSizeDWORDinAbbrevNameBuffer のサイズを文字数単位で指定する。
AbbrevNameSizeDWORD*outoptional略称の格納に必要な文字数を受け取るポインタである。
vtbl 112 HRESULT GetNumberEvents(DWORD* Events)
EventsDWORD*out再生可能なイベント (ダンプ等) の数を受け取るポインタである。
vtbl 113 HRESULT GetEventIndexDescription(DWORD Index, DWORD Which, LPSTR Buffer, DWORD BufferSize, DWORD* DescSize)
IndexDWORDin説明を取得するイベントのインデックスを指定する。
WhichDWORDin取得する説明の種類を指定する。
BufferLPSTRinoptionalイベントの説明文字列を受け取るバッファへのポインタである。
BufferSizeDWORDinBuffer のサイズを文字数単位で指定する。
DescSizeDWORD*outoptional説明文字列の格納に必要な文字数を受け取るポインタである。
vtbl 114 HRESULT GetCurrentEventIndex(DWORD* Index)
IndexDWORD*out現在のイベントのインデックスを受け取るポインタである。
vtbl 115 HRESULT SetNextEventIndex(DWORD Relation, DWORD Value, DWORD* NextIndex)
RelationDWORDinValue の基準とする位置 (DEBUG_EINDEX_*、現在位置または先頭) を指定する。
ValueDWORDin基準位置からの相対的なイベントインデックスを指定する。
NextIndexDWORD*out設定後の実際のイベントインデックスを受け取るポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IDebugControl3 "{7DF74A86-B03F-407F-90AB-A20DADCEAD08}"
#usecom global IDebugControl3 IID_IDebugControl3 "{}"
#comfunc global IDebugControl3_GetInterrupt                              3
#comfunc global IDebugControl3_SetInterrupt                              4 int
#comfunc global IDebugControl3_GetInterruptTimeout                       5 var
#comfunc global IDebugControl3_SetInterruptTimeout                       6 int
#comfunc global IDebugControl3_GetLogFile                                7 var,int,var,var
#comfunc global IDebugControl3_OpenLogFile                               8 str,int
#comfunc global IDebugControl3_CloseLogFile                              9
#comfunc global IDebugControl3_GetLogMask                                10 var
#comfunc global IDebugControl3_SetLogMask                                11 int
#comfunc global IDebugControl3_Input                                     12 var,int,var
#comfunc global IDebugControl3_ReturnInput                               13 str
#comfunc global IDebugControl3_Output                                    14 int,str
#comfunc global IDebugControl3_OutputVaList                              15 int,str,var
#comfunc global IDebugControl3_ControlledOutput                          16 int,int,str
#comfunc global IDebugControl3_ControlledOutputVaList                    17 int,int,str,var
#comfunc global IDebugControl3_OutputPrompt                              18 int,str
#comfunc global IDebugControl3_OutputPromptVaList                        19 int,str,var
#comfunc global IDebugControl3_GetPromptText                             20 var,int,var
#comfunc global IDebugControl3_OutputCurrentState                        21 int,int
#comfunc global IDebugControl3_OutputVersionInformation                  22 int
#comfunc global IDebugControl3_GetNotifyEventHandle                      23 var
#comfunc global IDebugControl3_SetNotifyEventHandle                      24 int64
#comfunc global IDebugControl3_Assemble                                  25 int64,str,var
#comfunc global IDebugControl3_Disassemble                               26 int64,int,var,int,var,var
#comfunc global IDebugControl3_GetDisassembleEffectiveOffset             27 var
#comfunc global IDebugControl3_OutputDisassembly                         28 int,int64,int,var
#comfunc global IDebugControl3_OutputDisassemblyLines                    29 int,int,int,int64,int,var,var,var,var
#comfunc global IDebugControl3_GetNearInstruction                        30 int64,int,var
#comfunc global IDebugControl3_GetStackTrace                             31 int64,int64,int64,var,int,var
#comfunc global IDebugControl3_GetReturnOffset                           32 var
#comfunc global IDebugControl3_OutputStackTrace                          33 int,var,int,int
#comfunc global IDebugControl3_GetDebuggeeType                           34 var,var
#comfunc global IDebugControl3_GetActualProcessorType                    35 var
#comfunc global IDebugControl3_GetExecutingProcessorType                 36 var
#comfunc global IDebugControl3_GetNumberPossibleExecutingProcessorTypes  37 var
#comfunc global IDebugControl3_GetPossibleExecutingProcessorTypes        38 int,int,var
#comfunc global IDebugControl3_GetNumberProcessors                       39 var
#comfunc global IDebugControl3_GetSystemVersion                          40 var,var,var,var,int,var,var,var,int,var
#comfunc global IDebugControl3_GetPageSize                               41 var
#comfunc global IDebugControl3_IsPointer64Bit                            42
#comfunc global IDebugControl3_ReadBugCheckData                          43 var,var,var,var,var
#comfunc global IDebugControl3_GetNumberSupportedProcessorTypes          44 var
#comfunc global IDebugControl3_GetSupportedProcessorTypes                45 int,int,var
#comfunc global IDebugControl3_GetProcessorTypeNames                     46 int,var,int,var,var,int,var
#comfunc global IDebugControl3_GetEffectiveProcessorType                 47 var
#comfunc global IDebugControl3_SetEffectiveProcessorType                 48 int
#comfunc global IDebugControl3_GetExecutionStatus                        49 var
#comfunc global IDebugControl3_SetExecutionStatus                        50 int
#comfunc global IDebugControl3_GetCodeLevel                              51 var
#comfunc global IDebugControl3_SetCodeLevel                              52 int
#comfunc global IDebugControl3_GetEngineOptions                          53 var
#comfunc global IDebugControl3_AddEngineOptions                          54 int
#comfunc global IDebugControl3_RemoveEngineOptions                       55 int
#comfunc global IDebugControl3_SetEngineOptions                          56 int
#comfunc global IDebugControl3_GetSystemErrorControl                     57 var,var
#comfunc global IDebugControl3_SetSystemErrorControl                     58 int,int
#comfunc global IDebugControl3_GetTextMacro                              59 int,var,int,var
#comfunc global IDebugControl3_SetTextMacro                              60 int,str
#comfunc global IDebugControl3_GetRadix                                  61 var
#comfunc global IDebugControl3_SetRadix                                  62 int
#comfunc global IDebugControl3_Evaluate                                  63 str,int,var,var
#comfunc global IDebugControl3_CoerceValue                               64 var,int,var
#comfunc global IDebugControl3_CoerceValues                              65 int,var,var,var
#comfunc global IDebugControl3_Execute                                   66 int,str,int
#comfunc global IDebugControl3_ExecuteCommandFile                        67 int,str,int
#comfunc global IDebugControl3_GetNumberBreakpoints                      68 var
#comfunc global IDebugControl3_GetBreakpointByIndex                      69 int,sptr
#comfunc global IDebugControl3_GetBreakpointById                         70 int,sptr
#comfunc global IDebugControl3_GetBreakpointParameters                   71 int,var,int,var
#comfunc global IDebugControl3_AddBreakpoint                             72 int,int,sptr
#comfunc global IDebugControl3_RemoveBreakpoint                          73 sptr
#comfunc global IDebugControl3_AddExtension                              74 str,int,var
#comfunc global IDebugControl3_RemoveExtension                           75 int64
#comfunc global IDebugControl3_GetExtensionByPath                        76 str,var
#comfunc global IDebugControl3_CallExtension                             77 int64,str,str
#comfunc global IDebugControl3_GetExtensionFunction                      78 int64,str,sptr
#comfunc global IDebugControl3_GetWindbgExtensionApis32                  79 var
#comfunc global IDebugControl3_GetWindbgExtensionApis64                  80 var
#comfunc global IDebugControl3_GetNumberEventFilters                     81 var,var,var
#comfunc global IDebugControl3_GetEventFilterText                        82 int,var,int,var
#comfunc global IDebugControl3_GetEventFilterCommand                     83 int,var,int,var
#comfunc global IDebugControl3_SetEventFilterCommand                     84 int,str
#comfunc global IDebugControl3_GetSpecificFilterParameters               85 int,int,var
#comfunc global IDebugControl3_SetSpecificFilterParameters               86 int,int,var
#comfunc global IDebugControl3_GetSpecificFilterArgument                 87 int,var,int,var
#comfunc global IDebugControl3_SetSpecificFilterArgument                 88 int,str
#comfunc global IDebugControl3_GetExceptionFilterParameters              89 int,var,int,var
#comfunc global IDebugControl3_SetExceptionFilterParameters              90 int,var
#comfunc global IDebugControl3_GetExceptionFilterSecondCommand           91 int,var,int,var
#comfunc global IDebugControl3_SetExceptionFilterSecondCommand           92 int,str
#comfunc global IDebugControl3_WaitForEvent                              93 int,int
#comfunc global IDebugControl3_GetLastEventInformation                   94 var,var,var,sptr,int,var,var,int,var
#comfunc global IDebugControl3_GetCurrentTimeDate                        95 var
#comfunc global IDebugControl3_GetCurrentSystemUpTime                    96 var
#comfunc global IDebugControl3_GetDumpFormatFlags                        97 var
#comfunc global IDebugControl3_GetNumberTextReplacements                 98 var
#comfunc global IDebugControl3_GetTextReplacement                        99 str,int,var,int,var,var,int,var
#comfunc global IDebugControl3_SetTextReplacement                        100 str,str
#comfunc global IDebugControl3_RemoveTextReplacements                    101
#comfunc global IDebugControl3_OutputTextReplacements                    102 int,int
#comfunc global IDebugControl3_GetAssemblyOptions                        103 var
#comfunc global IDebugControl3_AddAssemblyOptions                        104 int
#comfunc global IDebugControl3_RemoveAssemblyOptions                     105 int
#comfunc global IDebugControl3_SetAssemblyOptions                        106 int
#comfunc global IDebugControl3_GetExpressionSyntax                       107 var
#comfunc global IDebugControl3_SetExpressionSyntax                       108 int
#comfunc global IDebugControl3_SetExpressionSyntaxByName                 109 str
#comfunc global IDebugControl3_GetNumberExpressionSyntaxes               110 var
#comfunc global IDebugControl3_GetExpressionSyntaxNames                  111 int,var,int,var,var,int,var
#comfunc global IDebugControl3_GetNumberEvents                           112 var
#comfunc global IDebugControl3_GetEventIndexDescription                  113 int,int,str,int,var
#comfunc global IDebugControl3_GetCurrentEventIndex                      114 var
#comfunc global IDebugControl3_SetNextEventIndex                         115 int,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。