pub trait IDiaStackWalkHelper_Impl: Sized {
    // Required methods
    fn get_registerValue(&self, index: u32) -> Result<u64>;
    fn put_registerValue(&self, index: u32, newval: u64) -> Result<()>;
    fn readMemory(
        &self,
        type: MemoryTypeEnum,
        va: u64,
        cbdata: u32,
        pcbdata: *mut u32,
        pbdata: *mut u8
    ) -> Result<()>;
    fn searchForReturnAddress(
        &self,
        frame: Option<&IDiaFrameData>
    ) -> Result<u64>;
    fn searchForReturnAddressStart(
        &self,
        frame: Option<&IDiaFrameData>,
        startaddress: u64
    ) -> Result<u64>;
    fn frameForVA(&self, va: u64) -> Result<IDiaFrameData>;
    fn symbolForVA(&self, va: u64) -> Result<IDiaSymbol>;
    fn pdataForVA(
        &self,
        va: u64,
        cbdata: u32,
        pcbdata: *mut u32,
        pbdata: *mut u8
    ) -> Result<()>;
    fn imageForVA(&self, vacontext: u64) -> Result<u64>;
    fn addressForVA(
        &self,
        va: u64,
        pisect: *mut u32,
        poffset: *mut u32
    ) -> Result<()>;
    fn numberOfFunctionFragmentsForVA(
        &self,
        vafunc: u64,
        cbfunc: u32
    ) -> Result<u32>;
    fn functionFragmentsForVA(
        &self,
        vafunc: u64,
        cbfunc: u32,
        cfragments: u32,
        pvafragment: *mut u64,
        plenfragment: *mut u32
    ) -> Result<()>;
}

Required Methods§

fn get_registerValue(&self, index: u32) -> Result<u64>

fn put_registerValue(&self, index: u32, newval: u64) -> Result<()>

fn readMemory( &self, type: MemoryTypeEnum, va: u64, cbdata: u32, pcbdata: *mut u32, pbdata: *mut u8 ) -> Result<()>

fn searchForReturnAddress(&self, frame: Option<&IDiaFrameData>) -> Result<u64>

fn searchForReturnAddressStart( &self, frame: Option<&IDiaFrameData>, startaddress: u64 ) -> Result<u64>

fn frameForVA(&self, va: u64) -> Result<IDiaFrameData>

fn symbolForVA(&self, va: u64) -> Result<IDiaSymbol>

fn pdataForVA( &self, va: u64, cbdata: u32, pcbdata: *mut u32, pbdata: *mut u8 ) -> Result<()>

fn imageForVA(&self, vacontext: u64) -> Result<u64>

fn addressForVA( &self, va: u64, pisect: *mut u32, poffset: *mut u32 ) -> Result<()>

fn numberOfFunctionFragmentsForVA( &self, vafunc: u64, cbfunc: u32 ) -> Result<u32>

fn functionFragmentsForVA( &self, vafunc: u64, cbfunc: u32, cfragments: u32, pvafragment: *mut u64, plenfragment: *mut u32 ) -> Result<()>

Implementors§