Trait ICorProfilerInfo_Impl
pub trait ICorProfilerInfo_Impl: IUnknownImpl {
Show 33 methods
// Required methods
fn GetClassFromObject(&self, objectid: usize) -> Result<usize>;
fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> Result<usize>;
fn GetCodeInfo(
&self,
functionid: usize,
pstart: *mut *mut u8,
pcsize: *mut u32,
) -> Result<()>;
fn GetEventMask(&self) -> Result<u32>;
fn GetFunctionFromIP(&self, ip: *const u8) -> Result<usize>;
fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> Result<usize>;
fn GetHandleFromThread(&self, threadid: usize) -> Result<HANDLE>;
fn GetObjectSize(&self, objectid: usize) -> Result<u32>;
fn IsArrayClass(
&self,
classid: usize,
pbaseelemtype: *mut CorElementType,
pbaseclassid: *mut usize,
pcrank: *mut u32,
) -> Result<()>;
fn GetThreadInfo(&self, threadid: usize) -> Result<u32>;
fn GetCurrentThreadID(&self) -> Result<usize>;
fn GetClassIDInfo(
&self,
classid: usize,
pmoduleid: *mut usize,
ptypedeftoken: *mut u32,
) -> Result<()>;
fn GetFunctionInfo(
&self,
functionid: usize,
pclassid: *mut usize,
pmoduleid: *mut usize,
ptoken: *mut u32,
) -> Result<()>;
fn SetEventMask(&self, dwevents: u32) -> Result<()>;
fn SetEnterLeaveFunctionHooks(
&self,
pfuncenter: *const FunctionEnter,
pfuncleave: *const FunctionLeave,
pfunctailcall: *const FunctionTailcall,
) -> Result<()>;
fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> Result<()>;
fn GetTokenAndMetaDataFromFunction(
&self,
functionid: usize,
riid: *const GUID,
ppimport: OutRef<'_, IUnknown>,
ptoken: *mut u32,
) -> Result<()>;
fn GetModuleInfo(
&self,
moduleid: usize,
ppbaseloadaddress: *mut *mut u8,
cchname: u32,
pcchname: *mut u32,
szname: PWSTR,
passemblyid: *mut usize,
) -> Result<()>;
fn GetModuleMetaData(
&self,
moduleid: usize,
dwopenflags: u32,
riid: *const GUID,
) -> Result<IUnknown>;
fn GetILFunctionBody(
&self,
moduleid: usize,
methodid: u32,
ppmethodheader: *mut *mut u8,
pcbmethodsize: *mut u32,
) -> Result<()>;
fn GetILFunctionBodyAllocator(
&self,
moduleid: usize,
) -> Result<IMethodMalloc>;
fn SetILFunctionBody(
&self,
moduleid: usize,
methodid: u32,
pbnewilmethodheader: *const u8,
) -> Result<()>;
fn GetAppDomainInfo(
&self,
appdomainid: usize,
cchname: u32,
pcchname: *mut u32,
szname: PWSTR,
pprocessid: *mut usize,
) -> Result<()>;
fn GetAssemblyInfo(
&self,
assemblyid: usize,
cchname: u32,
pcchname: *mut u32,
szname: PWSTR,
pappdomainid: *mut usize,
pmoduleid: *mut usize,
) -> Result<()>;
fn SetFunctionReJIT(&self, functionid: usize) -> Result<()>;
fn ForceGC(&self) -> Result<()>;
fn SetILInstrumentedCodeMap(
&self,
functionid: usize,
fstartjit: BOOL,
cilmapentries: u32,
rgilmapentries: *const COR_IL_MAP,
) -> Result<()>;
fn GetInprocInspectionInterface(&self) -> Result<IUnknown>;
fn GetInprocInspectionIThisThread(&self) -> Result<IUnknown>;
fn GetThreadContext(&self, threadid: usize) -> Result<usize>;
fn BeginInprocDebugging(&self, fthisthreadonly: BOOL) -> Result<u32>;
fn EndInprocDebugging(&self, dwprofilercontext: u32) -> Result<()>;
fn GetILToNativeMapping(
&self,
functionid: usize,
cmap: u32,
pcmap: *mut u32,
map: *mut COR_DEBUG_IL_TO_NATIVE_MAP,
) -> Result<()>;
}
Required Methods§
fn GetClassFromObject(&self, objectid: usize) -> Result<usize>
fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> Result<usize>
fn GetCodeInfo( &self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32, ) -> Result<()>
fn GetEventMask(&self) -> Result<u32>
fn GetFunctionFromIP(&self, ip: *const u8) -> Result<usize>
fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> Result<usize>
fn GetHandleFromThread(&self, threadid: usize) -> Result<HANDLE>
fn GetObjectSize(&self, objectid: usize) -> Result<u32>
fn IsArrayClass( &self, classid: usize, pbaseelemtype: *mut CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32, ) -> Result<()>
fn GetThreadInfo(&self, threadid: usize) -> Result<u32>
fn GetCurrentThreadID(&self) -> Result<usize>
fn GetClassIDInfo( &self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, ) -> Result<()>
fn GetFunctionInfo( &self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ) -> Result<()>
fn SetEventMask(&self, dwevents: u32) -> Result<()>
fn SetEnterLeaveFunctionHooks( &self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall, ) -> Result<()>
fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> Result<()>
fn GetTokenAndMetaDataFromFunction( &self, functionid: usize, riid: *const GUID, ppimport: OutRef<'_, IUnknown>, ptoken: *mut u32, ) -> Result<()>
fn GetModuleInfo( &self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, cchname: u32, pcchname: *mut u32, szname: PWSTR, passemblyid: *mut usize, ) -> Result<()>
fn GetModuleMetaData( &self, moduleid: usize, dwopenflags: u32, riid: *const GUID, ) -> Result<IUnknown>
fn GetILFunctionBody( &self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32, ) -> Result<()>
fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> Result<IMethodMalloc>
fn SetILFunctionBody( &self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8, ) -> Result<()>
fn GetAppDomainInfo( &self, appdomainid: usize, cchname: u32, pcchname: *mut u32, szname: PWSTR, pprocessid: *mut usize, ) -> Result<()>
fn GetAssemblyInfo( &self, assemblyid: usize, cchname: u32, pcchname: *mut u32, szname: PWSTR, pappdomainid: *mut usize, pmoduleid: *mut usize, ) -> Result<()>
fn SetFunctionReJIT(&self, functionid: usize) -> Result<()>
fn ForceGC(&self) -> Result<()>
fn SetILInstrumentedCodeMap( &self, functionid: usize, fstartjit: BOOL, cilmapentries: u32, rgilmapentries: *const COR_IL_MAP, ) -> Result<()>
fn GetInprocInspectionInterface(&self) -> Result<IUnknown>
fn GetInprocInspectionIThisThread(&self) -> Result<IUnknown>
fn GetThreadContext(&self, threadid: usize) -> Result<usize>
fn BeginInprocDebugging(&self, fthisthreadonly: BOOL) -> Result<u32>
fn EndInprocDebugging(&self, dwprofilercontext: u32) -> Result<()>
fn GetILToNativeMapping( &self, functionid: usize, cmap: u32, pcmap: *mut u32, map: *mut COR_DEBUG_IL_TO_NATIVE_MAP, ) -> 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.