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.