Struct IDebugControl
pub struct IDebugControl(/* private fields */);
Implementations§
§impl IDebugControl
impl IDebugControl
pub unsafe fn GetInterrupt(&self) -> Result<()>
pub unsafe fn SetInterrupt(&self, flags: u32) -> Result<()>
pub unsafe fn GetInterruptTimeout(&self) -> Result<u32>
pub unsafe fn SetInterruptTimeout(&self, seconds: u32) -> Result<()>
pub unsafe fn GetLogFile( &self, buffer: Option<&mut [u8]>, filesize: Option<*mut u32>, append: *mut BOOL, ) -> Result<()>
pub unsafe fn OpenLogFile<P0>(&self, file: P0, append: bool) -> Result<()>where
P0: Param<PCSTR>,
pub unsafe fn CloseLogFile(&self) -> Result<()>
pub unsafe fn GetLogMask(&self) -> Result<u32>
pub unsafe fn SetLogMask(&self, mask: u32) -> Result<()>
pub unsafe fn Input( &self, buffer: &mut [u8], inputsize: Option<*mut u32>, ) -> Result<()>
pub unsafe fn ReturnInput<P0>(&self, buffer: P0) -> Result<()>where
P0: Param<PCSTR>,
pub unsafe fn Output<P1>(&self, mask: u32, format: P1) -> Result<()>where
P1: Param<PCSTR>,
pub unsafe fn OutputVaList<P1>(
&self,
mask: u32,
format: P1,
args: *const i8,
) -> Result<()>where
P1: Param<PCSTR>,
pub unsafe fn ControlledOutput<P2>(
&self,
outputcontrol: u32,
mask: u32,
format: P2,
) -> Result<()>where
P2: Param<PCSTR>,
pub unsafe fn ControlledOutputVaList<P2>(
&self,
outputcontrol: u32,
mask: u32,
format: P2,
args: *const i8,
) -> Result<()>where
P2: Param<PCSTR>,
pub unsafe fn OutputPrompt<P1>(
&self,
outputcontrol: u32,
format: P1,
) -> Result<()>where
P1: Param<PCSTR>,
pub unsafe fn OutputPromptVaList<P1>(
&self,
outputcontrol: u32,
format: P1,
args: *const i8,
) -> Result<()>where
P1: Param<PCSTR>,
pub unsafe fn GetPromptText( &self, buffer: Option<&mut [u8]>, textsize: Option<*mut u32>, ) -> Result<()>
pub unsafe fn OutputCurrentState( &self, outputcontrol: u32, flags: u32, ) -> Result<()>
pub unsafe fn OutputVersionInformation(&self, outputcontrol: u32) -> Result<()>
pub unsafe fn GetNotifyEventHandle(&self) -> Result<u64>
pub unsafe fn SetNotifyEventHandle(&self, handle: u64) -> Result<()>
pub unsafe fn Assemble<P1>(&self, offset: u64, instr: P1) -> Result<u64>where
P1: Param<PCSTR>,
pub unsafe fn Disassemble( &self, offset: u64, flags: u32, buffer: Option<&mut [u8]>, disassemblysize: Option<*mut u32>, endoffset: *mut u64, ) -> Result<()>
pub unsafe fn GetDisassembleEffectiveOffset(&self) -> Result<u64>
pub unsafe fn OutputDisassembly( &self, outputcontrol: u32, offset: u64, flags: u32, ) -> Result<u64>
pub unsafe fn OutputDisassemblyLines( &self, outputcontrol: u32, previouslines: u32, offset: u64, flags: u32, offsetline: Option<*mut u32>, startoffset: Option<*mut u64>, endoffset: Option<*mut u64>, lineoffsets: Option<&mut [u64]>, ) -> Result<()>
pub unsafe fn GetNearInstruction(&self, offset: u64, delta: i32) -> Result<u64>
pub unsafe fn GetStackTrace( &self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: &mut [DEBUG_STACK_FRAME], framesfilled: Option<*mut u32>, ) -> Result<()>
pub unsafe fn GetReturnOffset(&self) -> Result<u64>
pub unsafe fn OutputStackTrace( &self, outputcontrol: u32, frames: Option<&[DEBUG_STACK_FRAME]>, flags: u32, ) -> Result<()>
pub unsafe fn GetDebuggeeType( &self, class: *mut u32, qualifier: *mut u32, ) -> Result<()>
pub unsafe fn GetActualProcessorType(&self) -> Result<u32>
pub unsafe fn GetExecutingProcessorType(&self) -> Result<u32>
pub unsafe fn GetNumberPossibleExecutingProcessorTypes(&self) -> Result<u32>
pub unsafe fn GetPossibleExecutingProcessorTypes( &self, start: u32, types: &mut [u32], ) -> Result<()>
pub unsafe fn GetNumberProcessors(&self) -> Result<u32>
pub unsafe fn GetSystemVersion( &self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: Option<&mut [u8]>, servicepackstringused: Option<*mut u32>, servicepacknumber: *mut u32, buildstring: Option<&mut [u8]>, buildstringused: Option<*mut u32>, ) -> Result<()>
pub unsafe fn GetPageSize(&self) -> Result<u32>
pub unsafe fn IsPointer64Bit(&self) -> Result<()>
pub unsafe fn ReadBugCheckData( &self, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64, ) -> Result<()>
pub unsafe fn GetNumberSupportedProcessorTypes(&self) -> Result<u32>
pub unsafe fn GetSupportedProcessorTypes( &self, start: u32, types: &mut [u32], ) -> Result<()>
pub unsafe fn GetProcessorTypeNames( &self, type: u32, fullnamebuffer: Option<&mut [u8]>, fullnamesize: Option<*mut u32>, abbrevnamebuffer: Option<&mut [u8]>, abbrevnamesize: Option<*mut u32>, ) -> Result<()>
pub unsafe fn GetEffectiveProcessorType(&self) -> Result<u32>
pub unsafe fn SetEffectiveProcessorType(&self, type: u32) -> Result<()>
pub unsafe fn GetExecutionStatus(&self) -> Result<u32>
pub unsafe fn SetExecutionStatus(&self, status: u32) -> Result<()>
pub unsafe fn GetCodeLevel(&self) -> Result<u32>
pub unsafe fn SetCodeLevel(&self, level: u32) -> Result<()>
pub unsafe fn GetEngineOptions(&self) -> Result<u32>
pub unsafe fn AddEngineOptions(&self, options: u32) -> Result<()>
pub unsafe fn RemoveEngineOptions(&self, options: u32) -> Result<()>
pub unsafe fn SetEngineOptions(&self, options: u32) -> Result<()>
pub unsafe fn GetSystemErrorControl( &self, outputlevel: *mut u32, breaklevel: *mut u32, ) -> Result<()>
pub unsafe fn SetSystemErrorControl( &self, outputlevel: u32, breaklevel: u32, ) -> Result<()>
pub unsafe fn GetTextMacro( &self, slot: u32, buffer: Option<&mut [u8]>, macrosize: Option<*mut u32>, ) -> Result<()>
pub unsafe fn SetTextMacro<P1>(&self, slot: u32, macro: P1) -> Result<()>where
P1: Param<PCSTR>,
pub unsafe fn GetRadix(&self) -> Result<u32>
pub unsafe fn SetRadix(&self, radix: u32) -> Result<()>
pub unsafe fn Evaluate<P0>(
&self,
expression: P0,
desiredtype: u32,
value: *mut DEBUG_VALUE,
remainderindex: Option<*mut u32>,
) -> Result<()>where
P0: Param<PCSTR>,
pub unsafe fn CoerceValue( &self, in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE, ) -> Result<()>
pub unsafe fn CoerceValues( &self, count: u32, in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE, ) -> Result<()>
pub unsafe fn Execute<P1>(
&self,
outputcontrol: u32,
command: P1,
flags: u32,
) -> Result<()>where
P1: Param<PCSTR>,
pub unsafe fn ExecuteCommandFile<P1>(
&self,
outputcontrol: u32,
commandfile: P1,
flags: u32,
) -> Result<()>where
P1: Param<PCSTR>,
pub unsafe fn GetNumberBreakpoints(&self) -> Result<u32>
pub unsafe fn GetBreakpointByIndex( &self, index: u32, ) -> Result<IDebugBreakpoint>
pub unsafe fn GetBreakpointById(&self, id: u32) -> Result<IDebugBreakpoint>
pub unsafe fn GetBreakpointParameters( &self, count: u32, ids: Option<*const u32>, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS, ) -> Result<()>
pub unsafe fn AddBreakpoint( &self, type: u32, desiredid: u32, ) -> Result<IDebugBreakpoint>
pub unsafe fn RemoveBreakpoint<P0>(&self, bp: P0) -> Result<()>where
P0: Param<IDebugBreakpoint>,
pub unsafe fn AddExtension<P0>(&self, path: P0, flags: u32) -> Result<u64>where
P0: Param<PCSTR>,
pub unsafe fn RemoveExtension(&self, handle: u64) -> Result<()>
pub unsafe fn GetExtensionByPath<P0>(&self, path: P0) -> Result<u64>where
P0: Param<PCSTR>,
pub unsafe fn CallExtension<P1, P2>(
&self,
handle: u64,
function: P1,
arguments: P2,
) -> Result<()>where
P1: Param<PCSTR>,
P2: Param<PCSTR>,
pub unsafe fn GetExtensionFunction<P1>(
&self,
handle: u64,
funcname: P1,
) -> Result<FARPROC>where
P1: Param<PCSTR>,
pub unsafe fn GetWindbgExtensionApis32( &self, api: *mut WINDBG_EXTENSION_APIS32, ) -> Result<()>
pub unsafe fn GetWindbgExtensionApis64( &self, api: *mut WINDBG_EXTENSION_APIS64, ) -> Result<()>
pub unsafe fn GetNumberEventFilters( &self, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32, ) -> Result<()>
pub unsafe fn GetEventFilterText( &self, index: u32, buffer: Option<&mut [u8]>, textsize: Option<*mut u32>, ) -> Result<()>
pub unsafe fn GetEventFilterCommand( &self, index: u32, buffer: Option<&mut [u8]>, commandsize: Option<*mut u32>, ) -> Result<()>
pub unsafe fn SetEventFilterCommand<P1>(
&self,
index: u32,
command: P1,
) -> Result<()>where
P1: Param<PCSTR>,
pub unsafe fn GetSpecificFilterParameters( &self, start: u32, params: &mut [DEBUG_SPECIFIC_FILTER_PARAMETERS], ) -> Result<()>
pub unsafe fn SetSpecificFilterParameters( &self, start: u32, params: &[DEBUG_SPECIFIC_FILTER_PARAMETERS], ) -> Result<()>
pub unsafe fn GetSpecificFilterArgument( &self, index: u32, buffer: Option<&mut [u8]>, argumentsize: Option<*mut u32>, ) -> Result<()>
pub unsafe fn SetSpecificFilterArgument<P1>(
&self,
index: u32,
argument: P1,
) -> Result<()>where
P1: Param<PCSTR>,
pub unsafe fn GetExceptionFilterParameters( &self, count: u32, codes: Option<*const u32>, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS, ) -> Result<()>
pub unsafe fn SetExceptionFilterParameters( &self, params: &[DEBUG_EXCEPTION_FILTER_PARAMETERS], ) -> Result<()>
pub unsafe fn GetExceptionFilterSecondCommand( &self, index: u32, buffer: Option<&mut [u8]>, commandsize: Option<*mut u32>, ) -> Result<()>
pub unsafe fn SetExceptionFilterSecondCommand<P1>(
&self,
index: u32,
command: P1,
) -> Result<()>where
P1: Param<PCSTR>,
pub unsafe fn WaitForEvent(&self, flags: u32, timeout: u32) -> Result<()>
pub unsafe fn GetLastEventInformation( &self, type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: Option<*mut c_void>, extrainformationsize: u32, extrainformationused: Option<*mut u32>, description: Option<&mut [u8]>, descriptionused: Option<*mut u32>, ) -> Result<()>
Trait Implementations§
§impl CanInto<IUnknown> for IDebugControl
impl CanInto<IUnknown> for IDebugControl
§impl Clone for IDebugControl
impl Clone for IDebugControl
§fn clone(&self) -> IDebugControl
fn clone(&self) -> IDebugControl
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Debug for IDebugControl
impl Debug for IDebugControl
§impl From<&IDebugControl> for &IUnknown
impl From<&IDebugControl> for &IUnknown
§fn from(value: &IDebugControl) -> Self
fn from(value: &IDebugControl) -> Self
Converts to this type from the input type.
§impl From<IDebugControl> for IUnknown
impl From<IDebugControl> for IUnknown
§fn from(value: IDebugControl) -> Self
fn from(value: IDebugControl) -> Self
Converts to this type from the input type.
§impl Interface for IDebugControl
impl Interface for IDebugControl
§fn as_raw(&self) -> *mut c_void
fn as_raw(&self) -> *mut c_void
Returns the raw COM interface pointer. The resulting pointer continues to be owned by the
Interface
implementation.§fn into_raw(self) -> *mut c_void
fn into_raw(self) -> *mut c_void
Returns the raw COM interface pointer and releases ownership. It the caller’s responsibility to release the COM interface pointer.
§unsafe fn from_raw_borrowed(raw: &*mut c_void) -> Option<&Self>
unsafe fn from_raw_borrowed(raw: &*mut c_void) -> Option<&Self>
§fn cast<T>(&self) -> Result<T, Error>where
T: Interface,
fn cast<T>(&self) -> Result<T, Error>where
T: Interface,
Attempts to cast the current interface to another interface using
QueryInterface
. Read more§fn cast_to_any<T>(&self) -> Result<&(dyn Any + 'static), Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
fn cast_to_any<T>(&self) -> Result<&(dyn Any + 'static), Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
This casts the given COM interface to [
&dyn Any
]. Read more§fn is_object<T>(&self) -> boolwhere
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
fn is_object<T>(&self) -> boolwhere
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
§fn cast_object_ref<T>(&self) -> Result<&<T as ComObjectInner>::Outer, Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
fn cast_object_ref<T>(&self) -> Result<&<T as ComObjectInner>::Outer, Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
This casts the given COM interface to [
&dyn Any
]. It returns a reference to the “outer”
object, e.g. &MyApp_Impl
, not the inner &MyApp
object. Read more§fn cast_object<T>(&self) -> Result<ComObject<T>, Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
fn cast_object<T>(&self) -> Result<ComObject<T>, Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
This casts the given COM interface to [
&dyn Any
]. It returns a reference to the “outer”
object, e.g. MyApp_Impl
, not the inner MyApp
object. Read more§fn downgrade(&self) -> Result<Weak<Self>, Error>
fn downgrade(&self) -> Result<Weak<Self>, Error>
Attempts to create a [
Weak
] reference to this object.§impl PartialEq for IDebugControl
impl PartialEq for IDebugControl
impl Eq for IDebugControl
impl StructuralPartialEq for IDebugControl
Auto Trait Implementations§
impl Freeze for IDebugControl
impl RefUnwindSafe for IDebugControl
impl !Send for IDebugControl
impl !Sync for IDebugControl
impl Unpin for IDebugControl
impl UnwindSafe for IDebugControl
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more