windows::Win32::System::Diagnostics::ClrProfiling

Trait ICorProfilerCallback4_Impl

pub trait ICorProfilerCallback4_Impl: ICorProfilerCallback3_Impl {
    // Required methods
    fn ReJITCompilationStarted(
        &self,
        functionid: usize,
        rejitid: usize,
        fissafetoblock: BOOL,
    ) -> Result<()>;
    fn GetReJITParameters(
        &self,
        moduleid: usize,
        methodid: u32,
        pfunctioncontrol: Ref<'_, ICorProfilerFunctionControl>,
    ) -> Result<()>;
    fn ReJITCompilationFinished(
        &self,
        functionid: usize,
        rejitid: usize,
        hrstatus: HRESULT,
        fissafetoblock: BOOL,
    ) -> Result<()>;
    fn ReJITError(
        &self,
        moduleid: usize,
        methodid: u32,
        functionid: usize,
        hrstatus: HRESULT,
    ) -> Result<()>;
    fn MovedReferences2(
        &self,
        cmovedobjectidranges: u32,
        oldobjectidrangestart: *const usize,
        newobjectidrangestart: *const usize,
        cobjectidrangelength: *const usize,
    ) -> Result<()>;
    fn SurvivingReferences2(
        &self,
        csurvivingobjectidranges: u32,
        objectidrangestart: *const usize,
        cobjectidrangelength: *const usize,
    ) -> Result<()>;
}

Required Methods§

fn ReJITCompilationStarted( &self, functionid: usize, rejitid: usize, fissafetoblock: BOOL, ) -> Result<()>

fn GetReJITParameters( &self, moduleid: usize, methodid: u32, pfunctioncontrol: Ref<'_, ICorProfilerFunctionControl>, ) -> Result<()>

fn ReJITCompilationFinished( &self, functionid: usize, rejitid: usize, hrstatus: HRESULT, fissafetoblock: BOOL, ) -> Result<()>

fn ReJITError( &self, moduleid: usize, methodid: u32, functionid: usize, hrstatus: HRESULT, ) -> Result<()>

fn MovedReferences2( &self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const usize, ) -> Result<()>

fn SurvivingReferences2( &self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const usize, ) -> Result<()>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§