pub trait IDebugControl3_Impl: Sized {
Show 113 methods // Required methods fn GetInterrupt(&self) -> Result<()>; fn SetInterrupt(&self, flags: u32) -> Result<()>; fn GetInterruptTimeout(&self) -> Result<u32>; fn SetInterruptTimeout(&self, seconds: u32) -> Result<()>; fn GetLogFile( &self, buffer: PSTR, buffersize: u32, filesize: *mut u32, append: *mut BOOL, ) -> Result<()>; fn OpenLogFile(&self, file: &PCSTR, append: BOOL) -> Result<()>; fn CloseLogFile(&self) -> Result<()>; fn GetLogMask(&self) -> Result<u32>; fn SetLogMask(&self, mask: u32) -> Result<()>; fn Input( &self, buffer: PSTR, buffersize: u32, inputsize: *mut u32, ) -> Result<()>; fn ReturnInput(&self, buffer: &PCSTR) -> Result<()>; fn Output(&self, mask: u32, format: &PCSTR) -> Result<()>; fn OutputVaList( &self, mask: u32, format: &PCSTR, args: *const i8, ) -> Result<()>; fn ControlledOutput( &self, outputcontrol: u32, mask: u32, format: &PCSTR, ) -> Result<()>; fn ControlledOutputVaList( &self, outputcontrol: u32, mask: u32, format: &PCSTR, args: *const i8, ) -> Result<()>; fn OutputPrompt(&self, outputcontrol: u32, format: &PCSTR) -> Result<()>; fn OutputPromptVaList( &self, outputcontrol: u32, format: &PCSTR, args: *const i8, ) -> Result<()>; fn GetPromptText( &self, buffer: PSTR, buffersize: u32, textsize: *mut u32, ) -> Result<()>; fn OutputCurrentState(&self, outputcontrol: u32, flags: u32) -> Result<()>; fn OutputVersionInformation(&self, outputcontrol: u32) -> Result<()>; fn GetNotifyEventHandle(&self) -> Result<u64>; fn SetNotifyEventHandle(&self, handle: u64) -> Result<()>; fn Assemble(&self, offset: u64, instr: &PCSTR) -> Result<u64>; fn Disassemble( &self, offset: u64, flags: u32, buffer: PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64, ) -> Result<()>; fn GetDisassembleEffectiveOffset(&self) -> Result<u64>; fn OutputDisassembly( &self, outputcontrol: u32, offset: u64, flags: u32, ) -> Result<u64>; fn OutputDisassemblyLines( &self, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64, ) -> Result<()>; fn GetNearInstruction(&self, offset: u64, delta: i32) -> Result<u64>; fn GetStackTrace( &self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32, ) -> Result<()>; fn GetReturnOffset(&self) -> Result<u64>; fn OutputStackTrace( &self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32, ) -> Result<()>; fn GetDebuggeeType( &self, class: *mut u32, qualifier: *mut u32, ) -> Result<()>; fn GetActualProcessorType(&self) -> Result<u32>; fn GetExecutingProcessorType(&self) -> Result<u32>; fn GetNumberPossibleExecutingProcessorTypes(&self) -> Result<u32>; fn GetPossibleExecutingProcessorTypes( &self, start: u32, count: u32, types: *mut u32, ) -> Result<()>; fn GetNumberProcessors(&self) -> Result<u32>; fn GetSystemVersion( &self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: PSTR, buildstringsize: u32, buildstringused: *mut u32, ) -> Result<()>; fn GetPageSize(&self) -> Result<u32>; fn IsPointer64Bit(&self) -> Result<()>; fn ReadBugCheckData( &self, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64, ) -> Result<()>; fn GetNumberSupportedProcessorTypes(&self) -> Result<u32>; fn GetSupportedProcessorTypes( &self, start: u32, count: u32, types: *mut u32, ) -> Result<()>; fn GetProcessorTypeNames( &self, type: u32, fullnamebuffer: PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32, ) -> Result<()>; fn GetEffectiveProcessorType(&self) -> Result<u32>; fn SetEffectiveProcessorType(&self, type: u32) -> Result<()>; fn GetExecutionStatus(&self) -> Result<u32>; fn SetExecutionStatus(&self, status: u32) -> Result<()>; fn GetCodeLevel(&self) -> Result<u32>; fn SetCodeLevel(&self, level: u32) -> Result<()>; fn GetEngineOptions(&self) -> Result<u32>; fn AddEngineOptions(&self, options: u32) -> Result<()>; fn RemoveEngineOptions(&self, options: u32) -> Result<()>; fn SetEngineOptions(&self, options: u32) -> Result<()>; fn GetSystemErrorControl( &self, outputlevel: *mut u32, breaklevel: *mut u32, ) -> Result<()>; fn SetSystemErrorControl( &self, outputlevel: u32, breaklevel: u32, ) -> Result<()>; fn GetTextMacro( &self, slot: u32, buffer: PSTR, buffersize: u32, macrosize: *mut u32, ) -> Result<()>; fn SetTextMacro(&self, slot: u32, macro: &PCSTR) -> Result<()>; fn GetRadix(&self) -> Result<u32>; fn SetRadix(&self, radix: u32) -> Result<()>; fn Evaluate( &self, expression: &PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32, ) -> Result<()>; fn CoerceValue( &self, in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE, ) -> Result<()>; fn CoerceValues( &self, count: u32, in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE, ) -> Result<()>; fn Execute( &self, outputcontrol: u32, command: &PCSTR, flags: u32, ) -> Result<()>; fn ExecuteCommandFile( &self, outputcontrol: u32, commandfile: &PCSTR, flags: u32, ) -> Result<()>; fn GetNumberBreakpoints(&self) -> Result<u32>; fn GetBreakpointByIndex(&self, index: u32) -> Result<IDebugBreakpoint>; fn GetBreakpointById(&self, id: u32) -> Result<IDebugBreakpoint>; fn GetBreakpointParameters( &self, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS, ) -> Result<()>; fn AddBreakpoint( &self, type: u32, desiredid: u32, ) -> Result<IDebugBreakpoint>; fn RemoveBreakpoint(&self, bp: Option<&IDebugBreakpoint>) -> Result<()>; fn AddExtension(&self, path: &PCSTR, flags: u32) -> Result<u64>; fn RemoveExtension(&self, handle: u64) -> Result<()>; fn GetExtensionByPath(&self, path: &PCSTR) -> Result<u64>; fn CallExtension( &self, handle: u64, function: &PCSTR, arguments: &PCSTR, ) -> Result<()>; fn GetExtensionFunction( &self, handle: u64, funcname: &PCSTR, function: *mut FARPROC, ) -> Result<()>; fn GetWindbgExtensionApis32( &self, api: *mut WINDBG_EXTENSION_APIS32, ) -> Result<()>; fn GetWindbgExtensionApis64( &self, api: *mut WINDBG_EXTENSION_APIS64, ) -> Result<()>; fn GetNumberEventFilters( &self, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32, ) -> Result<()>; fn GetEventFilterText( &self, index: u32, buffer: PSTR, buffersize: u32, textsize: *mut u32, ) -> Result<()>; fn GetEventFilterCommand( &self, index: u32, buffer: PSTR, buffersize: u32, commandsize: *mut u32, ) -> Result<()>; fn SetEventFilterCommand(&self, index: u32, command: &PCSTR) -> Result<()>; fn GetSpecificFilterParameters( &self, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS, ) -> Result<()>; fn SetSpecificFilterParameters( &self, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS, ) -> Result<()>; fn GetSpecificFilterArgument( &self, index: u32, buffer: PSTR, buffersize: u32, argumentsize: *mut u32, ) -> Result<()>; fn SetSpecificFilterArgument( &self, index: u32, argument: &PCSTR, ) -> Result<()>; fn GetExceptionFilterParameters( &self, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS, ) -> Result<()>; fn SetExceptionFilterParameters( &self, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS, ) -> Result<()>; fn GetExceptionFilterSecondCommand( &self, index: u32, buffer: PSTR, buffersize: u32, commandsize: *mut u32, ) -> Result<()>; fn SetExceptionFilterSecondCommand( &self, index: u32, command: &PCSTR, ) -> Result<()>; fn WaitForEvent(&self, flags: u32, timeout: u32) -> Result<()>; fn GetLastEventInformation( &self, type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: PSTR, descriptionsize: u32, descriptionused: *mut u32, ) -> Result<()>; fn GetCurrentTimeDate(&self) -> Result<u32>; fn GetCurrentSystemUpTime(&self) -> Result<u32>; fn GetDumpFormatFlags(&self) -> Result<u32>; fn GetNumberTextReplacements(&self) -> Result<u32>; fn GetTextReplacement( &self, srctext: &PCSTR, index: u32, srcbuffer: PSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: PSTR, dstbuffersize: u32, dstsize: *mut u32, ) -> Result<()>; fn SetTextReplacement(&self, srctext: &PCSTR, dsttext: &PCSTR) -> Result<()>; fn RemoveTextReplacements(&self) -> Result<()>; fn OutputTextReplacements( &self, outputcontrol: u32, flags: u32, ) -> Result<()>; fn GetAssemblyOptions(&self) -> Result<u32>; fn AddAssemblyOptions(&self, options: u32) -> Result<()>; fn RemoveAssemblyOptions(&self, options: u32) -> Result<()>; fn SetAssemblyOptions(&self, options: u32) -> Result<()>; fn GetExpressionSyntax(&self) -> Result<u32>; fn SetExpressionSyntax(&self, flags: u32) -> Result<()>; fn SetExpressionSyntaxByName(&self, abbrevname: &PCSTR) -> Result<()>; fn GetNumberExpressionSyntaxes(&self) -> Result<u32>; fn GetExpressionSyntaxNames( &self, index: u32, fullnamebuffer: PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32, ) -> Result<()>; fn GetNumberEvents(&self) -> Result<u32>; fn GetEventIndexDescription( &self, index: u32, which: u32, buffer: &PCSTR, buffersize: u32, descsize: *mut u32, ) -> Result<()>; fn GetCurrentEventIndex(&self) -> Result<u32>; fn SetNextEventIndex(&self, relation: u32, value: u32) -> Result<u32>;
}

Required Methods§

fn GetInterrupt(&self) -> Result<()>

fn SetInterrupt(&self, flags: u32) -> Result<()>

fn GetInterruptTimeout(&self) -> Result<u32>

fn SetInterruptTimeout(&self, seconds: u32) -> Result<()>

fn GetLogFile( &self, buffer: PSTR, buffersize: u32, filesize: *mut u32, append: *mut BOOL, ) -> Result<()>

fn OpenLogFile(&self, file: &PCSTR, append: BOOL) -> Result<()>

fn CloseLogFile(&self) -> Result<()>

fn GetLogMask(&self) -> Result<u32>

fn SetLogMask(&self, mask: u32) -> Result<()>

fn Input( &self, buffer: PSTR, buffersize: u32, inputsize: *mut u32, ) -> Result<()>

fn ReturnInput(&self, buffer: &PCSTR) -> Result<()>

fn Output(&self, mask: u32, format: &PCSTR) -> Result<()>

fn OutputVaList(&self, mask: u32, format: &PCSTR, args: *const i8) -> Result<()>

fn ControlledOutput( &self, outputcontrol: u32, mask: u32, format: &PCSTR, ) -> Result<()>

fn ControlledOutputVaList( &self, outputcontrol: u32, mask: u32, format: &PCSTR, args: *const i8, ) -> Result<()>

fn OutputPrompt(&self, outputcontrol: u32, format: &PCSTR) -> Result<()>

fn OutputPromptVaList( &self, outputcontrol: u32, format: &PCSTR, args: *const i8, ) -> Result<()>

fn GetPromptText( &self, buffer: PSTR, buffersize: u32, textsize: *mut u32, ) -> Result<()>

fn OutputCurrentState(&self, outputcontrol: u32, flags: u32) -> Result<()>

fn OutputVersionInformation(&self, outputcontrol: u32) -> Result<()>

fn GetNotifyEventHandle(&self) -> Result<u64>

fn SetNotifyEventHandle(&self, handle: u64) -> Result<()>

fn Assemble(&self, offset: u64, instr: &PCSTR) -> Result<u64>

fn Disassemble( &self, offset: u64, flags: u32, buffer: PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64, ) -> Result<()>

fn GetDisassembleEffectiveOffset(&self) -> Result<u64>

fn OutputDisassembly( &self, outputcontrol: u32, offset: u64, flags: u32, ) -> Result<u64>

fn OutputDisassemblyLines( &self, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64, ) -> Result<()>

fn GetNearInstruction(&self, offset: u64, delta: i32) -> Result<u64>

fn GetStackTrace( &self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32, ) -> Result<()>

fn GetReturnOffset(&self) -> Result<u64>

fn OutputStackTrace( &self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32, ) -> Result<()>

fn GetDebuggeeType(&self, class: *mut u32, qualifier: *mut u32) -> Result<()>

fn GetActualProcessorType(&self) -> Result<u32>

fn GetExecutingProcessorType(&self) -> Result<u32>

fn GetNumberPossibleExecutingProcessorTypes(&self) -> Result<u32>

fn GetPossibleExecutingProcessorTypes( &self, start: u32, count: u32, types: *mut u32, ) -> Result<()>

fn GetNumberProcessors(&self) -> Result<u32>

fn GetSystemVersion( &self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: PSTR, buildstringsize: u32, buildstringused: *mut u32, ) -> Result<()>

fn GetPageSize(&self) -> Result<u32>

fn IsPointer64Bit(&self) -> Result<()>

fn ReadBugCheckData( &self, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64, ) -> Result<()>

fn GetNumberSupportedProcessorTypes(&self) -> Result<u32>

fn GetSupportedProcessorTypes( &self, start: u32, count: u32, types: *mut u32, ) -> Result<()>

fn GetProcessorTypeNames( &self, type: u32, fullnamebuffer: PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32, ) -> Result<()>

fn GetEffectiveProcessorType(&self) -> Result<u32>

fn SetEffectiveProcessorType(&self, type: u32) -> Result<()>

fn GetExecutionStatus(&self) -> Result<u32>

fn SetExecutionStatus(&self, status: u32) -> Result<()>

fn GetCodeLevel(&self) -> Result<u32>

fn SetCodeLevel(&self, level: u32) -> Result<()>

fn GetEngineOptions(&self) -> Result<u32>

fn AddEngineOptions(&self, options: u32) -> Result<()>

fn RemoveEngineOptions(&self, options: u32) -> Result<()>

fn SetEngineOptions(&self, options: u32) -> Result<()>

fn GetSystemErrorControl( &self, outputlevel: *mut u32, breaklevel: *mut u32, ) -> Result<()>

fn SetSystemErrorControl(&self, outputlevel: u32, breaklevel: u32) -> Result<()>

fn GetTextMacro( &self, slot: u32, buffer: PSTR, buffersize: u32, macrosize: *mut u32, ) -> Result<()>

fn SetTextMacro(&self, slot: u32, macro: &PCSTR) -> Result<()>

fn GetRadix(&self) -> Result<u32>

fn SetRadix(&self, radix: u32) -> Result<()>

fn Evaluate( &self, expression: &PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32, ) -> Result<()>

fn CoerceValue( &self, in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE, ) -> Result<()>

fn CoerceValues( &self, count: u32, in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE, ) -> Result<()>

fn Execute(&self, outputcontrol: u32, command: &PCSTR, flags: u32) -> Result<()>

fn ExecuteCommandFile( &self, outputcontrol: u32, commandfile: &PCSTR, flags: u32, ) -> Result<()>

fn GetNumberBreakpoints(&self) -> Result<u32>

fn GetBreakpointByIndex(&self, index: u32) -> Result<IDebugBreakpoint>

fn GetBreakpointById(&self, id: u32) -> Result<IDebugBreakpoint>

fn GetBreakpointParameters( &self, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS, ) -> Result<()>

fn AddBreakpoint(&self, type: u32, desiredid: u32) -> Result<IDebugBreakpoint>

fn RemoveBreakpoint(&self, bp: Option<&IDebugBreakpoint>) -> Result<()>

fn AddExtension(&self, path: &PCSTR, flags: u32) -> Result<u64>

fn RemoveExtension(&self, handle: u64) -> Result<()>

fn GetExtensionByPath(&self, path: &PCSTR) -> Result<u64>

fn CallExtension( &self, handle: u64, function: &PCSTR, arguments: &PCSTR, ) -> Result<()>

fn GetExtensionFunction( &self, handle: u64, funcname: &PCSTR, function: *mut FARPROC, ) -> Result<()>

fn GetWindbgExtensionApis32( &self, api: *mut WINDBG_EXTENSION_APIS32, ) -> Result<()>

fn GetWindbgExtensionApis64( &self, api: *mut WINDBG_EXTENSION_APIS64, ) -> Result<()>

fn GetNumberEventFilters( &self, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32, ) -> Result<()>

fn GetEventFilterText( &self, index: u32, buffer: PSTR, buffersize: u32, textsize: *mut u32, ) -> Result<()>

fn GetEventFilterCommand( &self, index: u32, buffer: PSTR, buffersize: u32, commandsize: *mut u32, ) -> Result<()>

fn SetEventFilterCommand(&self, index: u32, command: &PCSTR) -> Result<()>

fn GetSpecificFilterParameters( &self, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS, ) -> Result<()>

fn SetSpecificFilterParameters( &self, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS, ) -> Result<()>

fn GetSpecificFilterArgument( &self, index: u32, buffer: PSTR, buffersize: u32, argumentsize: *mut u32, ) -> Result<()>

fn SetSpecificFilterArgument(&self, index: u32, argument: &PCSTR) -> Result<()>

fn GetExceptionFilterParameters( &self, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS, ) -> Result<()>

fn SetExceptionFilterParameters( &self, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS, ) -> Result<()>

fn GetExceptionFilterSecondCommand( &self, index: u32, buffer: PSTR, buffersize: u32, commandsize: *mut u32, ) -> Result<()>

fn SetExceptionFilterSecondCommand( &self, index: u32, command: &PCSTR, ) -> Result<()>

fn WaitForEvent(&self, flags: u32, timeout: u32) -> Result<()>

fn GetLastEventInformation( &self, type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: PSTR, descriptionsize: u32, descriptionused: *mut u32, ) -> Result<()>

fn GetCurrentTimeDate(&self) -> Result<u32>

fn GetCurrentSystemUpTime(&self) -> Result<u32>

fn GetDumpFormatFlags(&self) -> Result<u32>

fn GetNumberTextReplacements(&self) -> Result<u32>

fn GetTextReplacement( &self, srctext: &PCSTR, index: u32, srcbuffer: PSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: PSTR, dstbuffersize: u32, dstsize: *mut u32, ) -> Result<()>

fn SetTextReplacement(&self, srctext: &PCSTR, dsttext: &PCSTR) -> Result<()>

fn RemoveTextReplacements(&self) -> Result<()>

fn OutputTextReplacements(&self, outputcontrol: u32, flags: u32) -> Result<()>

fn GetAssemblyOptions(&self) -> Result<u32>

fn AddAssemblyOptions(&self, options: u32) -> Result<()>

fn RemoveAssemblyOptions(&self, options: u32) -> Result<()>

fn SetAssemblyOptions(&self, options: u32) -> Result<()>

fn GetExpressionSyntax(&self) -> Result<u32>

fn SetExpressionSyntax(&self, flags: u32) -> Result<()>

fn SetExpressionSyntaxByName(&self, abbrevname: &PCSTR) -> Result<()>

fn GetNumberExpressionSyntaxes(&self) -> Result<u32>

fn GetExpressionSyntaxNames( &self, index: u32, fullnamebuffer: PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32, ) -> Result<()>

fn GetNumberEvents(&self) -> Result<u32>

fn GetEventIndexDescription( &self, index: u32, which: u32, buffer: &PCSTR, buffersize: u32, descsize: *mut u32, ) -> Result<()>

fn GetCurrentEventIndex(&self) -> Result<u32>

fn SetNextEventIndex(&self, relation: u32, value: u32) -> Result<u32>

Object Safety§

This trait is not object safe.

Implementors§