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

Trait ICorProfilerInfo2_Impl

pub trait ICorProfilerInfo2_Impl: ICorProfilerInfo_Impl {
Show 21 methods // Required methods fn DoStackSnapshot( &self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const c_void, context: *const u8, contextsize: u32, ) -> Result<()>; fn SetEnterLeaveFunctionHooks2( &self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2, ) -> Result<()>; fn GetFunctionInfo2( &self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize, ) -> Result<()>; fn GetStringLayout( &self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32, ) -> Result<()>; fn GetClassLayout( &self, classid: usize, rfieldoffset: *mut COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32, ) -> Result<()>; fn GetClassIDInfo2( &self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize, ) -> Result<()>; fn GetCodeInfo2( &self, functionid: usize, ccodeinfos: u32, pccodeinfos: *mut u32, codeinfos: *mut COR_PRF_CODE_INFO, ) -> Result<()>; fn GetClassFromTokenAndTypeArgs( &self, moduleid: usize, typedef: u32, ctypeargs: u32, typeargs: *const usize, ) -> Result<usize>; fn GetFunctionFromTokenAndTypeArgs( &self, moduleid: usize, funcdef: u32, classid: usize, ctypeargs: u32, typeargs: *const usize, ) -> Result<usize>; fn EnumModuleFrozenObjects( &self, moduleid: usize, ) -> Result<ICorProfilerObjectEnum>; fn GetArrayObjectInfo( &self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8, ) -> Result<()>; fn GetBoxClassLayout(&self, classid: usize) -> Result<u32>; fn GetThreadAppDomain(&self, threadid: usize) -> Result<usize>; fn GetRVAStaticAddress( &self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut c_void, ) -> Result<()>; fn GetAppDomainStaticAddress( &self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut c_void, ) -> Result<()>; fn GetThreadStaticAddress( &self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut c_void, ) -> Result<()>; fn GetContextStaticAddress( &self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut c_void, ) -> Result<()>; fn GetStaticFieldInfo( &self, classid: usize, fieldtoken: u32, ) -> Result<COR_PRF_STATIC_TYPE>; fn GetGenerationBounds( &self, cobjectranges: u32, pcobjectranges: *mut u32, ranges: *mut COR_PRF_GC_GENERATION_RANGE, ) -> Result<()>; fn GetObjectGeneration( &self, objectid: usize, ) -> Result<COR_PRF_GC_GENERATION_RANGE>; fn GetNotifiedExceptionClauseInfo(&self) -> Result<COR_PRF_EX_CLAUSE_INFO>;
}

Required Methods§

fn DoStackSnapshot( &self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const c_void, context: *const u8, contextsize: u32, ) -> Result<()>

fn SetEnterLeaveFunctionHooks2( &self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2, ) -> Result<()>

fn GetFunctionInfo2( &self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize, ) -> Result<()>

fn GetStringLayout( &self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32, ) -> Result<()>

fn GetClassLayout( &self, classid: usize, rfieldoffset: *mut COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32, ) -> Result<()>

fn GetClassIDInfo2( &self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize, ) -> Result<()>

fn GetCodeInfo2( &self, functionid: usize, ccodeinfos: u32, pccodeinfos: *mut u32, codeinfos: *mut COR_PRF_CODE_INFO, ) -> Result<()>

fn GetClassFromTokenAndTypeArgs( &self, moduleid: usize, typedef: u32, ctypeargs: u32, typeargs: *const usize, ) -> Result<usize>

fn GetFunctionFromTokenAndTypeArgs( &self, moduleid: usize, funcdef: u32, classid: usize, ctypeargs: u32, typeargs: *const usize, ) -> Result<usize>

fn EnumModuleFrozenObjects( &self, moduleid: usize, ) -> Result<ICorProfilerObjectEnum>

fn GetArrayObjectInfo( &self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8, ) -> Result<()>

fn GetBoxClassLayout(&self, classid: usize) -> Result<u32>

fn GetThreadAppDomain(&self, threadid: usize) -> Result<usize>

fn GetRVAStaticAddress( &self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut c_void, ) -> Result<()>

fn GetAppDomainStaticAddress( &self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut c_void, ) -> Result<()>

fn GetThreadStaticAddress( &self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut c_void, ) -> Result<()>

fn GetContextStaticAddress( &self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut c_void, ) -> Result<()>

fn GetStaticFieldInfo( &self, classid: usize, fieldtoken: u32, ) -> Result<COR_PRF_STATIC_TYPE>

fn GetGenerationBounds( &self, cobjectranges: u32, pcobjectranges: *mut u32, ranges: *mut COR_PRF_GC_GENERATION_RANGE, ) -> Result<()>

fn GetObjectGeneration( &self, objectid: usize, ) -> Result<COR_PRF_GC_GENERATION_RANGE>

fn GetNotifiedExceptionClauseInfo(&self) -> Result<COR_PRF_EX_CLAUSE_INFO>

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§