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.