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

Trait ICorProfilerCallback2_Impl

pub trait ICorProfilerCallback2_Impl: ICorProfilerCallback_Impl {
    // Required methods
    fn ThreadNameChanged(
        &self,
        threadid: usize,
        cchname: u32,
        name: &PCWSTR,
    ) -> Result<()>;
    fn GarbageCollectionStarted(
        &self,
        cgenerations: i32,
        generationcollected: *const BOOL,
        reason: COR_PRF_GC_REASON,
    ) -> Result<()>;
    fn SurvivingReferences(
        &self,
        csurvivingobjectidranges: u32,
        objectidrangestart: *const usize,
        cobjectidrangelength: *const u32,
    ) -> Result<()>;
    fn GarbageCollectionFinished(&self) -> Result<()>;
    fn FinalizeableObjectQueued(
        &self,
        finalizerflags: u32,
        objectid: usize,
    ) -> Result<()>;
    fn RootReferences2(
        &self,
        crootrefs: u32,
        rootrefids: *const usize,
        rootkinds: *const COR_PRF_GC_ROOT_KIND,
        rootflags: *const COR_PRF_GC_ROOT_FLAGS,
        rootids: *const usize,
    ) -> Result<()>;
    fn HandleCreated(
        &self,
        handleid: usize,
        initialobjectid: usize,
    ) -> Result<()>;
    fn HandleDestroyed(&self, handleid: usize) -> Result<()>;
}

Required Methods§

fn ThreadNameChanged( &self, threadid: usize, cchname: u32, name: &PCWSTR, ) -> Result<()>

fn GarbageCollectionStarted( &self, cgenerations: i32, generationcollected: *const BOOL, reason: COR_PRF_GC_REASON, ) -> Result<()>

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

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

fn FinalizeableObjectQueued( &self, finalizerflags: u32, objectid: usize, ) -> Result<()>

fn RootReferences2( &self, crootrefs: u32, rootrefids: *const usize, rootkinds: *const COR_PRF_GC_ROOT_KIND, rootflags: *const COR_PRF_GC_ROOT_FLAGS, rootids: *const usize, ) -> Result<()>

fn HandleCreated(&self, handleid: usize, initialobjectid: usize) -> Result<()>

fn HandleDestroyed(&self, handleid: 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§