| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerAssemblyReferenceProvider(::windows_core::IUnknown); |
| impl ICorProfilerAssemblyReferenceProvider { |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn AddAssemblyReference(&self, passemblyrefinfo: *const COR_PRF_ASSEMBLY_REFERENCE_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).AddAssemblyReference)(::windows_core::Interface::as_raw(self), passemblyrefinfo).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerAssemblyReferenceProvider, ::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for ICorProfilerAssemblyReferenceProvider { |
| type Vtable = ICorProfilerAssemblyReferenceProvider_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerAssemblyReferenceProvider { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x66a78c24_2eef_4f65_b45f_dd1d8038bf3c); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerAssemblyReferenceProvider_Vtbl { |
| pub base__: ::windows_core::IUnknown_Vtbl, |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub AddAssemblyReference: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, passemblyrefinfo: *const COR_PRF_ASSEMBLY_REFERENCE_INFO) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_System_WinRT_Metadata"))] |
| AddAssemblyReference: usize, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerCallback(::windows_core::IUnknown); |
| impl ICorProfilerCallback { |
| pub unsafe fn Initialize<P0>(&self, picorprofilerinfounk: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), picorprofilerinfounk.into_param().abi()).ok() |
| } |
| pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Shutdown)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn AppDomainCreationStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).AppDomainCreationStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainCreationFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).AppDomainCreationFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AppDomainShutdownStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).AppDomainShutdownStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainShutdownFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).AppDomainShutdownFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyLoadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).AssemblyLoadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyLoadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).AssemblyLoadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyUnloadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).AssemblyUnloadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyUnloadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).AssemblyUnloadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleLoadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ModuleLoadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleLoadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ModuleLoadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleUnloadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ModuleUnloadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleUnloadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ModuleUnloadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleAttachedToAssembly(&self, moduleid: usize, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ModuleAttachedToAssembly)(::windows_core::Interface::as_raw(self), moduleid, assemblyid).ok() |
| } |
| pub unsafe fn ClassLoadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ClassLoadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassLoadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ClassLoadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn ClassUnloadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ClassUnloadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassUnloadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ClassUnloadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn FunctionUnloadStarted(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).FunctionUnloadStarted)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).JITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).JITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() |
| } |
| pub unsafe fn JITFunctionPitched(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).JITFunctionPitched)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadDestroyed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ThreadDestroyed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadAssignedToOSThread(&self, managedthreadid: usize, osthreadid: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ThreadAssignedToOSThread)(::windows_core::Interface::as_raw(self), managedthreadid, osthreadid).ok() |
| } |
| pub unsafe fn RemotingClientInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RemotingClientInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientSendingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).RemotingClientSendingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientReceivingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).RemotingClientReceivingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingClientInvocationFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RemotingClientInvocationFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerReceivingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).RemotingServerReceivingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingServerInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RemotingServerInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RemotingServerInvocationReturned(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RemotingServerInvocationReturned)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerSendingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).RemotingServerSendingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn UnmanagedToManagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).UnmanagedToManagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn ManagedToUnmanagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ManagedToUnmanagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn RuntimeSuspendStarted(&self, suspendreason: COR_PRF_SUSPEND_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RuntimeSuspendStarted)(::windows_core::Interface::as_raw(self), suspendreason).ok() |
| } |
| pub unsafe fn RuntimeSuspendFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RuntimeSuspendFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeSuspendAborted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RuntimeSuspendAborted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RuntimeResumeStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RuntimeResumeFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeThreadSuspended(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RuntimeThreadSuspended)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn RuntimeThreadResumed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RuntimeThreadResumed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn MovedReferences(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).MovedReferences)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ObjectAllocated(&self, objectid: usize, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ObjectAllocated)(::windows_core::Interface::as_raw(self), objectid, classid).ok() |
| } |
| pub unsafe fn ObjectsAllocatedByClass(&self, cclasscount: u32, classids: *const usize, cobjects: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ObjectsAllocatedByClass)(::windows_core::Interface::as_raw(self), cclasscount, classids, cobjects).ok() |
| } |
| pub unsafe fn ObjectReferences(&self, objectid: usize, classid: usize, objectrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ObjectReferences)(::windows_core::Interface::as_raw(self), objectid, classid, objectrefids.len().try_into().unwrap(), ::core::mem::transmute(objectrefids.as_ptr())).ok() |
| } |
| pub unsafe fn RootReferences(&self, rootrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RootReferences)(::windows_core::Interface::as_raw(self), rootrefids.len().try_into().unwrap(), ::core::mem::transmute(rootrefids.as_ptr())).ok() |
| } |
| pub unsafe fn ExceptionThrown(&self, thrownobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionThrown)(::windows_core::Interface::as_raw(self), thrownobjectid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionSearchFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionSearchFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionSearchFilterEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionSearchFilterLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchCatcherFound(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionSearchCatcherFound)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerEnter(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionOSHandlerEnter)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerLeave(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionOSHandlerLeave)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionUnwindFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionUnwindFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionUnwindFinallyEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionUnwindFinallyLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCatcherEnter(&self, functionid: usize, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionCatcherEnter)(::windows_core::Interface::as_raw(self), functionid, objectid).ok() |
| } |
| pub unsafe fn ExceptionCatcherLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionCatcherLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn COMClassicVTableCreated(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void, cslots: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).COMClassicVTableCreated)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable, cslots).ok() |
| } |
| pub unsafe fn COMClassicVTableDestroyed(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).COMClassicVTableDestroyed)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherFound(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionCLRCatcherFound)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherExecute(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ExceptionCLRCatcherExecute)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerCallback, ::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for ICorProfilerCallback { |
| type Vtable = ICorProfilerCallback_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerCallback { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x176fbed1_a55c_4796_98ca_a9da0ef883e7); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerCallback_Vtbl { |
| pub base__: ::windows_core::IUnknown_Vtbl, |
| pub Initialize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, picorprofilerinfounk: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub Shutdown: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub AppDomainCreationStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, appdomainid: usize) -> ::windows_core::HRESULT, |
| pub AppDomainCreationFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::HRESULT, |
| pub AppDomainShutdownStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, appdomainid: usize) -> ::windows_core::HRESULT, |
| pub AppDomainShutdownFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::HRESULT, |
| pub AssemblyLoadStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, assemblyid: usize) -> ::windows_core::HRESULT, |
| pub AssemblyLoadFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::HRESULT, |
| pub AssemblyUnloadStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, assemblyid: usize) -> ::windows_core::HRESULT, |
| pub AssemblyUnloadFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::HRESULT, |
| pub ModuleLoadStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize) -> ::windows_core::HRESULT, |
| pub ModuleLoadFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::HRESULT, |
| pub ModuleUnloadStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize) -> ::windows_core::HRESULT, |
| pub ModuleUnloadFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::HRESULT, |
| pub ModuleAttachedToAssembly: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, assemblyid: usize) -> ::windows_core::HRESULT, |
| pub ClassLoadStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize) -> ::windows_core::HRESULT, |
| pub ClassLoadFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::HRESULT, |
| pub ClassUnloadStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize) -> ::windows_core::HRESULT, |
| pub ClassUnloadFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::HRESULT, |
| pub FunctionUnloadStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_Foundation")] |
| pub JITCompilationStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, fissafetoblock: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| JITCompilationStarted: usize, |
| #[cfg(feature = "Win32_Foundation")] |
| pub JITCompilationFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| JITCompilationFinished: usize, |
| #[cfg(feature = "Win32_Foundation")] |
| pub JITCachedFunctionSearchStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, pbusecachedfunction: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| JITCachedFunctionSearchStarted: usize, |
| pub JITCachedFunctionSearchFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::HRESULT, |
| pub JITFunctionPitched: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_Foundation")] |
| pub JITInlining: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, callerid: usize, calleeid: usize, pfshouldinline: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| JITInlining: usize, |
| pub ThreadCreated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, threadid: usize) -> ::windows_core::HRESULT, |
| pub ThreadDestroyed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, threadid: usize) -> ::windows_core::HRESULT, |
| pub ThreadAssignedToOSThread: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, managedthreadid: usize, osthreadid: u32) -> ::windows_core::HRESULT, |
| pub RemotingClientInvocationStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_Foundation")] |
| pub RemotingClientSendingMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcookie: *const ::windows_core::GUID, fisasync: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| RemotingClientSendingMessage: usize, |
| #[cfg(feature = "Win32_Foundation")] |
| pub RemotingClientReceivingReply: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcookie: *const ::windows_core::GUID, fisasync: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| RemotingClientReceivingReply: usize, |
| pub RemotingClientInvocationFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_Foundation")] |
| pub RemotingServerReceivingMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcookie: *const ::windows_core::GUID, fisasync: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| RemotingServerReceivingMessage: usize, |
| pub RemotingServerInvocationStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub RemotingServerInvocationReturned: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_Foundation")] |
| pub RemotingServerSendingReply: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcookie: *const ::windows_core::GUID, fisasync: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| RemotingServerSendingReply: usize, |
| pub UnmanagedToManagedTransition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::HRESULT, |
| pub ManagedToUnmanagedTransition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::HRESULT, |
| pub RuntimeSuspendStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, suspendreason: COR_PRF_SUSPEND_REASON) -> ::windows_core::HRESULT, |
| pub RuntimeSuspendFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub RuntimeSuspendAborted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub RuntimeResumeStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub RuntimeResumeFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub RuntimeThreadSuspended: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, threadid: usize) -> ::windows_core::HRESULT, |
| pub RuntimeThreadResumed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, threadid: usize) -> ::windows_core::HRESULT, |
| pub MovedReferences: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::HRESULT, |
| pub ObjectAllocated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, objectid: usize, classid: usize) -> ::windows_core::HRESULT, |
| pub ObjectsAllocatedByClass: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cclasscount: u32, classids: *const usize, cobjects: *const u32) -> ::windows_core::HRESULT, |
| pub ObjectReferences: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, objectid: usize, classid: usize, cobjectrefs: u32, objectrefids: *const usize) -> ::windows_core::HRESULT, |
| pub RootReferences: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, crootrefs: u32, rootrefids: *const usize) -> ::windows_core::HRESULT, |
| pub ExceptionThrown: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, thrownobjectid: usize) -> ::windows_core::HRESULT, |
| pub ExceptionSearchFunctionEnter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize) -> ::windows_core::HRESULT, |
| pub ExceptionSearchFunctionLeave: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub ExceptionSearchFilterEnter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize) -> ::windows_core::HRESULT, |
| pub ExceptionSearchFilterLeave: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub ExceptionSearchCatcherFound: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize) -> ::windows_core::HRESULT, |
| pub ExceptionOSHandlerEnter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, __unused: usize) -> ::windows_core::HRESULT, |
| pub ExceptionOSHandlerLeave: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, __unused: usize) -> ::windows_core::HRESULT, |
| pub ExceptionUnwindFunctionEnter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize) -> ::windows_core::HRESULT, |
| pub ExceptionUnwindFunctionLeave: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub ExceptionUnwindFinallyEnter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize) -> ::windows_core::HRESULT, |
| pub ExceptionUnwindFinallyLeave: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub ExceptionCatcherEnter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, objectid: usize) -> ::windows_core::HRESULT, |
| pub ExceptionCatcherLeave: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub COMClassicVTableCreated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void, cslots: u32) -> ::windows_core::HRESULT, |
| pub COMClassicVTableDestroyed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub ExceptionCLRCatcherFound: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub ExceptionCLRCatcherExecute: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerCallback10(::windows_core::IUnknown); |
| impl ICorProfilerCallback10 { |
| pub unsafe fn Initialize<P0>(&self, picorprofilerinfounk: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.Initialize)(::windows_core::Interface::as_raw(self), picorprofilerinfounk.into_param().abi()).ok() |
| } |
| pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.Shutdown)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn AppDomainCreationStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.AppDomainCreationStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainCreationFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.AppDomainCreationFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AppDomainShutdownStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.AppDomainShutdownStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainShutdownFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.AppDomainShutdownFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyLoadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.AssemblyLoadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyLoadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.AssemblyLoadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyUnloadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.AssemblyUnloadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyUnloadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.AssemblyUnloadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleLoadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ModuleLoadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleLoadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ModuleLoadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleUnloadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ModuleUnloadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleUnloadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ModuleUnloadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleAttachedToAssembly(&self, moduleid: usize, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ModuleAttachedToAssembly)(::windows_core::Interface::as_raw(self), moduleid, assemblyid).ok() |
| } |
| pub unsafe fn ClassLoadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ClassLoadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassLoadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ClassLoadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn ClassUnloadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ClassUnloadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassUnloadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ClassUnloadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn FunctionUnloadStarted(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.FunctionUnloadStarted)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.JITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.JITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() |
| } |
| pub unsafe fn JITFunctionPitched(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.JITFunctionPitched)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadDestroyed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ThreadDestroyed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadAssignedToOSThread(&self, managedthreadid: usize, osthreadid: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ThreadAssignedToOSThread)(::windows_core::Interface::as_raw(self), managedthreadid, osthreadid).ok() |
| } |
| pub unsafe fn RemotingClientInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingClientInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientSendingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingClientSendingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientReceivingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingClientReceivingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingClientInvocationFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingClientInvocationFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerReceivingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingServerReceivingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingServerInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingServerInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RemotingServerInvocationReturned(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingServerInvocationReturned)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerSendingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingServerSendingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn UnmanagedToManagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.UnmanagedToManagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn ManagedToUnmanagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ManagedToUnmanagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn RuntimeSuspendStarted(&self, suspendreason: COR_PRF_SUSPEND_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RuntimeSuspendStarted)(::windows_core::Interface::as_raw(self), suspendreason).ok() |
| } |
| pub unsafe fn RuntimeSuspendFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RuntimeSuspendFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeSuspendAborted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RuntimeSuspendAborted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RuntimeResumeStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RuntimeResumeFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeThreadSuspended(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RuntimeThreadSuspended)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn RuntimeThreadResumed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RuntimeThreadResumed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn MovedReferences(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.MovedReferences)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ObjectAllocated(&self, objectid: usize, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ObjectAllocated)(::windows_core::Interface::as_raw(self), objectid, classid).ok() |
| } |
| pub unsafe fn ObjectsAllocatedByClass(&self, cclasscount: u32, classids: *const usize, cobjects: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ObjectsAllocatedByClass)(::windows_core::Interface::as_raw(self), cclasscount, classids, cobjects).ok() |
| } |
| pub unsafe fn ObjectReferences(&self, objectid: usize, classid: usize, objectrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ObjectReferences)(::windows_core::Interface::as_raw(self), objectid, classid, objectrefids.len().try_into().unwrap(), ::core::mem::transmute(objectrefids.as_ptr())).ok() |
| } |
| pub unsafe fn RootReferences(&self, rootrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RootReferences)(::windows_core::Interface::as_raw(self), rootrefids.len().try_into().unwrap(), ::core::mem::transmute(rootrefids.as_ptr())).ok() |
| } |
| pub unsafe fn ExceptionThrown(&self, thrownobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionThrown)(::windows_core::Interface::as_raw(self), thrownobjectid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFilterEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFilterLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchCatcherFound(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchCatcherFound)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerEnter(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionOSHandlerEnter)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerLeave(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionOSHandlerLeave)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFinallyEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFinallyLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCatcherEnter(&self, functionid: usize, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionCatcherEnter)(::windows_core::Interface::as_raw(self), functionid, objectid).ok() |
| } |
| pub unsafe fn ExceptionCatcherLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionCatcherLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn COMClassicVTableCreated(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void, cslots: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.COMClassicVTableCreated)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable, cslots).ok() |
| } |
| pub unsafe fn COMClassicVTableDestroyed(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.COMClassicVTableDestroyed)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherFound(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionCLRCatcherFound)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherExecute(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionCLRCatcherExecute)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ThreadNameChanged(&self, threadid: usize, name: ::core::option::Option<&[u16]>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ThreadNameChanged)(::windows_core::Interface::as_raw(self), threadid, name.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(name.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GarbageCollectionStarted(&self, generationcollected: &[super::super::super::Foundation::BOOL], reason: COR_PRF_GC_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GarbageCollectionStarted)(::windows_core::Interface::as_raw(self), generationcollected.len().try_into().unwrap(), ::core::mem::transmute(generationcollected.as_ptr()), reason).ok() |
| } |
| pub unsafe fn SurvivingReferences(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SurvivingReferences)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn GarbageCollectionFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GarbageCollectionFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn FinalizeableObjectQueued(&self, finalizerflags: u32, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.FinalizeableObjectQueued)(::windows_core::Interface::as_raw(self), finalizerflags, objectid).ok() |
| } |
| pub unsafe 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) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RootReferences2)(::windows_core::Interface::as_raw(self), crootrefs, rootrefids, rootkinds, rootflags, rootids).ok() |
| } |
| pub unsafe fn HandleCreated(&self, handleid: usize, initialobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.HandleCreated)(::windows_core::Interface::as_raw(self), handleid, initialobjectid).ok() |
| } |
| pub unsafe fn HandleDestroyed(&self, handleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.HandleDestroyed)(::windows_core::Interface::as_raw(self), handleid).ok() |
| } |
| pub unsafe fn InitializeForAttach<P0>(&self, pcorprofilerinfounk: P0, pvclientdata: *const ::core::ffi::c_void, cbclientdata: u32) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.InitializeForAttach)(::windows_core::Interface::as_raw(self), pcorprofilerinfounk.into_param().abi(), pvclientdata, cbclientdata).ok() |
| } |
| pub unsafe fn ProfilerAttachComplete(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ProfilerAttachComplete)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ProfilerDetachSucceeded(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ProfilerDetachSucceeded)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationStarted<P0>(&self, functionid: usize, rejitid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ReJITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, rejitid, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn GetReJITParameters<P0>(&self, moduleid: usize, methodid: u32, pfunctioncontrol: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<ICorProfilerFunctionControl>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetReJITParameters)(::windows_core::Interface::as_raw(self), moduleid, methodid, pfunctioncontrol.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationFinished<P0>(&self, functionid: usize, rejitid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ReJITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, rejitid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn ReJITError(&self, moduleid: usize, methodid: u32, functionid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ReJITError)(::windows_core::Interface::as_raw(self), moduleid, methodid, functionid, hrstatus).ok() |
| } |
| pub unsafe fn MovedReferences2(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.MovedReferences2)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn SurvivingReferences2(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SurvivingReferences2)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ConditionalWeakTableElementReferences(&self, crootrefs: u32, keyrefids: *const usize, valuerefids: *const usize, rootids: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ConditionalWeakTableElementReferences)(::windows_core::Interface::as_raw(self), crootrefs, keyrefids, valuerefids, rootids).ok() |
| } |
| pub unsafe fn GetAssemblyReferences<P0, P1>(&self, wszassemblypath: P0, pasmrefprovider: P1) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| P1: ::windows_core::IntoParam<ICorProfilerAssemblyReferenceProvider>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetAssemblyReferences)(::windows_core::Interface::as_raw(self), wszassemblypath.into_param().abi(), pasmrefprovider.into_param().abi()).ok() |
| } |
| pub unsafe fn ModuleInMemorySymbolsUpdated(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ModuleInMemorySymbolsUpdated)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn DynamicMethodJITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0, pilheader: *const u8, cbilheader: u32) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.DynamicMethodJITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi(), pilheader, cbilheader).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn DynamicMethodJITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.DynamicMethodJITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn DynamicMethodUnloaded(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.DynamicMethodUnloaded)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn EventPipeEventDelivered(&self, provider: usize, eventid: u32, eventversion: u32, metadatablob: &[u8], eventdata: &[u8], pactivityid: *const ::windows_core::GUID, prelatedactivityid: *const ::windows_core::GUID, eventthread: usize, numstackframes: u32, stackframes: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).EventPipeEventDelivered)(::windows_core::Interface::as_raw(self), provider, eventid, eventversion, metadatablob.len().try_into().unwrap(), ::core::mem::transmute(metadatablob.as_ptr()), eventdata.len().try_into().unwrap(), ::core::mem::transmute(eventdata.as_ptr()), pactivityid, prelatedactivityid, eventthread, numstackframes, stackframes).ok() |
| } |
| pub unsafe fn EventPipeProviderCreated(&self, provider: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).EventPipeProviderCreated)(::windows_core::Interface::as_raw(self), provider).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerCallback10, ::windows_core::IUnknown, ICorProfilerCallback, ICorProfilerCallback2, ICorProfilerCallback3, ICorProfilerCallback4, ICorProfilerCallback5, ICorProfilerCallback6, ICorProfilerCallback7, ICorProfilerCallback8, ICorProfilerCallback9); |
| unsafe impl ::windows_core::Interface for ICorProfilerCallback10 { |
| type Vtable = ICorProfilerCallback10_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerCallback10 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xcec5b60e_c69c_495f_87f6_84d28ee16ffb); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerCallback10_Vtbl { |
| pub base__: ICorProfilerCallback9_Vtbl, |
| pub EventPipeEventDelivered: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, provider: usize, eventid: u32, eventversion: u32, cbmetadatablob: u32, metadatablob: *const u8, cbeventdata: u32, eventdata: *const u8, pactivityid: *const ::windows_core::GUID, prelatedactivityid: *const ::windows_core::GUID, eventthread: usize, numstackframes: u32, stackframes: *const usize) -> ::windows_core::HRESULT, |
| pub EventPipeProviderCreated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, provider: usize) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerCallback11(::windows_core::IUnknown); |
| impl ICorProfilerCallback11 { |
| pub unsafe fn Initialize<P0>(&self, picorprofilerinfounk: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.Initialize)(::windows_core::Interface::as_raw(self), picorprofilerinfounk.into_param().abi()).ok() |
| } |
| pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.Shutdown)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn AppDomainCreationStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.AppDomainCreationStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainCreationFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.AppDomainCreationFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AppDomainShutdownStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.AppDomainShutdownStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainShutdownFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.AppDomainShutdownFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyLoadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.AssemblyLoadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyLoadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.AssemblyLoadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyUnloadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.AssemblyUnloadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyUnloadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.AssemblyUnloadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleLoadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ModuleLoadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleLoadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ModuleLoadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleUnloadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ModuleUnloadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleUnloadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ModuleUnloadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleAttachedToAssembly(&self, moduleid: usize, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ModuleAttachedToAssembly)(::windows_core::Interface::as_raw(self), moduleid, assemblyid).ok() |
| } |
| pub unsafe fn ClassLoadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ClassLoadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassLoadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ClassLoadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn ClassUnloadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ClassUnloadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassUnloadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ClassUnloadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn FunctionUnloadStarted(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.FunctionUnloadStarted)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.JITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.JITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() |
| } |
| pub unsafe fn JITFunctionPitched(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.JITFunctionPitched)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadDestroyed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ThreadDestroyed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadAssignedToOSThread(&self, managedthreadid: usize, osthreadid: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ThreadAssignedToOSThread)(::windows_core::Interface::as_raw(self), managedthreadid, osthreadid).ok() |
| } |
| pub unsafe fn RemotingClientInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingClientInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientSendingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingClientSendingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientReceivingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingClientReceivingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingClientInvocationFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingClientInvocationFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerReceivingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingServerReceivingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingServerInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingServerInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RemotingServerInvocationReturned(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingServerInvocationReturned)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerSendingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RemotingServerSendingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn UnmanagedToManagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.UnmanagedToManagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn ManagedToUnmanagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ManagedToUnmanagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn RuntimeSuspendStarted(&self, suspendreason: COR_PRF_SUSPEND_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RuntimeSuspendStarted)(::windows_core::Interface::as_raw(self), suspendreason).ok() |
| } |
| pub unsafe fn RuntimeSuspendFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RuntimeSuspendFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeSuspendAborted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RuntimeSuspendAborted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RuntimeResumeStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RuntimeResumeFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeThreadSuspended(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RuntimeThreadSuspended)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn RuntimeThreadResumed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RuntimeThreadResumed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn MovedReferences(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.MovedReferences)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ObjectAllocated(&self, objectid: usize, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ObjectAllocated)(::windows_core::Interface::as_raw(self), objectid, classid).ok() |
| } |
| pub unsafe fn ObjectsAllocatedByClass(&self, cclasscount: u32, classids: *const usize, cobjects: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ObjectsAllocatedByClass)(::windows_core::Interface::as_raw(self), cclasscount, classids, cobjects).ok() |
| } |
| pub unsafe fn ObjectReferences(&self, objectid: usize, classid: usize, objectrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ObjectReferences)(::windows_core::Interface::as_raw(self), objectid, classid, objectrefids.len().try_into().unwrap(), ::core::mem::transmute(objectrefids.as_ptr())).ok() |
| } |
| pub unsafe fn RootReferences(&self, rootrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RootReferences)(::windows_core::Interface::as_raw(self), rootrefids.len().try_into().unwrap(), ::core::mem::transmute(rootrefids.as_ptr())).ok() |
| } |
| pub unsafe fn ExceptionThrown(&self, thrownobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionThrown)(::windows_core::Interface::as_raw(self), thrownobjectid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFilterEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFilterLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchCatcherFound(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchCatcherFound)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerEnter(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionOSHandlerEnter)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerLeave(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionOSHandlerLeave)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFinallyEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFinallyLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCatcherEnter(&self, functionid: usize, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionCatcherEnter)(::windows_core::Interface::as_raw(self), functionid, objectid).ok() |
| } |
| pub unsafe fn ExceptionCatcherLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionCatcherLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn COMClassicVTableCreated(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void, cslots: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.COMClassicVTableCreated)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable, cslots).ok() |
| } |
| pub unsafe fn COMClassicVTableDestroyed(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.COMClassicVTableDestroyed)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherFound(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionCLRCatcherFound)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherExecute(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ExceptionCLRCatcherExecute)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ThreadNameChanged(&self, threadid: usize, name: ::core::option::Option<&[u16]>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ThreadNameChanged)(::windows_core::Interface::as_raw(self), threadid, name.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(name.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GarbageCollectionStarted(&self, generationcollected: &[super::super::super::Foundation::BOOL], reason: COR_PRF_GC_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GarbageCollectionStarted)(::windows_core::Interface::as_raw(self), generationcollected.len().try_into().unwrap(), ::core::mem::transmute(generationcollected.as_ptr()), reason).ok() |
| } |
| pub unsafe fn SurvivingReferences(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SurvivingReferences)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn GarbageCollectionFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GarbageCollectionFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn FinalizeableObjectQueued(&self, finalizerflags: u32, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.FinalizeableObjectQueued)(::windows_core::Interface::as_raw(self), finalizerflags, objectid).ok() |
| } |
| pub unsafe 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) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RootReferences2)(::windows_core::Interface::as_raw(self), crootrefs, rootrefids, rootkinds, rootflags, rootids).ok() |
| } |
| pub unsafe fn HandleCreated(&self, handleid: usize, initialobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.HandleCreated)(::windows_core::Interface::as_raw(self), handleid, initialobjectid).ok() |
| } |
| pub unsafe fn HandleDestroyed(&self, handleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.HandleDestroyed)(::windows_core::Interface::as_raw(self), handleid).ok() |
| } |
| pub unsafe fn InitializeForAttach<P0>(&self, pcorprofilerinfounk: P0, pvclientdata: *const ::core::ffi::c_void, cbclientdata: u32) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.InitializeForAttach)(::windows_core::Interface::as_raw(self), pcorprofilerinfounk.into_param().abi(), pvclientdata, cbclientdata).ok() |
| } |
| pub unsafe fn ProfilerAttachComplete(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ProfilerAttachComplete)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ProfilerDetachSucceeded(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ProfilerDetachSucceeded)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationStarted<P0>(&self, functionid: usize, rejitid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ReJITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, rejitid, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn GetReJITParameters<P0>(&self, moduleid: usize, methodid: u32, pfunctioncontrol: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<ICorProfilerFunctionControl>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetReJITParameters)(::windows_core::Interface::as_raw(self), moduleid, methodid, pfunctioncontrol.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationFinished<P0>(&self, functionid: usize, rejitid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ReJITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, rejitid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn ReJITError(&self, moduleid: usize, methodid: u32, functionid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ReJITError)(::windows_core::Interface::as_raw(self), moduleid, methodid, functionid, hrstatus).ok() |
| } |
| pub unsafe fn MovedReferences2(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.MovedReferences2)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn SurvivingReferences2(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SurvivingReferences2)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ConditionalWeakTableElementReferences(&self, crootrefs: u32, keyrefids: *const usize, valuerefids: *const usize, rootids: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ConditionalWeakTableElementReferences)(::windows_core::Interface::as_raw(self), crootrefs, keyrefids, valuerefids, rootids).ok() |
| } |
| pub unsafe fn GetAssemblyReferences<P0, P1>(&self, wszassemblypath: P0, pasmrefprovider: P1) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| P1: ::windows_core::IntoParam<ICorProfilerAssemblyReferenceProvider>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetAssemblyReferences)(::windows_core::Interface::as_raw(self), wszassemblypath.into_param().abi(), pasmrefprovider.into_param().abi()).ok() |
| } |
| pub unsafe fn ModuleInMemorySymbolsUpdated(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ModuleInMemorySymbolsUpdated)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn DynamicMethodJITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0, pilheader: *const u8, cbilheader: u32) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.DynamicMethodJITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi(), pilheader, cbilheader).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn DynamicMethodJITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.DynamicMethodJITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn DynamicMethodUnloaded(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.DynamicMethodUnloaded)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn EventPipeEventDelivered(&self, provider: usize, eventid: u32, eventversion: u32, metadatablob: &[u8], eventdata: &[u8], pactivityid: *const ::windows_core::GUID, prelatedactivityid: *const ::windows_core::GUID, eventthread: usize, numstackframes: u32, stackframes: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.EventPipeEventDelivered)(::windows_core::Interface::as_raw(self), provider, eventid, eventversion, metadatablob.len().try_into().unwrap(), ::core::mem::transmute(metadatablob.as_ptr()), eventdata.len().try_into().unwrap(), ::core::mem::transmute(eventdata.as_ptr()), pactivityid, prelatedactivityid, eventthread, numstackframes, stackframes).ok() |
| } |
| pub unsafe fn EventPipeProviderCreated(&self, provider: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.EventPipeProviderCreated)(::windows_core::Interface::as_raw(self), provider).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn LoadAsNotificationOnly(&self, pbnotificationonly: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).LoadAsNotificationOnly)(::windows_core::Interface::as_raw(self), pbnotificationonly).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerCallback11, ::windows_core::IUnknown, ICorProfilerCallback, ICorProfilerCallback2, ICorProfilerCallback3, ICorProfilerCallback4, ICorProfilerCallback5, ICorProfilerCallback6, ICorProfilerCallback7, ICorProfilerCallback8, ICorProfilerCallback9, ICorProfilerCallback10); |
| unsafe impl ::windows_core::Interface for ICorProfilerCallback11 { |
| type Vtable = ICorProfilerCallback11_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerCallback11 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x42350846_aaed_47f7_b128_fd0c98881cde); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerCallback11_Vtbl { |
| pub base__: ICorProfilerCallback10_Vtbl, |
| #[cfg(feature = "Win32_Foundation")] |
| pub LoadAsNotificationOnly: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbnotificationonly: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| LoadAsNotificationOnly: usize, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerCallback2(::windows_core::IUnknown); |
| impl ICorProfilerCallback2 { |
| pub unsafe fn Initialize<P0>(&self, picorprofilerinfounk: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.Initialize)(::windows_core::Interface::as_raw(self), picorprofilerinfounk.into_param().abi()).ok() |
| } |
| pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.Shutdown)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn AppDomainCreationStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.AppDomainCreationStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainCreationFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.AppDomainCreationFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AppDomainShutdownStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.AppDomainShutdownStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainShutdownFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.AppDomainShutdownFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyLoadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.AssemblyLoadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyLoadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.AssemblyLoadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyUnloadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.AssemblyUnloadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyUnloadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.AssemblyUnloadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleLoadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ModuleLoadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleLoadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ModuleLoadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleUnloadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ModuleUnloadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleUnloadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ModuleUnloadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleAttachedToAssembly(&self, moduleid: usize, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ModuleAttachedToAssembly)(::windows_core::Interface::as_raw(self), moduleid, assemblyid).ok() |
| } |
| pub unsafe fn ClassLoadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ClassLoadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassLoadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ClassLoadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn ClassUnloadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ClassUnloadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassUnloadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ClassUnloadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn FunctionUnloadStarted(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.FunctionUnloadStarted)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.JITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.JITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() |
| } |
| pub unsafe fn JITFunctionPitched(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.JITFunctionPitched)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadDestroyed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ThreadDestroyed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadAssignedToOSThread(&self, managedthreadid: usize, osthreadid: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ThreadAssignedToOSThread)(::windows_core::Interface::as_raw(self), managedthreadid, osthreadid).ok() |
| } |
| pub unsafe fn RemotingClientInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RemotingClientInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientSendingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.RemotingClientSendingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientReceivingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.RemotingClientReceivingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingClientInvocationFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RemotingClientInvocationFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerReceivingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.RemotingServerReceivingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingServerInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RemotingServerInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RemotingServerInvocationReturned(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RemotingServerInvocationReturned)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerSendingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.RemotingServerSendingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn UnmanagedToManagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.UnmanagedToManagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn ManagedToUnmanagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ManagedToUnmanagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn RuntimeSuspendStarted(&self, suspendreason: COR_PRF_SUSPEND_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RuntimeSuspendStarted)(::windows_core::Interface::as_raw(self), suspendreason).ok() |
| } |
| pub unsafe fn RuntimeSuspendFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RuntimeSuspendFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeSuspendAborted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RuntimeSuspendAborted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RuntimeResumeStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RuntimeResumeFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeThreadSuspended(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RuntimeThreadSuspended)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn RuntimeThreadResumed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RuntimeThreadResumed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn MovedReferences(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.MovedReferences)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ObjectAllocated(&self, objectid: usize, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ObjectAllocated)(::windows_core::Interface::as_raw(self), objectid, classid).ok() |
| } |
| pub unsafe fn ObjectsAllocatedByClass(&self, cclasscount: u32, classids: *const usize, cobjects: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ObjectsAllocatedByClass)(::windows_core::Interface::as_raw(self), cclasscount, classids, cobjects).ok() |
| } |
| pub unsafe fn ObjectReferences(&self, objectid: usize, classid: usize, objectrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ObjectReferences)(::windows_core::Interface::as_raw(self), objectid, classid, objectrefids.len().try_into().unwrap(), ::core::mem::transmute(objectrefids.as_ptr())).ok() |
| } |
| pub unsafe fn RootReferences(&self, rootrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RootReferences)(::windows_core::Interface::as_raw(self), rootrefids.len().try_into().unwrap(), ::core::mem::transmute(rootrefids.as_ptr())).ok() |
| } |
| pub unsafe fn ExceptionThrown(&self, thrownobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionThrown)(::windows_core::Interface::as_raw(self), thrownobjectid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionSearchFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionSearchFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionSearchFilterEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionSearchFilterLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchCatcherFound(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionSearchCatcherFound)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerEnter(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionOSHandlerEnter)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerLeave(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionOSHandlerLeave)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionUnwindFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionUnwindFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionUnwindFinallyEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionUnwindFinallyLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCatcherEnter(&self, functionid: usize, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionCatcherEnter)(::windows_core::Interface::as_raw(self), functionid, objectid).ok() |
| } |
| pub unsafe fn ExceptionCatcherLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionCatcherLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn COMClassicVTableCreated(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void, cslots: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.COMClassicVTableCreated)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable, cslots).ok() |
| } |
| pub unsafe fn COMClassicVTableDestroyed(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.COMClassicVTableDestroyed)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherFound(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionCLRCatcherFound)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherExecute(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ExceptionCLRCatcherExecute)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ThreadNameChanged(&self, threadid: usize, name: ::core::option::Option<&[u16]>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ThreadNameChanged)(::windows_core::Interface::as_raw(self), threadid, name.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(name.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GarbageCollectionStarted(&self, generationcollected: &[super::super::super::Foundation::BOOL], reason: COR_PRF_GC_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GarbageCollectionStarted)(::windows_core::Interface::as_raw(self), generationcollected.len().try_into().unwrap(), ::core::mem::transmute(generationcollected.as_ptr()), reason).ok() |
| } |
| pub unsafe fn SurvivingReferences(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SurvivingReferences)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn GarbageCollectionFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GarbageCollectionFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn FinalizeableObjectQueued(&self, finalizerflags: u32, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).FinalizeableObjectQueued)(::windows_core::Interface::as_raw(self), finalizerflags, objectid).ok() |
| } |
| pub unsafe 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) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RootReferences2)(::windows_core::Interface::as_raw(self), crootrefs, rootrefids, rootkinds, rootflags, rootids).ok() |
| } |
| pub unsafe fn HandleCreated(&self, handleid: usize, initialobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).HandleCreated)(::windows_core::Interface::as_raw(self), handleid, initialobjectid).ok() |
| } |
| pub unsafe fn HandleDestroyed(&self, handleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).HandleDestroyed)(::windows_core::Interface::as_raw(self), handleid).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerCallback2, ::windows_core::IUnknown, ICorProfilerCallback); |
| unsafe impl ::windows_core::Interface for ICorProfilerCallback2 { |
| type Vtable = ICorProfilerCallback2_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerCallback2 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x8a8cc829_ccf2_49fe_bbae_0f022228071a); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerCallback2_Vtbl { |
| pub base__: ICorProfilerCallback_Vtbl, |
| pub ThreadNameChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, threadid: usize, cchname: u32, name: ::windows_core::PCWSTR) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_Foundation")] |
| pub GarbageCollectionStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cgenerations: i32, generationcollected: *const super::super::super::Foundation::BOOL, reason: COR_PRF_GC_REASON) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| GarbageCollectionStarted: usize, |
| pub SurvivingReferences: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::HRESULT, |
| pub GarbageCollectionFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub FinalizeableObjectQueued: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, finalizerflags: u32, objectid: usize) -> ::windows_core::HRESULT, |
| pub RootReferences2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, crootrefs: u32, rootrefids: *const usize, rootkinds: *const COR_PRF_GC_ROOT_KIND, rootflags: *const COR_PRF_GC_ROOT_FLAGS, rootids: *const usize) -> ::windows_core::HRESULT, |
| pub HandleCreated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handleid: usize, initialobjectid: usize) -> ::windows_core::HRESULT, |
| pub HandleDestroyed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handleid: usize) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerCallback3(::windows_core::IUnknown); |
| impl ICorProfilerCallback3 { |
| pub unsafe fn Initialize<P0>(&self, picorprofilerinfounk: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.Initialize)(::windows_core::Interface::as_raw(self), picorprofilerinfounk.into_param().abi()).ok() |
| } |
| pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.Shutdown)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn AppDomainCreationStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.AppDomainCreationStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainCreationFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.AppDomainCreationFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AppDomainShutdownStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.AppDomainShutdownStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainShutdownFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.AppDomainShutdownFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyLoadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.AssemblyLoadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyLoadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.AssemblyLoadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyUnloadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.AssemblyUnloadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyUnloadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.AssemblyUnloadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleLoadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ModuleLoadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleLoadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ModuleLoadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleUnloadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ModuleUnloadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleUnloadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ModuleUnloadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleAttachedToAssembly(&self, moduleid: usize, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ModuleAttachedToAssembly)(::windows_core::Interface::as_raw(self), moduleid, assemblyid).ok() |
| } |
| pub unsafe fn ClassLoadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ClassLoadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassLoadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ClassLoadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn ClassUnloadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ClassUnloadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassUnloadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ClassUnloadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn FunctionUnloadStarted(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.FunctionUnloadStarted)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.JITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.JITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() |
| } |
| pub unsafe fn JITFunctionPitched(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.JITFunctionPitched)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadDestroyed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ThreadDestroyed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadAssignedToOSThread(&self, managedthreadid: usize, osthreadid: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ThreadAssignedToOSThread)(::windows_core::Interface::as_raw(self), managedthreadid, osthreadid).ok() |
| } |
| pub unsafe fn RemotingClientInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RemotingClientInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientSendingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.RemotingClientSendingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientReceivingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.RemotingClientReceivingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingClientInvocationFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RemotingClientInvocationFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerReceivingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.RemotingServerReceivingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingServerInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RemotingServerInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RemotingServerInvocationReturned(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RemotingServerInvocationReturned)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerSendingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.RemotingServerSendingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn UnmanagedToManagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.UnmanagedToManagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn ManagedToUnmanagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ManagedToUnmanagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn RuntimeSuspendStarted(&self, suspendreason: COR_PRF_SUSPEND_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RuntimeSuspendStarted)(::windows_core::Interface::as_raw(self), suspendreason).ok() |
| } |
| pub unsafe fn RuntimeSuspendFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RuntimeSuspendFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeSuspendAborted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RuntimeSuspendAborted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RuntimeResumeStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RuntimeResumeFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeThreadSuspended(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RuntimeThreadSuspended)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn RuntimeThreadResumed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RuntimeThreadResumed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn MovedReferences(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.MovedReferences)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ObjectAllocated(&self, objectid: usize, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ObjectAllocated)(::windows_core::Interface::as_raw(self), objectid, classid).ok() |
| } |
| pub unsafe fn ObjectsAllocatedByClass(&self, cclasscount: u32, classids: *const usize, cobjects: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ObjectsAllocatedByClass)(::windows_core::Interface::as_raw(self), cclasscount, classids, cobjects).ok() |
| } |
| pub unsafe fn ObjectReferences(&self, objectid: usize, classid: usize, objectrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ObjectReferences)(::windows_core::Interface::as_raw(self), objectid, classid, objectrefids.len().try_into().unwrap(), ::core::mem::transmute(objectrefids.as_ptr())).ok() |
| } |
| pub unsafe fn RootReferences(&self, rootrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RootReferences)(::windows_core::Interface::as_raw(self), rootrefids.len().try_into().unwrap(), ::core::mem::transmute(rootrefids.as_ptr())).ok() |
| } |
| pub unsafe fn ExceptionThrown(&self, thrownobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionThrown)(::windows_core::Interface::as_raw(self), thrownobjectid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionSearchFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionSearchFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionSearchFilterEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionSearchFilterLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchCatcherFound(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionSearchCatcherFound)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerEnter(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionOSHandlerEnter)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerLeave(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionOSHandlerLeave)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionUnwindFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionUnwindFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionUnwindFinallyEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionUnwindFinallyLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCatcherEnter(&self, functionid: usize, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionCatcherEnter)(::windows_core::Interface::as_raw(self), functionid, objectid).ok() |
| } |
| pub unsafe fn ExceptionCatcherLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionCatcherLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn COMClassicVTableCreated(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void, cslots: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.COMClassicVTableCreated)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable, cslots).ok() |
| } |
| pub unsafe fn COMClassicVTableDestroyed(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.COMClassicVTableDestroyed)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherFound(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionCLRCatcherFound)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherExecute(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ExceptionCLRCatcherExecute)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ThreadNameChanged(&self, threadid: usize, name: ::core::option::Option<&[u16]>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ThreadNameChanged)(::windows_core::Interface::as_raw(self), threadid, name.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(name.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GarbageCollectionStarted(&self, generationcollected: &[super::super::super::Foundation::BOOL], reason: COR_PRF_GC_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GarbageCollectionStarted)(::windows_core::Interface::as_raw(self), generationcollected.len().try_into().unwrap(), ::core::mem::transmute(generationcollected.as_ptr()), reason).ok() |
| } |
| pub unsafe fn SurvivingReferences(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.SurvivingReferences)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn GarbageCollectionFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GarbageCollectionFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn FinalizeableObjectQueued(&self, finalizerflags: u32, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.FinalizeableObjectQueued)(::windows_core::Interface::as_raw(self), finalizerflags, objectid).ok() |
| } |
| pub unsafe 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) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RootReferences2)(::windows_core::Interface::as_raw(self), crootrefs, rootrefids, rootkinds, rootflags, rootids).ok() |
| } |
| pub unsafe fn HandleCreated(&self, handleid: usize, initialobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.HandleCreated)(::windows_core::Interface::as_raw(self), handleid, initialobjectid).ok() |
| } |
| pub unsafe fn HandleDestroyed(&self, handleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.HandleDestroyed)(::windows_core::Interface::as_raw(self), handleid).ok() |
| } |
| pub unsafe fn InitializeForAttach<P0>(&self, pcorprofilerinfounk: P0, pvclientdata: *const ::core::ffi::c_void, cbclientdata: u32) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).InitializeForAttach)(::windows_core::Interface::as_raw(self), pcorprofilerinfounk.into_param().abi(), pvclientdata, cbclientdata).ok() |
| } |
| pub unsafe fn ProfilerAttachComplete(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ProfilerAttachComplete)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ProfilerDetachSucceeded(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ProfilerDetachSucceeded)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerCallback3, ::windows_core::IUnknown, ICorProfilerCallback, ICorProfilerCallback2); |
| unsafe impl ::windows_core::Interface for ICorProfilerCallback3 { |
| type Vtable = ICorProfilerCallback3_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerCallback3 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x4fd2ed52_7731_4b8d_9469_03d2cc3086c5); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerCallback3_Vtbl { |
| pub base__: ICorProfilerCallback2_Vtbl, |
| pub InitializeForAttach: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcorprofilerinfounk: *mut ::core::ffi::c_void, pvclientdata: *const ::core::ffi::c_void, cbclientdata: u32) -> ::windows_core::HRESULT, |
| pub ProfilerAttachComplete: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub ProfilerDetachSucceeded: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerCallback4(::windows_core::IUnknown); |
| impl ICorProfilerCallback4 { |
| pub unsafe fn Initialize<P0>(&self, picorprofilerinfounk: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.Initialize)(::windows_core::Interface::as_raw(self), picorprofilerinfounk.into_param().abi()).ok() |
| } |
| pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.Shutdown)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn AppDomainCreationStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.AppDomainCreationStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainCreationFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.AppDomainCreationFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AppDomainShutdownStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.AppDomainShutdownStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainShutdownFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.AppDomainShutdownFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyLoadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.AssemblyLoadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyLoadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.AssemblyLoadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyUnloadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.AssemblyUnloadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyUnloadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.AssemblyUnloadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleLoadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ModuleLoadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleLoadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ModuleLoadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleUnloadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ModuleUnloadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleUnloadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ModuleUnloadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleAttachedToAssembly(&self, moduleid: usize, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ModuleAttachedToAssembly)(::windows_core::Interface::as_raw(self), moduleid, assemblyid).ok() |
| } |
| pub unsafe fn ClassLoadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ClassLoadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassLoadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ClassLoadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn ClassUnloadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ClassUnloadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassUnloadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ClassUnloadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn FunctionUnloadStarted(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.FunctionUnloadStarted)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.JITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.JITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() |
| } |
| pub unsafe fn JITFunctionPitched(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.JITFunctionPitched)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadDestroyed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ThreadDestroyed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadAssignedToOSThread(&self, managedthreadid: usize, osthreadid: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ThreadAssignedToOSThread)(::windows_core::Interface::as_raw(self), managedthreadid, osthreadid).ok() |
| } |
| pub unsafe fn RemotingClientInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RemotingClientInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientSendingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RemotingClientSendingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientReceivingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RemotingClientReceivingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingClientInvocationFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RemotingClientInvocationFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerReceivingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RemotingServerReceivingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingServerInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RemotingServerInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RemotingServerInvocationReturned(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RemotingServerInvocationReturned)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerSendingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RemotingServerSendingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn UnmanagedToManagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.UnmanagedToManagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn ManagedToUnmanagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ManagedToUnmanagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn RuntimeSuspendStarted(&self, suspendreason: COR_PRF_SUSPEND_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RuntimeSuspendStarted)(::windows_core::Interface::as_raw(self), suspendreason).ok() |
| } |
| pub unsafe fn RuntimeSuspendFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RuntimeSuspendFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeSuspendAborted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RuntimeSuspendAborted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RuntimeResumeStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RuntimeResumeFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeThreadSuspended(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RuntimeThreadSuspended)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn RuntimeThreadResumed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RuntimeThreadResumed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn MovedReferences(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.MovedReferences)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ObjectAllocated(&self, objectid: usize, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ObjectAllocated)(::windows_core::Interface::as_raw(self), objectid, classid).ok() |
| } |
| pub unsafe fn ObjectsAllocatedByClass(&self, cclasscount: u32, classids: *const usize, cobjects: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ObjectsAllocatedByClass)(::windows_core::Interface::as_raw(self), cclasscount, classids, cobjects).ok() |
| } |
| pub unsafe fn ObjectReferences(&self, objectid: usize, classid: usize, objectrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ObjectReferences)(::windows_core::Interface::as_raw(self), objectid, classid, objectrefids.len().try_into().unwrap(), ::core::mem::transmute(objectrefids.as_ptr())).ok() |
| } |
| pub unsafe fn RootReferences(&self, rootrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RootReferences)(::windows_core::Interface::as_raw(self), rootrefids.len().try_into().unwrap(), ::core::mem::transmute(rootrefids.as_ptr())).ok() |
| } |
| pub unsafe fn ExceptionThrown(&self, thrownobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionThrown)(::windows_core::Interface::as_raw(self), thrownobjectid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionSearchFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionSearchFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionSearchFilterEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionSearchFilterLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchCatcherFound(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionSearchCatcherFound)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerEnter(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionOSHandlerEnter)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerLeave(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionOSHandlerLeave)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionUnwindFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionUnwindFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionUnwindFinallyEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionUnwindFinallyLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCatcherEnter(&self, functionid: usize, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionCatcherEnter)(::windows_core::Interface::as_raw(self), functionid, objectid).ok() |
| } |
| pub unsafe fn ExceptionCatcherLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionCatcherLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn COMClassicVTableCreated(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void, cslots: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.COMClassicVTableCreated)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable, cslots).ok() |
| } |
| pub unsafe fn COMClassicVTableDestroyed(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.COMClassicVTableDestroyed)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherFound(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionCLRCatcherFound)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherExecute(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ExceptionCLRCatcherExecute)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ThreadNameChanged(&self, threadid: usize, name: ::core::option::Option<&[u16]>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ThreadNameChanged)(::windows_core::Interface::as_raw(self), threadid, name.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(name.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GarbageCollectionStarted(&self, generationcollected: &[super::super::super::Foundation::BOOL], reason: COR_PRF_GC_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GarbageCollectionStarted)(::windows_core::Interface::as_raw(self), generationcollected.len().try_into().unwrap(), ::core::mem::transmute(generationcollected.as_ptr()), reason).ok() |
| } |
| pub unsafe fn SurvivingReferences(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.SurvivingReferences)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn GarbageCollectionFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GarbageCollectionFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn FinalizeableObjectQueued(&self, finalizerflags: u32, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.FinalizeableObjectQueued)(::windows_core::Interface::as_raw(self), finalizerflags, objectid).ok() |
| } |
| pub unsafe 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) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RootReferences2)(::windows_core::Interface::as_raw(self), crootrefs, rootrefids, rootkinds, rootflags, rootids).ok() |
| } |
| pub unsafe fn HandleCreated(&self, handleid: usize, initialobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.HandleCreated)(::windows_core::Interface::as_raw(self), handleid, initialobjectid).ok() |
| } |
| pub unsafe fn HandleDestroyed(&self, handleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.HandleDestroyed)(::windows_core::Interface::as_raw(self), handleid).ok() |
| } |
| pub unsafe fn InitializeForAttach<P0>(&self, pcorprofilerinfounk: P0, pvclientdata: *const ::core::ffi::c_void, cbclientdata: u32) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.InitializeForAttach)(::windows_core::Interface::as_raw(self), pcorprofilerinfounk.into_param().abi(), pvclientdata, cbclientdata).ok() |
| } |
| pub unsafe fn ProfilerAttachComplete(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ProfilerAttachComplete)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ProfilerDetachSucceeded(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ProfilerDetachSucceeded)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationStarted<P0>(&self, functionid: usize, rejitid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).ReJITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, rejitid, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn GetReJITParameters<P0>(&self, moduleid: usize, methodid: u32, pfunctioncontrol: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<ICorProfilerFunctionControl>, |
| { |
| (::windows_core::Interface::vtable(self).GetReJITParameters)(::windows_core::Interface::as_raw(self), moduleid, methodid, pfunctioncontrol.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationFinished<P0>(&self, functionid: usize, rejitid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).ReJITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, rejitid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn ReJITError(&self, moduleid: usize, methodid: u32, functionid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ReJITError)(::windows_core::Interface::as_raw(self), moduleid, methodid, functionid, hrstatus).ok() |
| } |
| pub unsafe fn MovedReferences2(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).MovedReferences2)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn SurvivingReferences2(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SurvivingReferences2)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerCallback4, ::windows_core::IUnknown, ICorProfilerCallback, ICorProfilerCallback2, ICorProfilerCallback3); |
| unsafe impl ::windows_core::Interface for ICorProfilerCallback4 { |
| type Vtable = ICorProfilerCallback4_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerCallback4 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x7b63b2e3_107d_4d48_b2f6_f61e229470d2); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerCallback4_Vtbl { |
| pub base__: ICorProfilerCallback3_Vtbl, |
| #[cfg(feature = "Win32_Foundation")] |
| pub ReJITCompilationStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, rejitid: usize, fissafetoblock: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| ReJITCompilationStarted: usize, |
| pub GetReJITParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, methodid: u32, pfunctioncontrol: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_Foundation")] |
| pub ReJITCompilationFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, rejitid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| ReJITCompilationFinished: usize, |
| pub ReJITError: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, methodid: u32, functionid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::HRESULT, |
| pub MovedReferences2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::HRESULT, |
| pub SurvivingReferences2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerCallback5(::windows_core::IUnknown); |
| impl ICorProfilerCallback5 { |
| pub unsafe fn Initialize<P0>(&self, picorprofilerinfounk: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Initialize)(::windows_core::Interface::as_raw(self), picorprofilerinfounk.into_param().abi()).ok() |
| } |
| pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Shutdown)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn AppDomainCreationStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AppDomainCreationStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainCreationFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AppDomainCreationFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AppDomainShutdownStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AppDomainShutdownStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainShutdownFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AppDomainShutdownFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyLoadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AssemblyLoadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyLoadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AssemblyLoadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyUnloadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AssemblyUnloadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyUnloadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AssemblyUnloadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleLoadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ModuleLoadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleLoadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ModuleLoadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleUnloadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ModuleUnloadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleUnloadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ModuleUnloadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleAttachedToAssembly(&self, moduleid: usize, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ModuleAttachedToAssembly)(::windows_core::Interface::as_raw(self), moduleid, assemblyid).ok() |
| } |
| pub unsafe fn ClassLoadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassLoadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassLoadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassLoadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn ClassUnloadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassUnloadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassUnloadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassUnloadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn FunctionUnloadStarted(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.FunctionUnloadStarted)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.JITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.JITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() |
| } |
| pub unsafe fn JITFunctionPitched(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.JITFunctionPitched)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadDestroyed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ThreadDestroyed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadAssignedToOSThread(&self, managedthreadid: usize, osthreadid: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ThreadAssignedToOSThread)(::windows_core::Interface::as_raw(self), managedthreadid, osthreadid).ok() |
| } |
| pub unsafe fn RemotingClientInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RemotingClientInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientSendingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RemotingClientSendingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientReceivingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RemotingClientReceivingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingClientInvocationFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RemotingClientInvocationFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerReceivingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RemotingServerReceivingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingServerInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RemotingServerInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RemotingServerInvocationReturned(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RemotingServerInvocationReturned)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerSendingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RemotingServerSendingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn UnmanagedToManagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UnmanagedToManagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn ManagedToUnmanagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ManagedToUnmanagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn RuntimeSuspendStarted(&self, suspendreason: COR_PRF_SUSPEND_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RuntimeSuspendStarted)(::windows_core::Interface::as_raw(self), suspendreason).ok() |
| } |
| pub unsafe fn RuntimeSuspendFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RuntimeSuspendFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeSuspendAborted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RuntimeSuspendAborted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RuntimeResumeStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RuntimeResumeFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeThreadSuspended(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RuntimeThreadSuspended)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn RuntimeThreadResumed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RuntimeThreadResumed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn MovedReferences(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MovedReferences)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ObjectAllocated(&self, objectid: usize, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ObjectAllocated)(::windows_core::Interface::as_raw(self), objectid, classid).ok() |
| } |
| pub unsafe fn ObjectsAllocatedByClass(&self, cclasscount: u32, classids: *const usize, cobjects: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ObjectsAllocatedByClass)(::windows_core::Interface::as_raw(self), cclasscount, classids, cobjects).ok() |
| } |
| pub unsafe fn ObjectReferences(&self, objectid: usize, classid: usize, objectrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ObjectReferences)(::windows_core::Interface::as_raw(self), objectid, classid, objectrefids.len().try_into().unwrap(), ::core::mem::transmute(objectrefids.as_ptr())).ok() |
| } |
| pub unsafe fn RootReferences(&self, rootrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RootReferences)(::windows_core::Interface::as_raw(self), rootrefids.len().try_into().unwrap(), ::core::mem::transmute(rootrefids.as_ptr())).ok() |
| } |
| pub unsafe fn ExceptionThrown(&self, thrownobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionThrown)(::windows_core::Interface::as_raw(self), thrownobjectid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionSearchFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionSearchFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionSearchFilterEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionSearchFilterLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchCatcherFound(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionSearchCatcherFound)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerEnter(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionOSHandlerEnter)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerLeave(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionOSHandlerLeave)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionUnwindFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionUnwindFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionUnwindFinallyEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionUnwindFinallyLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCatcherEnter(&self, functionid: usize, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionCatcherEnter)(::windows_core::Interface::as_raw(self), functionid, objectid).ok() |
| } |
| pub unsafe fn ExceptionCatcherLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionCatcherLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn COMClassicVTableCreated(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void, cslots: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.COMClassicVTableCreated)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable, cslots).ok() |
| } |
| pub unsafe fn COMClassicVTableDestroyed(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.COMClassicVTableDestroyed)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherFound(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionCLRCatcherFound)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherExecute(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExceptionCLRCatcherExecute)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ThreadNameChanged(&self, threadid: usize, name: ::core::option::Option<&[u16]>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ThreadNameChanged)(::windows_core::Interface::as_raw(self), threadid, name.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(name.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GarbageCollectionStarted(&self, generationcollected: &[super::super::super::Foundation::BOOL], reason: COR_PRF_GC_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GarbageCollectionStarted)(::windows_core::Interface::as_raw(self), generationcollected.len().try_into().unwrap(), ::core::mem::transmute(generationcollected.as_ptr()), reason).ok() |
| } |
| pub unsafe fn SurvivingReferences(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SurvivingReferences)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn GarbageCollectionFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GarbageCollectionFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn FinalizeableObjectQueued(&self, finalizerflags: u32, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.FinalizeableObjectQueued)(::windows_core::Interface::as_raw(self), finalizerflags, objectid).ok() |
| } |
| pub unsafe 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) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RootReferences2)(::windows_core::Interface::as_raw(self), crootrefs, rootrefids, rootkinds, rootflags, rootids).ok() |
| } |
| pub unsafe fn HandleCreated(&self, handleid: usize, initialobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.HandleCreated)(::windows_core::Interface::as_raw(self), handleid, initialobjectid).ok() |
| } |
| pub unsafe fn HandleDestroyed(&self, handleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.HandleDestroyed)(::windows_core::Interface::as_raw(self), handleid).ok() |
| } |
| pub unsafe fn InitializeForAttach<P0>(&self, pcorprofilerinfounk: P0, pvclientdata: *const ::core::ffi::c_void, cbclientdata: u32) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.InitializeForAttach)(::windows_core::Interface::as_raw(self), pcorprofilerinfounk.into_param().abi(), pvclientdata, cbclientdata).ok() |
| } |
| pub unsafe fn ProfilerAttachComplete(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ProfilerAttachComplete)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ProfilerDetachSucceeded(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ProfilerDetachSucceeded)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationStarted<P0>(&self, functionid: usize, rejitid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.ReJITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, rejitid, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn GetReJITParameters<P0>(&self, moduleid: usize, methodid: u32, pfunctioncontrol: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<ICorProfilerFunctionControl>, |
| { |
| (::windows_core::Interface::vtable(self).base__.GetReJITParameters)(::windows_core::Interface::as_raw(self), moduleid, methodid, pfunctioncontrol.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationFinished<P0>(&self, functionid: usize, rejitid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.ReJITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, rejitid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn ReJITError(&self, moduleid: usize, methodid: u32, functionid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ReJITError)(::windows_core::Interface::as_raw(self), moduleid, methodid, functionid, hrstatus).ok() |
| } |
| pub unsafe fn MovedReferences2(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.MovedReferences2)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn SurvivingReferences2(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.SurvivingReferences2)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ConditionalWeakTableElementReferences(&self, crootrefs: u32, keyrefids: *const usize, valuerefids: *const usize, rootids: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ConditionalWeakTableElementReferences)(::windows_core::Interface::as_raw(self), crootrefs, keyrefids, valuerefids, rootids).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerCallback5, ::windows_core::IUnknown, ICorProfilerCallback, ICorProfilerCallback2, ICorProfilerCallback3, ICorProfilerCallback4); |
| unsafe impl ::windows_core::Interface for ICorProfilerCallback5 { |
| type Vtable = ICorProfilerCallback5_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerCallback5 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x8dfba405_8c9f_45f8_bffa_83b14cef78b5); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerCallback5_Vtbl { |
| pub base__: ICorProfilerCallback4_Vtbl, |
| pub ConditionalWeakTableElementReferences: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, crootrefs: u32, keyrefids: *const usize, valuerefids: *const usize, rootids: *const usize) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerCallback6(::windows_core::IUnknown); |
| impl ICorProfilerCallback6 { |
| pub unsafe fn Initialize<P0>(&self, picorprofilerinfounk: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Initialize)(::windows_core::Interface::as_raw(self), picorprofilerinfounk.into_param().abi()).ok() |
| } |
| pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Shutdown)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn AppDomainCreationStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AppDomainCreationStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainCreationFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AppDomainCreationFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AppDomainShutdownStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AppDomainShutdownStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainShutdownFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AppDomainShutdownFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyLoadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AssemblyLoadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyLoadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AssemblyLoadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyUnloadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AssemblyUnloadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyUnloadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AssemblyUnloadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleLoadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ModuleLoadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleLoadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ModuleLoadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleUnloadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ModuleUnloadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleUnloadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ModuleUnloadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleAttachedToAssembly(&self, moduleid: usize, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ModuleAttachedToAssembly)(::windows_core::Interface::as_raw(self), moduleid, assemblyid).ok() |
| } |
| pub unsafe fn ClassLoadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ClassLoadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassLoadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ClassLoadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn ClassUnloadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ClassUnloadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassUnloadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ClassUnloadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn FunctionUnloadStarted(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.FunctionUnloadStarted)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.JITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.JITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() |
| } |
| pub unsafe fn JITFunctionPitched(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.JITFunctionPitched)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadDestroyed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ThreadDestroyed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadAssignedToOSThread(&self, managedthreadid: usize, osthreadid: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ThreadAssignedToOSThread)(::windows_core::Interface::as_raw(self), managedthreadid, osthreadid).ok() |
| } |
| pub unsafe fn RemotingClientInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RemotingClientInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientSendingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RemotingClientSendingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientReceivingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RemotingClientReceivingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingClientInvocationFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RemotingClientInvocationFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerReceivingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RemotingServerReceivingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingServerInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RemotingServerInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RemotingServerInvocationReturned(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RemotingServerInvocationReturned)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerSendingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RemotingServerSendingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn UnmanagedToManagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.UnmanagedToManagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn ManagedToUnmanagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ManagedToUnmanagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn RuntimeSuspendStarted(&self, suspendreason: COR_PRF_SUSPEND_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RuntimeSuspendStarted)(::windows_core::Interface::as_raw(self), suspendreason).ok() |
| } |
| pub unsafe fn RuntimeSuspendFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RuntimeSuspendFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeSuspendAborted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RuntimeSuspendAborted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RuntimeResumeStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RuntimeResumeFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeThreadSuspended(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RuntimeThreadSuspended)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn RuntimeThreadResumed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RuntimeThreadResumed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn MovedReferences(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.MovedReferences)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ObjectAllocated(&self, objectid: usize, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ObjectAllocated)(::windows_core::Interface::as_raw(self), objectid, classid).ok() |
| } |
| pub unsafe fn ObjectsAllocatedByClass(&self, cclasscount: u32, classids: *const usize, cobjects: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ObjectsAllocatedByClass)(::windows_core::Interface::as_raw(self), cclasscount, classids, cobjects).ok() |
| } |
| pub unsafe fn ObjectReferences(&self, objectid: usize, classid: usize, objectrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ObjectReferences)(::windows_core::Interface::as_raw(self), objectid, classid, objectrefids.len().try_into().unwrap(), ::core::mem::transmute(objectrefids.as_ptr())).ok() |
| } |
| pub unsafe fn RootReferences(&self, rootrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RootReferences)(::windows_core::Interface::as_raw(self), rootrefids.len().try_into().unwrap(), ::core::mem::transmute(rootrefids.as_ptr())).ok() |
| } |
| pub unsafe fn ExceptionThrown(&self, thrownobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionThrown)(::windows_core::Interface::as_raw(self), thrownobjectid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionSearchFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionSearchFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionSearchFilterEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionSearchFilterLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchCatcherFound(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionSearchCatcherFound)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerEnter(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionOSHandlerEnter)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerLeave(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionOSHandlerLeave)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionUnwindFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionUnwindFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionUnwindFinallyEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionUnwindFinallyLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCatcherEnter(&self, functionid: usize, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionCatcherEnter)(::windows_core::Interface::as_raw(self), functionid, objectid).ok() |
| } |
| pub unsafe fn ExceptionCatcherLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionCatcherLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn COMClassicVTableCreated(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void, cslots: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.COMClassicVTableCreated)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable, cslots).ok() |
| } |
| pub unsafe fn COMClassicVTableDestroyed(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.COMClassicVTableDestroyed)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherFound(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionCLRCatcherFound)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherExecute(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExceptionCLRCatcherExecute)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ThreadNameChanged(&self, threadid: usize, name: ::core::option::Option<&[u16]>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ThreadNameChanged)(::windows_core::Interface::as_raw(self), threadid, name.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(name.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GarbageCollectionStarted(&self, generationcollected: &[super::super::super::Foundation::BOOL], reason: COR_PRF_GC_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GarbageCollectionStarted)(::windows_core::Interface::as_raw(self), generationcollected.len().try_into().unwrap(), ::core::mem::transmute(generationcollected.as_ptr()), reason).ok() |
| } |
| pub unsafe fn SurvivingReferences(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SurvivingReferences)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn GarbageCollectionFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GarbageCollectionFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn FinalizeableObjectQueued(&self, finalizerflags: u32, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.FinalizeableObjectQueued)(::windows_core::Interface::as_raw(self), finalizerflags, objectid).ok() |
| } |
| pub unsafe 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) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RootReferences2)(::windows_core::Interface::as_raw(self), crootrefs, rootrefids, rootkinds, rootflags, rootids).ok() |
| } |
| pub unsafe fn HandleCreated(&self, handleid: usize, initialobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.HandleCreated)(::windows_core::Interface::as_raw(self), handleid, initialobjectid).ok() |
| } |
| pub unsafe fn HandleDestroyed(&self, handleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.HandleDestroyed)(::windows_core::Interface::as_raw(self), handleid).ok() |
| } |
| pub unsafe fn InitializeForAttach<P0>(&self, pcorprofilerinfounk: P0, pvclientdata: *const ::core::ffi::c_void, cbclientdata: u32) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.InitializeForAttach)(::windows_core::Interface::as_raw(self), pcorprofilerinfounk.into_param().abi(), pvclientdata, cbclientdata).ok() |
| } |
| pub unsafe fn ProfilerAttachComplete(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ProfilerAttachComplete)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ProfilerDetachSucceeded(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ProfilerDetachSucceeded)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationStarted<P0>(&self, functionid: usize, rejitid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.ReJITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, rejitid, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn GetReJITParameters<P0>(&self, moduleid: usize, methodid: u32, pfunctioncontrol: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<ICorProfilerFunctionControl>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.GetReJITParameters)(::windows_core::Interface::as_raw(self), moduleid, methodid, pfunctioncontrol.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationFinished<P0>(&self, functionid: usize, rejitid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.ReJITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, rejitid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn ReJITError(&self, moduleid: usize, methodid: u32, functionid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ReJITError)(::windows_core::Interface::as_raw(self), moduleid, methodid, functionid, hrstatus).ok() |
| } |
| pub unsafe fn MovedReferences2(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.MovedReferences2)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn SurvivingReferences2(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.SurvivingReferences2)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ConditionalWeakTableElementReferences(&self, crootrefs: u32, keyrefids: *const usize, valuerefids: *const usize, rootids: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ConditionalWeakTableElementReferences)(::windows_core::Interface::as_raw(self), crootrefs, keyrefids, valuerefids, rootids).ok() |
| } |
| pub unsafe fn GetAssemblyReferences<P0, P1>(&self, wszassemblypath: P0, pasmrefprovider: P1) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| P1: ::windows_core::IntoParam<ICorProfilerAssemblyReferenceProvider>, |
| { |
| (::windows_core::Interface::vtable(self).GetAssemblyReferences)(::windows_core::Interface::as_raw(self), wszassemblypath.into_param().abi(), pasmrefprovider.into_param().abi()).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerCallback6, ::windows_core::IUnknown, ICorProfilerCallback, ICorProfilerCallback2, ICorProfilerCallback3, ICorProfilerCallback4, ICorProfilerCallback5); |
| unsafe impl ::windows_core::Interface for ICorProfilerCallback6 { |
| type Vtable = ICorProfilerCallback6_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerCallback6 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xfc13df4b_4448_4f4f_950c_ba8d19d00c36); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerCallback6_Vtbl { |
| pub base__: ICorProfilerCallback5_Vtbl, |
| pub GetAssemblyReferences: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, wszassemblypath: ::windows_core::PCWSTR, pasmrefprovider: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerCallback7(::windows_core::IUnknown); |
| impl ICorProfilerCallback7 { |
| pub unsafe fn Initialize<P0>(&self, picorprofilerinfounk: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.Initialize)(::windows_core::Interface::as_raw(self), picorprofilerinfounk.into_param().abi()).ok() |
| } |
| pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.Shutdown)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn AppDomainCreationStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.AppDomainCreationStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainCreationFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.AppDomainCreationFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AppDomainShutdownStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.AppDomainShutdownStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainShutdownFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.AppDomainShutdownFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyLoadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.AssemblyLoadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyLoadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.AssemblyLoadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyUnloadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.AssemblyUnloadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyUnloadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.AssemblyUnloadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleLoadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ModuleLoadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleLoadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ModuleLoadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleUnloadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ModuleUnloadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleUnloadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ModuleUnloadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleAttachedToAssembly(&self, moduleid: usize, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ModuleAttachedToAssembly)(::windows_core::Interface::as_raw(self), moduleid, assemblyid).ok() |
| } |
| pub unsafe fn ClassLoadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ClassLoadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassLoadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ClassLoadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn ClassUnloadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ClassUnloadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassUnloadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ClassUnloadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn FunctionUnloadStarted(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.FunctionUnloadStarted)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.JITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.JITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() |
| } |
| pub unsafe fn JITFunctionPitched(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.JITFunctionPitched)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadDestroyed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ThreadDestroyed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadAssignedToOSThread(&self, managedthreadid: usize, osthreadid: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ThreadAssignedToOSThread)(::windows_core::Interface::as_raw(self), managedthreadid, osthreadid).ok() |
| } |
| pub unsafe fn RemotingClientInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RemotingClientInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientSendingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RemotingClientSendingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientReceivingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RemotingClientReceivingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingClientInvocationFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RemotingClientInvocationFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerReceivingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RemotingServerReceivingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingServerInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RemotingServerInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RemotingServerInvocationReturned(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RemotingServerInvocationReturned)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerSendingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RemotingServerSendingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn UnmanagedToManagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.UnmanagedToManagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn ManagedToUnmanagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ManagedToUnmanagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn RuntimeSuspendStarted(&self, suspendreason: COR_PRF_SUSPEND_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RuntimeSuspendStarted)(::windows_core::Interface::as_raw(self), suspendreason).ok() |
| } |
| pub unsafe fn RuntimeSuspendFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RuntimeSuspendFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeSuspendAborted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RuntimeSuspendAborted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RuntimeResumeStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RuntimeResumeFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeThreadSuspended(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RuntimeThreadSuspended)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn RuntimeThreadResumed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RuntimeThreadResumed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn MovedReferences(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.MovedReferences)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ObjectAllocated(&self, objectid: usize, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ObjectAllocated)(::windows_core::Interface::as_raw(self), objectid, classid).ok() |
| } |
| pub unsafe fn ObjectsAllocatedByClass(&self, cclasscount: u32, classids: *const usize, cobjects: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ObjectsAllocatedByClass)(::windows_core::Interface::as_raw(self), cclasscount, classids, cobjects).ok() |
| } |
| pub unsafe fn ObjectReferences(&self, objectid: usize, classid: usize, objectrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ObjectReferences)(::windows_core::Interface::as_raw(self), objectid, classid, objectrefids.len().try_into().unwrap(), ::core::mem::transmute(objectrefids.as_ptr())).ok() |
| } |
| pub unsafe fn RootReferences(&self, rootrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RootReferences)(::windows_core::Interface::as_raw(self), rootrefids.len().try_into().unwrap(), ::core::mem::transmute(rootrefids.as_ptr())).ok() |
| } |
| pub unsafe fn ExceptionThrown(&self, thrownobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionThrown)(::windows_core::Interface::as_raw(self), thrownobjectid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionSearchFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionSearchFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionSearchFilterEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionSearchFilterLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchCatcherFound(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionSearchCatcherFound)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerEnter(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionOSHandlerEnter)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerLeave(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionOSHandlerLeave)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionUnwindFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionUnwindFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionUnwindFinallyEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionUnwindFinallyLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCatcherEnter(&self, functionid: usize, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionCatcherEnter)(::windows_core::Interface::as_raw(self), functionid, objectid).ok() |
| } |
| pub unsafe fn ExceptionCatcherLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionCatcherLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn COMClassicVTableCreated(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void, cslots: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.COMClassicVTableCreated)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable, cslots).ok() |
| } |
| pub unsafe fn COMClassicVTableDestroyed(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.COMClassicVTableDestroyed)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherFound(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionCLRCatcherFound)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherExecute(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExceptionCLRCatcherExecute)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ThreadNameChanged(&self, threadid: usize, name: ::core::option::Option<&[u16]>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ThreadNameChanged)(::windows_core::Interface::as_raw(self), threadid, name.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(name.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GarbageCollectionStarted(&self, generationcollected: &[super::super::super::Foundation::BOOL], reason: COR_PRF_GC_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GarbageCollectionStarted)(::windows_core::Interface::as_raw(self), generationcollected.len().try_into().unwrap(), ::core::mem::transmute(generationcollected.as_ptr()), reason).ok() |
| } |
| pub unsafe fn SurvivingReferences(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SurvivingReferences)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn GarbageCollectionFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GarbageCollectionFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn FinalizeableObjectQueued(&self, finalizerflags: u32, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.FinalizeableObjectQueued)(::windows_core::Interface::as_raw(self), finalizerflags, objectid).ok() |
| } |
| pub unsafe 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) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RootReferences2)(::windows_core::Interface::as_raw(self), crootrefs, rootrefids, rootkinds, rootflags, rootids).ok() |
| } |
| pub unsafe fn HandleCreated(&self, handleid: usize, initialobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.HandleCreated)(::windows_core::Interface::as_raw(self), handleid, initialobjectid).ok() |
| } |
| pub unsafe fn HandleDestroyed(&self, handleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.HandleDestroyed)(::windows_core::Interface::as_raw(self), handleid).ok() |
| } |
| pub unsafe fn InitializeForAttach<P0>(&self, pcorprofilerinfounk: P0, pvclientdata: *const ::core::ffi::c_void, cbclientdata: u32) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.InitializeForAttach)(::windows_core::Interface::as_raw(self), pcorprofilerinfounk.into_param().abi(), pvclientdata, cbclientdata).ok() |
| } |
| pub unsafe fn ProfilerAttachComplete(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ProfilerAttachComplete)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ProfilerDetachSucceeded(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ProfilerDetachSucceeded)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationStarted<P0>(&self, functionid: usize, rejitid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ReJITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, rejitid, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn GetReJITParameters<P0>(&self, moduleid: usize, methodid: u32, pfunctioncontrol: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<ICorProfilerFunctionControl>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetReJITParameters)(::windows_core::Interface::as_raw(self), moduleid, methodid, pfunctioncontrol.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationFinished<P0>(&self, functionid: usize, rejitid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ReJITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, rejitid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn ReJITError(&self, moduleid: usize, methodid: u32, functionid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ReJITError)(::windows_core::Interface::as_raw(self), moduleid, methodid, functionid, hrstatus).ok() |
| } |
| pub unsafe fn MovedReferences2(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.MovedReferences2)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn SurvivingReferences2(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SurvivingReferences2)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ConditionalWeakTableElementReferences(&self, crootrefs: u32, keyrefids: *const usize, valuerefids: *const usize, rootids: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ConditionalWeakTableElementReferences)(::windows_core::Interface::as_raw(self), crootrefs, keyrefids, valuerefids, rootids).ok() |
| } |
| pub unsafe fn GetAssemblyReferences<P0, P1>(&self, wszassemblypath: P0, pasmrefprovider: P1) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| P1: ::windows_core::IntoParam<ICorProfilerAssemblyReferenceProvider>, |
| { |
| (::windows_core::Interface::vtable(self).base__.GetAssemblyReferences)(::windows_core::Interface::as_raw(self), wszassemblypath.into_param().abi(), pasmrefprovider.into_param().abi()).ok() |
| } |
| pub unsafe fn ModuleInMemorySymbolsUpdated(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ModuleInMemorySymbolsUpdated)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerCallback7, ::windows_core::IUnknown, ICorProfilerCallback, ICorProfilerCallback2, ICorProfilerCallback3, ICorProfilerCallback4, ICorProfilerCallback5, ICorProfilerCallback6); |
| unsafe impl ::windows_core::Interface for ICorProfilerCallback7 { |
| type Vtable = ICorProfilerCallback7_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerCallback7 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xf76a2dba_1d52_4539_866c_2aa518f9efc3); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerCallback7_Vtbl { |
| pub base__: ICorProfilerCallback6_Vtbl, |
| pub ModuleInMemorySymbolsUpdated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerCallback8(::windows_core::IUnknown); |
| impl ICorProfilerCallback8 { |
| pub unsafe fn Initialize<P0>(&self, picorprofilerinfounk: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.Initialize)(::windows_core::Interface::as_raw(self), picorprofilerinfounk.into_param().abi()).ok() |
| } |
| pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.Shutdown)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn AppDomainCreationStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.AppDomainCreationStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainCreationFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.AppDomainCreationFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AppDomainShutdownStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.AppDomainShutdownStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainShutdownFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.AppDomainShutdownFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyLoadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.AssemblyLoadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyLoadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.AssemblyLoadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyUnloadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.AssemblyUnloadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyUnloadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.AssemblyUnloadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleLoadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ModuleLoadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleLoadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ModuleLoadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleUnloadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ModuleUnloadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleUnloadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ModuleUnloadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleAttachedToAssembly(&self, moduleid: usize, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ModuleAttachedToAssembly)(::windows_core::Interface::as_raw(self), moduleid, assemblyid).ok() |
| } |
| pub unsafe fn ClassLoadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ClassLoadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassLoadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ClassLoadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn ClassUnloadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ClassUnloadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassUnloadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ClassUnloadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn FunctionUnloadStarted(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.FunctionUnloadStarted)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.JITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.JITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() |
| } |
| pub unsafe fn JITFunctionPitched(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.JITFunctionPitched)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadDestroyed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ThreadDestroyed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadAssignedToOSThread(&self, managedthreadid: usize, osthreadid: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ThreadAssignedToOSThread)(::windows_core::Interface::as_raw(self), managedthreadid, osthreadid).ok() |
| } |
| pub unsafe fn RemotingClientInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RemotingClientInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientSendingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RemotingClientSendingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientReceivingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RemotingClientReceivingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingClientInvocationFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RemotingClientInvocationFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerReceivingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RemotingServerReceivingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingServerInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RemotingServerInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RemotingServerInvocationReturned(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RemotingServerInvocationReturned)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerSendingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RemotingServerSendingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn UnmanagedToManagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.UnmanagedToManagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn ManagedToUnmanagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ManagedToUnmanagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn RuntimeSuspendStarted(&self, suspendreason: COR_PRF_SUSPEND_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RuntimeSuspendStarted)(::windows_core::Interface::as_raw(self), suspendreason).ok() |
| } |
| pub unsafe fn RuntimeSuspendFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RuntimeSuspendFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeSuspendAborted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RuntimeSuspendAborted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RuntimeResumeStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RuntimeResumeFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeThreadSuspended(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RuntimeThreadSuspended)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn RuntimeThreadResumed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RuntimeThreadResumed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn MovedReferences(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.MovedReferences)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ObjectAllocated(&self, objectid: usize, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ObjectAllocated)(::windows_core::Interface::as_raw(self), objectid, classid).ok() |
| } |
| pub unsafe fn ObjectsAllocatedByClass(&self, cclasscount: u32, classids: *const usize, cobjects: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ObjectsAllocatedByClass)(::windows_core::Interface::as_raw(self), cclasscount, classids, cobjects).ok() |
| } |
| pub unsafe fn ObjectReferences(&self, objectid: usize, classid: usize, objectrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ObjectReferences)(::windows_core::Interface::as_raw(self), objectid, classid, objectrefids.len().try_into().unwrap(), ::core::mem::transmute(objectrefids.as_ptr())).ok() |
| } |
| pub unsafe fn RootReferences(&self, rootrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RootReferences)(::windows_core::Interface::as_raw(self), rootrefids.len().try_into().unwrap(), ::core::mem::transmute(rootrefids.as_ptr())).ok() |
| } |
| pub unsafe fn ExceptionThrown(&self, thrownobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionThrown)(::windows_core::Interface::as_raw(self), thrownobjectid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFilterEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFilterLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchCatcherFound(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionSearchCatcherFound)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerEnter(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionOSHandlerEnter)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerLeave(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionOSHandlerLeave)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFinallyEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFinallyLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCatcherEnter(&self, functionid: usize, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionCatcherEnter)(::windows_core::Interface::as_raw(self), functionid, objectid).ok() |
| } |
| pub unsafe fn ExceptionCatcherLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionCatcherLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn COMClassicVTableCreated(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void, cslots: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.COMClassicVTableCreated)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable, cslots).ok() |
| } |
| pub unsafe fn COMClassicVTableDestroyed(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.COMClassicVTableDestroyed)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherFound(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionCLRCatcherFound)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherExecute(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExceptionCLRCatcherExecute)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ThreadNameChanged(&self, threadid: usize, name: ::core::option::Option<&[u16]>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ThreadNameChanged)(::windows_core::Interface::as_raw(self), threadid, name.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(name.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GarbageCollectionStarted(&self, generationcollected: &[super::super::super::Foundation::BOOL], reason: COR_PRF_GC_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GarbageCollectionStarted)(::windows_core::Interface::as_raw(self), generationcollected.len().try_into().unwrap(), ::core::mem::transmute(generationcollected.as_ptr()), reason).ok() |
| } |
| pub unsafe fn SurvivingReferences(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SurvivingReferences)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn GarbageCollectionFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GarbageCollectionFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn FinalizeableObjectQueued(&self, finalizerflags: u32, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.FinalizeableObjectQueued)(::windows_core::Interface::as_raw(self), finalizerflags, objectid).ok() |
| } |
| pub unsafe 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) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RootReferences2)(::windows_core::Interface::as_raw(self), crootrefs, rootrefids, rootkinds, rootflags, rootids).ok() |
| } |
| pub unsafe fn HandleCreated(&self, handleid: usize, initialobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.HandleCreated)(::windows_core::Interface::as_raw(self), handleid, initialobjectid).ok() |
| } |
| pub unsafe fn HandleDestroyed(&self, handleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.HandleDestroyed)(::windows_core::Interface::as_raw(self), handleid).ok() |
| } |
| pub unsafe fn InitializeForAttach<P0>(&self, pcorprofilerinfounk: P0, pvclientdata: *const ::core::ffi::c_void, cbclientdata: u32) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.InitializeForAttach)(::windows_core::Interface::as_raw(self), pcorprofilerinfounk.into_param().abi(), pvclientdata, cbclientdata).ok() |
| } |
| pub unsafe fn ProfilerAttachComplete(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ProfilerAttachComplete)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ProfilerDetachSucceeded(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ProfilerDetachSucceeded)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationStarted<P0>(&self, functionid: usize, rejitid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ReJITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, rejitid, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn GetReJITParameters<P0>(&self, moduleid: usize, methodid: u32, pfunctioncontrol: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<ICorProfilerFunctionControl>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetReJITParameters)(::windows_core::Interface::as_raw(self), moduleid, methodid, pfunctioncontrol.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationFinished<P0>(&self, functionid: usize, rejitid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ReJITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, rejitid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn ReJITError(&self, moduleid: usize, methodid: u32, functionid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ReJITError)(::windows_core::Interface::as_raw(self), moduleid, methodid, functionid, hrstatus).ok() |
| } |
| pub unsafe fn MovedReferences2(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MovedReferences2)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn SurvivingReferences2(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SurvivingReferences2)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ConditionalWeakTableElementReferences(&self, crootrefs: u32, keyrefids: *const usize, valuerefids: *const usize, rootids: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ConditionalWeakTableElementReferences)(::windows_core::Interface::as_raw(self), crootrefs, keyrefids, valuerefids, rootids).ok() |
| } |
| pub unsafe fn GetAssemblyReferences<P0, P1>(&self, wszassemblypath: P0, pasmrefprovider: P1) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| P1: ::windows_core::IntoParam<ICorProfilerAssemblyReferenceProvider>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.GetAssemblyReferences)(::windows_core::Interface::as_raw(self), wszassemblypath.into_param().abi(), pasmrefprovider.into_param().abi()).ok() |
| } |
| pub unsafe fn ModuleInMemorySymbolsUpdated(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ModuleInMemorySymbolsUpdated)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn DynamicMethodJITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0, pilheader: *const u8, cbilheader: u32) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).DynamicMethodJITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi(), pilheader, cbilheader).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn DynamicMethodJITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).DynamicMethodJITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerCallback8, ::windows_core::IUnknown, ICorProfilerCallback, ICorProfilerCallback2, ICorProfilerCallback3, ICorProfilerCallback4, ICorProfilerCallback5, ICorProfilerCallback6, ICorProfilerCallback7); |
| unsafe impl ::windows_core::Interface for ICorProfilerCallback8 { |
| type Vtable = ICorProfilerCallback8_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerCallback8 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x5bed9b15_c079_4d47_bfe2_215a140c07e0); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerCallback8_Vtbl { |
| pub base__: ICorProfilerCallback7_Vtbl, |
| #[cfg(feature = "Win32_Foundation")] |
| pub DynamicMethodJITCompilationStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, fissafetoblock: super::super::super::Foundation::BOOL, pilheader: *const u8, cbilheader: u32) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| DynamicMethodJITCompilationStarted: usize, |
| #[cfg(feature = "Win32_Foundation")] |
| pub DynamicMethodJITCompilationFinished: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| DynamicMethodJITCompilationFinished: usize, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerCallback9(::windows_core::IUnknown); |
| impl ICorProfilerCallback9 { |
| pub unsafe fn Initialize<P0>(&self, picorprofilerinfounk: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.Initialize)(::windows_core::Interface::as_raw(self), picorprofilerinfounk.into_param().abi()).ok() |
| } |
| pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.Shutdown)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn AppDomainCreationStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.AppDomainCreationStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainCreationFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.AppDomainCreationFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AppDomainShutdownStarted(&self, appdomainid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.AppDomainShutdownStarted)(::windows_core::Interface::as_raw(self), appdomainid).ok() |
| } |
| pub unsafe fn AppDomainShutdownFinished(&self, appdomainid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.AppDomainShutdownFinished)(::windows_core::Interface::as_raw(self), appdomainid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyLoadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.AssemblyLoadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyLoadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.AssemblyLoadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn AssemblyUnloadStarted(&self, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.AssemblyUnloadStarted)(::windows_core::Interface::as_raw(self), assemblyid).ok() |
| } |
| pub unsafe fn AssemblyUnloadFinished(&self, assemblyid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.AssemblyUnloadFinished)(::windows_core::Interface::as_raw(self), assemblyid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleLoadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ModuleLoadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleLoadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ModuleLoadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleUnloadStarted(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ModuleUnloadStarted)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn ModuleUnloadFinished(&self, moduleid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ModuleUnloadFinished)(::windows_core::Interface::as_raw(self), moduleid, hrstatus).ok() |
| } |
| pub unsafe fn ModuleAttachedToAssembly(&self, moduleid: usize, assemblyid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ModuleAttachedToAssembly)(::windows_core::Interface::as_raw(self), moduleid, assemblyid).ok() |
| } |
| pub unsafe fn ClassLoadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ClassLoadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassLoadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ClassLoadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn ClassUnloadStarted(&self, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ClassUnloadStarted)(::windows_core::Interface::as_raw(self), classid).ok() |
| } |
| pub unsafe fn ClassUnloadFinished(&self, classid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ClassUnloadFinished)(::windows_core::Interface::as_raw(self), classid, hrstatus).ok() |
| } |
| pub unsafe fn FunctionUnloadStarted(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.FunctionUnloadStarted)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.JITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.JITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() |
| } |
| pub unsafe fn JITFunctionPitched(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.JITFunctionPitched)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadDestroyed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ThreadDestroyed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn ThreadAssignedToOSThread(&self, managedthreadid: usize, osthreadid: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ThreadAssignedToOSThread)(::windows_core::Interface::as_raw(self), managedthreadid, osthreadid).ok() |
| } |
| pub unsafe fn RemotingClientInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RemotingClientInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientSendingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RemotingClientSendingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingClientReceivingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RemotingClientReceivingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingClientInvocationFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RemotingClientInvocationFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerReceivingMessage<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RemotingServerReceivingMessage)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn RemotingServerInvocationStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RemotingServerInvocationStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RemotingServerInvocationReturned(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RemotingServerInvocationReturned)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn RemotingServerSendingReply<P0>(&self, pcookie: *const ::windows_core::GUID, fisasync: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RemotingServerSendingReply)(::windows_core::Interface::as_raw(self), pcookie, fisasync.into_param().abi()).ok() |
| } |
| pub unsafe fn UnmanagedToManagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.UnmanagedToManagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn ManagedToUnmanagedTransition(&self, functionid: usize, reason: COR_PRF_TRANSITION_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ManagedToUnmanagedTransition)(::windows_core::Interface::as_raw(self), functionid, reason).ok() |
| } |
| pub unsafe fn RuntimeSuspendStarted(&self, suspendreason: COR_PRF_SUSPEND_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RuntimeSuspendStarted)(::windows_core::Interface::as_raw(self), suspendreason).ok() |
| } |
| pub unsafe fn RuntimeSuspendFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RuntimeSuspendFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeSuspendAborted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RuntimeSuspendAborted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeStarted(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RuntimeResumeStarted)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeResumeFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RuntimeResumeFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RuntimeThreadSuspended(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RuntimeThreadSuspended)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn RuntimeThreadResumed(&self, threadid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RuntimeThreadResumed)(::windows_core::Interface::as_raw(self), threadid).ok() |
| } |
| pub unsafe fn MovedReferences(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.MovedReferences)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ObjectAllocated(&self, objectid: usize, classid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ObjectAllocated)(::windows_core::Interface::as_raw(self), objectid, classid).ok() |
| } |
| pub unsafe fn ObjectsAllocatedByClass(&self, cclasscount: u32, classids: *const usize, cobjects: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ObjectsAllocatedByClass)(::windows_core::Interface::as_raw(self), cclasscount, classids, cobjects).ok() |
| } |
| pub unsafe fn ObjectReferences(&self, objectid: usize, classid: usize, objectrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ObjectReferences)(::windows_core::Interface::as_raw(self), objectid, classid, objectrefids.len().try_into().unwrap(), ::core::mem::transmute(objectrefids.as_ptr())).ok() |
| } |
| pub unsafe fn RootReferences(&self, rootrefids: &[usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RootReferences)(::windows_core::Interface::as_raw(self), rootrefids.len().try_into().unwrap(), ::core::mem::transmute(rootrefids.as_ptr())).ok() |
| } |
| pub unsafe fn ExceptionThrown(&self, thrownobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionThrown)(::windows_core::Interface::as_raw(self), thrownobjectid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFilterEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionSearchFilterLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchFilterLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionSearchCatcherFound(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionSearchCatcherFound)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerEnter(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionOSHandlerEnter)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionOSHandlerLeave(&self, __unused: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionOSHandlerLeave)(::windows_core::Interface::as_raw(self), __unused).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFunctionEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFunctionLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFunctionLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyEnter(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFinallyEnter)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ExceptionUnwindFinallyLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionUnwindFinallyLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCatcherEnter(&self, functionid: usize, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionCatcherEnter)(::windows_core::Interface::as_raw(self), functionid, objectid).ok() |
| } |
| pub unsafe fn ExceptionCatcherLeave(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionCatcherLeave)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn COMClassicVTableCreated(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void, cslots: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.COMClassicVTableCreated)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable, cslots).ok() |
| } |
| pub unsafe fn COMClassicVTableDestroyed(&self, wrappedclassid: usize, implementediid: *const ::windows_core::GUID, pvtable: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.COMClassicVTableDestroyed)(::windows_core::Interface::as_raw(self), wrappedclassid, implementediid, pvtable).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherFound(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionCLRCatcherFound)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ExceptionCLRCatcherExecute(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExceptionCLRCatcherExecute)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ThreadNameChanged(&self, threadid: usize, name: ::core::option::Option<&[u16]>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ThreadNameChanged)(::windows_core::Interface::as_raw(self), threadid, name.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(name.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GarbageCollectionStarted(&self, generationcollected: &[super::super::super::Foundation::BOOL], reason: COR_PRF_GC_REASON) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GarbageCollectionStarted)(::windows_core::Interface::as_raw(self), generationcollected.len().try_into().unwrap(), ::core::mem::transmute(generationcollected.as_ptr()), reason).ok() |
| } |
| pub unsafe fn SurvivingReferences(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SurvivingReferences)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn GarbageCollectionFinished(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GarbageCollectionFinished)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn FinalizeableObjectQueued(&self, finalizerflags: u32, objectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.FinalizeableObjectQueued)(::windows_core::Interface::as_raw(self), finalizerflags, objectid).ok() |
| } |
| pub unsafe 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) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RootReferences2)(::windows_core::Interface::as_raw(self), crootrefs, rootrefids, rootkinds, rootflags, rootids).ok() |
| } |
| pub unsafe fn HandleCreated(&self, handleid: usize, initialobjectid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.HandleCreated)(::windows_core::Interface::as_raw(self), handleid, initialobjectid).ok() |
| } |
| pub unsafe fn HandleDestroyed(&self, handleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.HandleDestroyed)(::windows_core::Interface::as_raw(self), handleid).ok() |
| } |
| pub unsafe fn InitializeForAttach<P0>(&self, pcorprofilerinfounk: P0, pvclientdata: *const ::core::ffi::c_void, cbclientdata: u32) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::IUnknown>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.InitializeForAttach)(::windows_core::Interface::as_raw(self), pcorprofilerinfounk.into_param().abi(), pvclientdata, cbclientdata).ok() |
| } |
| pub unsafe fn ProfilerAttachComplete(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ProfilerAttachComplete)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ProfilerDetachSucceeded(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ProfilerDetachSucceeded)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationStarted<P0>(&self, functionid: usize, rejitid: usize, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ReJITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, rejitid, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn GetReJITParameters<P0>(&self, moduleid: usize, methodid: u32, pfunctioncontrol: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<ICorProfilerFunctionControl>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetReJITParameters)(::windows_core::Interface::as_raw(self), moduleid, methodid, pfunctioncontrol.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn ReJITCompilationFinished<P0>(&self, functionid: usize, rejitid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ReJITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, rejitid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn ReJITError(&self, moduleid: usize, methodid: u32, functionid: usize, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ReJITError)(::windows_core::Interface::as_raw(self), moduleid, methodid, functionid, hrstatus).ok() |
| } |
| pub unsafe fn MovedReferences2(&self, cmovedobjectidranges: u32, oldobjectidrangestart: *const usize, newobjectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.MovedReferences2)(::windows_core::Interface::as_raw(self), cmovedobjectidranges, oldobjectidrangestart, newobjectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn SurvivingReferences2(&self, csurvivingobjectidranges: u32, objectidrangestart: *const usize, cobjectidrangelength: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SurvivingReferences2)(::windows_core::Interface::as_raw(self), csurvivingobjectidranges, objectidrangestart, cobjectidrangelength).ok() |
| } |
| pub unsafe fn ConditionalWeakTableElementReferences(&self, crootrefs: u32, keyrefids: *const usize, valuerefids: *const usize, rootids: *const usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ConditionalWeakTableElementReferences)(::windows_core::Interface::as_raw(self), crootrefs, keyrefids, valuerefids, rootids).ok() |
| } |
| pub unsafe fn GetAssemblyReferences<P0, P1>(&self, wszassemblypath: P0, pasmrefprovider: P1) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| P1: ::windows_core::IntoParam<ICorProfilerAssemblyReferenceProvider>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetAssemblyReferences)(::windows_core::Interface::as_raw(self), wszassemblypath.into_param().abi(), pasmrefprovider.into_param().abi()).ok() |
| } |
| pub unsafe fn ModuleInMemorySymbolsUpdated(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ModuleInMemorySymbolsUpdated)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn DynamicMethodJITCompilationStarted<P0>(&self, functionid: usize, fissafetoblock: P0, pilheader: *const u8, cbilheader: u32) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.DynamicMethodJITCompilationStarted)(::windows_core::Interface::as_raw(self), functionid, fissafetoblock.into_param().abi(), pilheader, cbilheader).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn DynamicMethodJITCompilationFinished<P0>(&self, functionid: usize, hrstatus: ::windows_core::HRESULT, fissafetoblock: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.DynamicMethodJITCompilationFinished)(::windows_core::Interface::as_raw(self), functionid, hrstatus, fissafetoblock.into_param().abi()).ok() |
| } |
| pub unsafe fn DynamicMethodUnloaded(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).DynamicMethodUnloaded)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerCallback9, ::windows_core::IUnknown, ICorProfilerCallback, ICorProfilerCallback2, ICorProfilerCallback3, ICorProfilerCallback4, ICorProfilerCallback5, ICorProfilerCallback6, ICorProfilerCallback7, ICorProfilerCallback8); |
| unsafe impl ::windows_core::Interface for ICorProfilerCallback9 { |
| type Vtable = ICorProfilerCallback9_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerCallback9 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x27583ec3_c8f5_482f_8052_194b8ce4705a); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerCallback9_Vtbl { |
| pub base__: ICorProfilerCallback8_Vtbl, |
| pub DynamicMethodUnloaded: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerFunctionControl(::windows_core::IUnknown); |
| impl ICorProfilerFunctionControl { |
| pub unsafe fn SetCodegenFlags(&self, flags: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SetCodegenFlags)(::windows_core::Interface::as_raw(self), flags).ok() |
| } |
| pub unsafe fn SetILFunctionBody(&self, pbnewilmethodheader: &[u8]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SetILFunctionBody)(::windows_core::Interface::as_raw(self), pbnewilmethodheader.len().try_into().unwrap(), ::core::mem::transmute(pbnewilmethodheader.as_ptr())).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap(&self, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerFunctionControl, ::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for ICorProfilerFunctionControl { |
| type Vtable = ICorProfilerFunctionControl_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerFunctionControl { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xf0963021_e1ea_4732_8581_e01b0bd3c0c6); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerFunctionControl_Vtbl { |
| pub base__: ::windows_core::IUnknown_Vtbl, |
| pub SetCodegenFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows_core::HRESULT, |
| pub SetILFunctionBody: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cbnewilmethodheader: u32, pbnewilmethodheader: *const u8) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_Foundation")] |
| pub SetILInstrumentedCodeMap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cilmapentries: u32, rgilmapentries: *const COR_IL_MAP) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| SetILInstrumentedCodeMap: usize, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerFunctionEnum(::windows_core::IUnknown); |
| impl ICorProfilerFunctionEnum { |
| pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt).ok() |
| } |
| pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn Clone(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCount(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn Next(&self, ids: &mut [COR_PRF_FUNCTION], pceltfetched: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ids.len().try_into().unwrap(), ::core::mem::transmute(ids.as_ptr()), pceltfetched).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerFunctionEnum, ::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for ICorProfilerFunctionEnum { |
| type Vtable = ICorProfilerFunctionEnum_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerFunctionEnum { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xff71301a_b994_429d_a10b_b345a65280ef); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerFunctionEnum_Vtbl { |
| pub base__: ::windows_core::IUnknown_Vtbl, |
| pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT, |
| pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcelt: *mut u32) -> ::windows_core::HRESULT, |
| pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, ids: *mut COR_PRF_FUNCTION, pceltfetched: *mut u32) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerInfo(::windows_core::IUnknown); |
| impl ICorProfilerInfo { |
| pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() |
| } |
| pub unsafe fn GetEventMask(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result<super::super::super::Foundation::HANDLE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).IsArrayClass)(::windows_core::Interface::as_raw(self), classid, pbaseelemtype, pbaseclassid, pcrank).ok() |
| } |
| pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() |
| } |
| pub unsafe fn GetFunctionInfo(&self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, pclassid, pmoduleid, ptoken).ok() |
| } |
| pub unsafe fn SetEventMask(&self, dwevents: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SetEventMask)(::windows_core::Interface::as_raw(self), dwevents).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks(&self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SetEnterLeaveFunctionHooks)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SetFunctionIDMapper)(::windows_core::Interface::as_raw(self), pfunc).ok() |
| } |
| pub unsafe fn GetTokenAndMetaDataFromFunction(&self, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut ::core::option::Option<::windows_core::IUnknown>, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetTokenAndMetaDataFromFunction)(::windows_core::Interface::as_raw(self), functionid, riid, ::core::mem::transmute(ppimport), ptoken).ok() |
| } |
| pub unsafe fn GetModuleInfo(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetModuleInfo)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid).ok() |
| } |
| pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() |
| } |
| pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result<IMethodMalloc> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() |
| } |
| pub unsafe fn GetAppDomainInfo(&self, appdomainid: usize, pcchname: *mut u32, szname: &mut [u16], pprocessid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetAppDomainInfo)(::windows_core::Interface::as_raw(self), appdomainid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pprocessid).ok() |
| } |
| pub unsafe fn GetAssemblyInfo(&self, assemblyid: usize, pcchname: *mut u32, szname: &mut [u16], pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetAssemblyInfo)(::windows_core::Interface::as_raw(self), assemblyid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pappdomainid, pmoduleid).ok() |
| } |
| pub unsafe fn SetFunctionReJIT(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SetFunctionReJIT)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ForceGC(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ForceGC)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap<P0>(&self, functionid: usize, fstartjit: P0, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), functionid, fstartjit.into_param().abi(), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn BeginInprocDebugging<P0>(&self, fthisthreadonly: P0) -> ::windows_core::Result<u32> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() |
| } |
| pub unsafe fn GetILToNativeMapping(&self, functionid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetILToNativeMapping)(::windows_core::Interface::as_raw(self), functionid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerInfo, ::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for ICorProfilerInfo { |
| type Vtable = ICorProfilerInfo_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerInfo { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x28b5557d_3f3f_48b4_90b2_5f9eea2f6c48); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerInfo_Vtbl { |
| pub base__: ::windows_core::IUnknown_Vtbl, |
| pub GetClassFromObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, objectid: usize, pclassid: *mut usize) -> ::windows_core::HRESULT, |
| pub GetClassFromToken: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, typedef: u32, pclassid: *mut usize) -> ::windows_core::HRESULT, |
| pub GetCodeInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::HRESULT, |
| pub GetEventMask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwevents: *mut u32) -> ::windows_core::HRESULT, |
| pub GetFunctionFromIP: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ip: *const u8, pfunctionid: *mut usize) -> ::windows_core::HRESULT, |
| pub GetFunctionFromToken: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, token: u32, pfunctionid: *mut usize) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_Foundation")] |
| pub GetHandleFromThread: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, threadid: usize, phthread: *mut super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| GetHandleFromThread: usize, |
| pub GetObjectSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, objectid: usize, pcsize: *mut u32) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub IsArrayClass: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_System_WinRT_Metadata"))] |
| IsArrayClass: usize, |
| pub GetThreadInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, threadid: usize, pdwwin32threadid: *mut u32) -> ::windows_core::HRESULT, |
| pub GetCurrentThreadID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pthreadid: *mut usize) -> ::windows_core::HRESULT, |
| pub GetClassIDInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::HRESULT, |
| pub GetFunctionInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::HRESULT, |
| pub SetEventMask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwevents: u32) -> ::windows_core::HRESULT, |
| pub SetEnterLeaveFunctionHooks: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_Foundation")] |
| pub SetFunctionIDMapper: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfunc: *const FunctionIDMapper) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| SetFunctionIDMapper: usize, |
| pub GetTokenAndMetaDataFromFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut *mut ::core::ffi::c_void, ptoken: *mut u32) -> ::windows_core::HRESULT, |
| pub GetModuleInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, ppbaseloadaddress: *mut *mut u8, cchname: u32, pcchname: *mut u32, szname: ::windows_core::PWSTR, passemblyid: *mut usize) -> ::windows_core::HRESULT, |
| pub GetModuleMetaData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID, ppout: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetILFunctionBody: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::HRESULT, |
| pub GetILFunctionBodyAllocator: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, ppmalloc: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub SetILFunctionBody: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::HRESULT, |
| pub GetAppDomainInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, appdomainid: usize, cchname: u32, pcchname: *mut u32, szname: ::windows_core::PWSTR, pprocessid: *mut usize) -> ::windows_core::HRESULT, |
| pub GetAssemblyInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, assemblyid: usize, cchname: u32, pcchname: *mut u32, szname: ::windows_core::PWSTR, pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::HRESULT, |
| pub SetFunctionReJIT: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize) -> ::windows_core::HRESULT, |
| pub ForceGC: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_Foundation")] |
| pub SetILInstrumentedCodeMap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, fstartjit: super::super::super::Foundation::BOOL, cilmapentries: u32, rgilmapentries: *const COR_IL_MAP) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| SetILInstrumentedCodeMap: usize, |
| pub GetInprocInspectionInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppicd: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetInprocInspectionIThisThread: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppicd: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetThreadContext: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, threadid: usize, pcontextid: *mut usize) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_Foundation")] |
| pub BeginInprocDebugging: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fthisthreadonly: super::super::super::Foundation::BOOL, pdwprofilercontext: *mut u32) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| BeginInprocDebugging: usize, |
| pub EndInprocDebugging: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwprofilercontext: u32) -> ::windows_core::HRESULT, |
| pub GetILToNativeMapping: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, cmap: u32, pcmap: *mut u32, map: *mut COR_DEBUG_IL_TO_NATIVE_MAP) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerInfo10(::windows_core::IUnknown); |
| impl ICorProfilerInfo10 { |
| pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() |
| } |
| pub unsafe fn GetEventMask(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result<super::super::super::Foundation::HANDLE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.IsArrayClass)(::windows_core::Interface::as_raw(self), classid, pbaseelemtype, pbaseclassid, pcrank).ok() |
| } |
| pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() |
| } |
| pub unsafe fn GetFunctionInfo(&self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, pclassid, pmoduleid, ptoken).ok() |
| } |
| pub unsafe fn SetEventMask(&self, dwevents: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEventMask)(::windows_core::Interface::as_raw(self), dwevents).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks(&self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionIDMapper)(::windows_core::Interface::as_raw(self), pfunc).ok() |
| } |
| pub unsafe fn GetTokenAndMetaDataFromFunction(&self, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut ::core::option::Option<::windows_core::IUnknown>, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetTokenAndMetaDataFromFunction)(::windows_core::Interface::as_raw(self), functionid, riid, ::core::mem::transmute(ppimport), ptoken).ok() |
| } |
| pub unsafe fn GetModuleInfo(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleInfo)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid).ok() |
| } |
| pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() |
| } |
| pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result<IMethodMalloc> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() |
| } |
| pub unsafe fn GetAppDomainInfo(&self, appdomainid: usize, pcchname: *mut u32, szname: &mut [u16], pprocessid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainInfo)(::windows_core::Interface::as_raw(self), appdomainid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pprocessid).ok() |
| } |
| pub unsafe fn GetAssemblyInfo(&self, assemblyid: usize, pcchname: *mut u32, szname: &mut [u16], pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAssemblyInfo)(::windows_core::Interface::as_raw(self), assemblyid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pappdomainid, pmoduleid).ok() |
| } |
| pub unsafe fn SetFunctionReJIT(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionReJIT)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ForceGC(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ForceGC)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap<P0>(&self, functionid: usize, fstartjit: P0, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), functionid, fstartjit.into_param().abi(), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn BeginInprocDebugging<P0>(&self, fthisthreadonly: P0) -> ::windows_core::Result<u32> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() |
| } |
| pub unsafe fn GetILToNativeMapping(&self, functionid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILToNativeMapping)(::windows_core::Interface::as_raw(self), functionid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn DoStackSnapshot(&self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const ::core::ffi::c_void, context: &[u8]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.DoStackSnapshot)(::windows_core::Interface::as_raw(self), thread, callback, infoflags, clientdata, ::core::mem::transmute(context.as_ptr()), context.len().try_into().unwrap()).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks2(&self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks2)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| pub unsafe fn GetFunctionInfo2(&self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionInfo2)(::windows_core::Interface::as_raw(self), funcid, frameinfo, pclassid, pmoduleid, ptoken, ctypeargs, pctypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetStringLayout(&self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetStringLayout)(::windows_core::Interface::as_raw(self), pbufferlengthoffset, pstringlengthoffset, pbufferoffset).ok() |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn GetClassLayout(&self, classid: usize, rfieldoffset: *mut super::super::WinRT::Metadata::COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClassLayout)(::windows_core::Interface::as_raw(self), classid, rfieldoffset, cfieldoffset, pcfieldoffset, pulclasssize).ok() |
| } |
| pub unsafe fn GetClassIDInfo2(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo2)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken, pparentclassid, cnumtypeargs, pcnumtypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetCodeInfo2(&self, functionid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo2)(::windows_core::Interface::as_raw(self), functionid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() |
| } |
| pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainStaticAddress(&self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, ppaddress).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress(&self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetThreadStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetContextStaticAddress(&self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetContextStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, contextid, ppaddress).ok() |
| } |
| pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result<COR_PRF_STATIC_TYPE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() |
| } |
| pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result<COR_PRF_GC_GENERATION_RANGE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result<COR_PRF_EX_CLAUSE_INFO> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper2(&self, pfunc: *const FunctionIDMapper2, clientdata: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetFunctionIDMapper2)(::windows_core::Interface::as_raw(self), pfunc, clientdata).ok() |
| } |
| pub unsafe fn GetStringLayout2(&self, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetStringLayout2)(::windows_core::Interface::as_raw(self), pstringlengthoffset, pbufferoffset).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3(&self, pfuncenter3: *const FunctionEnter3, pfuncleave3: *const FunctionLeave3, pfunctailcall3: *const FunctionTailcall3) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks3)(::windows_core::Interface::as_raw(self), pfuncenter3, pfuncleave3, pfunctailcall3).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3WithInfo(&self, pfuncenter3withinfo: *const FunctionEnter3WithInfo, pfuncleave3withinfo: *const FunctionLeave3WithInfo, pfunctailcall3withinfo: *const FunctionTailcall3WithInfo) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks3WithInfo)(::windows_core::Interface::as_raw(self), pfuncenter3withinfo, pfuncleave3withinfo, pfunctailcall3withinfo).ok() |
| } |
| pub unsafe fn GetFunctionEnter3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pcbargumentinfo: *mut u32, pargumentinfo: *mut COR_PRF_FUNCTION_ARGUMENT_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionEnter3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pcbargumentinfo, pargumentinfo).ok() |
| } |
| pub unsafe fn GetFunctionLeave3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pretvalrange: *mut COR_PRF_FUNCTION_ARGUMENT_RANGE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionLeave3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pretvalrange).ok() |
| } |
| pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModules(&self) -> ::windows_core::Result<ICorProfilerModuleEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress2(&self, classid: usize, fieldtoken: u32, appdomainid: usize, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetThreadStaticAddress2)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainsContainingModule(&self, moduleid: usize, pcappdomainids: *mut u32, appdomainids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetAppDomainsContainingModule)(::windows_core::Interface::as_raw(self), moduleid, appdomainids.len().try_into().unwrap(), pcappdomainids, ::core::mem::transmute(appdomainids.as_ptr())).ok() |
| } |
| pub unsafe fn GetModuleInfo2(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize, pdwmoduleflags: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetModuleInfo2)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid, pdwmoduleflags).ok() |
| } |
| pub unsafe fn EnumThreads(&self) -> ::windows_core::Result<ICorProfilerThreadEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RequestReJIT(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RequestReJIT)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn RequestRevert(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32, status: *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RequestRevert)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids, status).ok() |
| } |
| pub unsafe fn GetCodeInfo3(&self, functionid: usize, rejitid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCodeInfo3)(::windows_core::Interface::as_raw(self), functionid, rejitid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetFunctionFromIP2(&self, ip: *const u8, pfunctionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionFromIP2)(::windows_core::Interface::as_raw(self), ip, pfunctionid, prejitid).ok() |
| } |
| pub unsafe fn GetReJITIDs(&self, functionid: usize, pcrejitids: *mut u32, rejitids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetReJITIDs)(::windows_core::Interface::as_raw(self), functionid, rejitids.len().try_into().unwrap(), pcrejitids, ::core::mem::transmute(rejitids.as_ptr())).ok() |
| } |
| pub unsafe fn GetILToNativeMapping2(&self, functionid: usize, rejitid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetILToNativeMapping2)(::windows_core::Interface::as_raw(self), functionid, rejitid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() |
| } |
| pub unsafe fn SetEventMask2(&self, dweventslow: u32, dweventshigh: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetEventMask2)(::windows_core::Interface::as_raw(self), dweventslow, dweventshigh).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EnumNgenModuleMethodsInliningThisMethod(&self, inlinersmoduleid: usize, inlineemoduleid: usize, inlineemethodid: u32, incompletedata: *mut super::super::super::Foundation::BOOL, ppenum: *mut ::core::option::Option<ICorProfilerMethodEnum>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumNgenModuleMethodsInliningThisMethod)(::windows_core::Interface::as_raw(self), inlinersmoduleid, inlineemoduleid, inlineemethodid, incompletedata, ::core::mem::transmute(ppenum)).ok() |
| } |
| pub unsafe fn ApplyMetaData(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ApplyMetaData)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn IsFunctionDynamic(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP3(&self, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetFunctionFromIP3)(::windows_core::Interface::as_raw(self), ip, functionid, prejitid).ok() |
| } |
| pub unsafe fn GetDynamicFunctionInfo(&self, functionid: usize, moduleid: *mut usize, ppvsig: *mut *mut u8, pbsig: *mut u32, cchname: u32, pcchname: *mut u32, wszname: ::windows_core::PWSTR) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetDynamicFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, moduleid, ppvsig, pbsig, cchname, pcchname, ::core::mem::transmute(wszname)).ok() |
| } |
| pub unsafe fn GetNativeCodeStartAddresses(&self, functionid: usize, rejitid: usize, ccodestartaddresses: u32, pccodestartaddresses: *mut u32, codestartaddresses: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetNativeCodeStartAddresses)(::windows_core::Interface::as_raw(self), functionid, rejitid, ccodestartaddresses, pccodestartaddresses, codestartaddresses).ok() |
| } |
| pub unsafe fn GetILToNativeMapping3(&self, pnativecodestartaddress: usize, cmap: u32, pcmap: *mut u32, map: *mut COR_DEBUG_IL_TO_NATIVE_MAP) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetILToNativeMapping3)(::windows_core::Interface::as_raw(self), pnativecodestartaddress, cmap, pcmap, map).ok() |
| } |
| pub unsafe fn GetCodeInfo4(&self, pnativecodestartaddress: usize, ccodeinfos: u32, pccodeinfos: *mut u32, codeinfos: *mut COR_PRF_CODE_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetCodeInfo4)(::windows_core::Interface::as_raw(self), pnativecodestartaddress, ccodeinfos, pccodeinfos, codeinfos).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EnumerateObjectReferences(&self, objectid: usize, callback: ObjectReferenceCallback, clientdata: *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).EnumerateObjectReferences)(::windows_core::Interface::as_raw(self), objectid, callback, clientdata).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn IsFrozenObject(&self, objectid: usize, pbfrozen: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).IsFrozenObject)(::windows_core::Interface::as_raw(self), objectid, pbfrozen).ok() |
| } |
| pub unsafe fn GetLOHObjectSizeThreshold(&self, pthreshold: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetLOHObjectSizeThreshold)(::windows_core::Interface::as_raw(self), pthreshold).ok() |
| } |
| pub unsafe fn RequestReJITWithInliners(&self, dwrejitflags: u32, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RequestReJITWithInliners)(::windows_core::Interface::as_raw(self), dwrejitflags, cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn SuspendRuntime(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SuspendRuntime)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ResumeRuntime(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ResumeRuntime)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerInfo10, ::windows_core::IUnknown, ICorProfilerInfo, ICorProfilerInfo2, ICorProfilerInfo3, ICorProfilerInfo4, ICorProfilerInfo5, ICorProfilerInfo6, ICorProfilerInfo7, ICorProfilerInfo8, ICorProfilerInfo9); |
| unsafe impl ::windows_core::Interface for ICorProfilerInfo10 { |
| type Vtable = ICorProfilerInfo10_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerInfo10 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x2f1b5152_c869_40c9_aa5f_3abe026bd720); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerInfo10_Vtbl { |
| pub base__: ICorProfilerInfo9_Vtbl, |
| #[cfg(feature = "Win32_Foundation")] |
| pub EnumerateObjectReferences: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, objectid: usize, callback: ObjectReferenceCallback, clientdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| EnumerateObjectReferences: usize, |
| #[cfg(feature = "Win32_Foundation")] |
| pub IsFrozenObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, objectid: usize, pbfrozen: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| IsFrozenObject: usize, |
| pub GetLOHObjectSizeThreshold: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pthreshold: *mut u32) -> ::windows_core::HRESULT, |
| pub RequestReJITWithInliners: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwrejitflags: u32, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::HRESULT, |
| pub SuspendRuntime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub ResumeRuntime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerInfo11(::windows_core::IUnknown); |
| impl ICorProfilerInfo11 { |
| pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() |
| } |
| pub unsafe fn GetEventMask(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result<super::super::super::Foundation::HANDLE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.IsArrayClass)(::windows_core::Interface::as_raw(self), classid, pbaseelemtype, pbaseclassid, pcrank).ok() |
| } |
| pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() |
| } |
| pub unsafe fn GetFunctionInfo(&self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, pclassid, pmoduleid, ptoken).ok() |
| } |
| pub unsafe fn SetEventMask(&self, dwevents: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEventMask)(::windows_core::Interface::as_raw(self), dwevents).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks(&self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionIDMapper)(::windows_core::Interface::as_raw(self), pfunc).ok() |
| } |
| pub unsafe fn GetTokenAndMetaDataFromFunction(&self, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut ::core::option::Option<::windows_core::IUnknown>, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetTokenAndMetaDataFromFunction)(::windows_core::Interface::as_raw(self), functionid, riid, ::core::mem::transmute(ppimport), ptoken).ok() |
| } |
| pub unsafe fn GetModuleInfo(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleInfo)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid).ok() |
| } |
| pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() |
| } |
| pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result<IMethodMalloc> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() |
| } |
| pub unsafe fn GetAppDomainInfo(&self, appdomainid: usize, pcchname: *mut u32, szname: &mut [u16], pprocessid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainInfo)(::windows_core::Interface::as_raw(self), appdomainid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pprocessid).ok() |
| } |
| pub unsafe fn GetAssemblyInfo(&self, assemblyid: usize, pcchname: *mut u32, szname: &mut [u16], pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAssemblyInfo)(::windows_core::Interface::as_raw(self), assemblyid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pappdomainid, pmoduleid).ok() |
| } |
| pub unsafe fn SetFunctionReJIT(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionReJIT)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ForceGC(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ForceGC)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap<P0>(&self, functionid: usize, fstartjit: P0, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), functionid, fstartjit.into_param().abi(), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn BeginInprocDebugging<P0>(&self, fthisthreadonly: P0) -> ::windows_core::Result<u32> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() |
| } |
| pub unsafe fn GetILToNativeMapping(&self, functionid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILToNativeMapping)(::windows_core::Interface::as_raw(self), functionid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn DoStackSnapshot(&self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const ::core::ffi::c_void, context: &[u8]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.DoStackSnapshot)(::windows_core::Interface::as_raw(self), thread, callback, infoflags, clientdata, ::core::mem::transmute(context.as_ptr()), context.len().try_into().unwrap()).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks2(&self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks2)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| pub unsafe fn GetFunctionInfo2(&self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionInfo2)(::windows_core::Interface::as_raw(self), funcid, frameinfo, pclassid, pmoduleid, ptoken, ctypeargs, pctypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetStringLayout(&self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStringLayout)(::windows_core::Interface::as_raw(self), pbufferlengthoffset, pstringlengthoffset, pbufferoffset).ok() |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn GetClassLayout(&self, classid: usize, rfieldoffset: *mut super::super::WinRT::Metadata::COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassLayout)(::windows_core::Interface::as_raw(self), classid, rfieldoffset, cfieldoffset, pcfieldoffset, pulclasssize).ok() |
| } |
| pub unsafe fn GetClassIDInfo2(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo2)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken, pparentclassid, cnumtypeargs, pcnumtypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetCodeInfo2(&self, functionid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo2)(::windows_core::Interface::as_raw(self), functionid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() |
| } |
| pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainStaticAddress(&self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, ppaddress).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress(&self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetContextStaticAddress(&self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetContextStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, contextid, ppaddress).ok() |
| } |
| pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result<COR_PRF_STATIC_TYPE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() |
| } |
| pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result<COR_PRF_GC_GENERATION_RANGE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result<COR_PRF_EX_CLAUSE_INFO> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper2(&self, pfunc: *const FunctionIDMapper2, clientdata: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionIDMapper2)(::windows_core::Interface::as_raw(self), pfunc, clientdata).ok() |
| } |
| pub unsafe fn GetStringLayout2(&self, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetStringLayout2)(::windows_core::Interface::as_raw(self), pstringlengthoffset, pbufferoffset).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3(&self, pfuncenter3: *const FunctionEnter3, pfuncleave3: *const FunctionLeave3, pfunctailcall3: *const FunctionTailcall3) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks3)(::windows_core::Interface::as_raw(self), pfuncenter3, pfuncleave3, pfunctailcall3).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3WithInfo(&self, pfuncenter3withinfo: *const FunctionEnter3WithInfo, pfuncleave3withinfo: *const FunctionLeave3WithInfo, pfunctailcall3withinfo: *const FunctionTailcall3WithInfo) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks3WithInfo)(::windows_core::Interface::as_raw(self), pfuncenter3withinfo, pfuncleave3withinfo, pfunctailcall3withinfo).ok() |
| } |
| pub unsafe fn GetFunctionEnter3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pcbargumentinfo: *mut u32, pargumentinfo: *mut COR_PRF_FUNCTION_ARGUMENT_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionEnter3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pcbargumentinfo, pargumentinfo).ok() |
| } |
| pub unsafe fn GetFunctionLeave3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pretvalrange: *mut COR_PRF_FUNCTION_ARGUMENT_RANGE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionLeave3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pretvalrange).ok() |
| } |
| pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModules(&self) -> ::windows_core::Result<ICorProfilerModuleEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress2(&self, classid: usize, fieldtoken: u32, appdomainid: usize, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetThreadStaticAddress2)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainsContainingModule(&self, moduleid: usize, pcappdomainids: *mut u32, appdomainids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainsContainingModule)(::windows_core::Interface::as_raw(self), moduleid, appdomainids.len().try_into().unwrap(), pcappdomainids, ::core::mem::transmute(appdomainids.as_ptr())).ok() |
| } |
| pub unsafe fn GetModuleInfo2(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize, pdwmoduleflags: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetModuleInfo2)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid, pdwmoduleflags).ok() |
| } |
| pub unsafe fn EnumThreads(&self) -> ::windows_core::Result<ICorProfilerThreadEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RequestReJIT(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RequestReJIT)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn RequestRevert(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32, status: *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RequestRevert)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids, status).ok() |
| } |
| pub unsafe fn GetCodeInfo3(&self, functionid: usize, rejitid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCodeInfo3)(::windows_core::Interface::as_raw(self), functionid, rejitid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetFunctionFromIP2(&self, ip: *const u8, pfunctionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP2)(::windows_core::Interface::as_raw(self), ip, pfunctionid, prejitid).ok() |
| } |
| pub unsafe fn GetReJITIDs(&self, functionid: usize, pcrejitids: *mut u32, rejitids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetReJITIDs)(::windows_core::Interface::as_raw(self), functionid, rejitids.len().try_into().unwrap(), pcrejitids, ::core::mem::transmute(rejitids.as_ptr())).ok() |
| } |
| pub unsafe fn GetILToNativeMapping2(&self, functionid: usize, rejitid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetILToNativeMapping2)(::windows_core::Interface::as_raw(self), functionid, rejitid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() |
| } |
| pub unsafe fn SetEventMask2(&self, dweventslow: u32, dweventshigh: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetEventMask2)(::windows_core::Interface::as_raw(self), dweventslow, dweventshigh).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EnumNgenModuleMethodsInliningThisMethod(&self, inlinersmoduleid: usize, inlineemoduleid: usize, inlineemethodid: u32, incompletedata: *mut super::super::super::Foundation::BOOL, ppenum: *mut ::core::option::Option<ICorProfilerMethodEnum>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumNgenModuleMethodsInliningThisMethod)(::windows_core::Interface::as_raw(self), inlinersmoduleid, inlineemoduleid, inlineemethodid, incompletedata, ::core::mem::transmute(ppenum)).ok() |
| } |
| pub unsafe fn ApplyMetaData(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ApplyMetaData)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn IsFunctionDynamic(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP3(&self, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionFromIP3)(::windows_core::Interface::as_raw(self), ip, functionid, prejitid).ok() |
| } |
| pub unsafe fn GetDynamicFunctionInfo(&self, functionid: usize, moduleid: *mut usize, ppvsig: *mut *mut u8, pbsig: *mut u32, cchname: u32, pcchname: *mut u32, wszname: ::windows_core::PWSTR) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetDynamicFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, moduleid, ppvsig, pbsig, cchname, pcchname, ::core::mem::transmute(wszname)).ok() |
| } |
| pub unsafe fn GetNativeCodeStartAddresses(&self, functionid: usize, rejitid: usize, ccodestartaddresses: u32, pccodestartaddresses: *mut u32, codestartaddresses: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetNativeCodeStartAddresses)(::windows_core::Interface::as_raw(self), functionid, rejitid, ccodestartaddresses, pccodestartaddresses, codestartaddresses).ok() |
| } |
| pub unsafe fn GetILToNativeMapping3(&self, pnativecodestartaddress: usize, cmap: u32, pcmap: *mut u32, map: *mut COR_DEBUG_IL_TO_NATIVE_MAP) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetILToNativeMapping3)(::windows_core::Interface::as_raw(self), pnativecodestartaddress, cmap, pcmap, map).ok() |
| } |
| pub unsafe fn GetCodeInfo4(&self, pnativecodestartaddress: usize, ccodeinfos: u32, pccodeinfos: *mut u32, codeinfos: *mut COR_PRF_CODE_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetCodeInfo4)(::windows_core::Interface::as_raw(self), pnativecodestartaddress, ccodeinfos, pccodeinfos, codeinfos).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EnumerateObjectReferences(&self, objectid: usize, callback: ObjectReferenceCallback, clientdata: *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.EnumerateObjectReferences)(::windows_core::Interface::as_raw(self), objectid, callback, clientdata).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn IsFrozenObject(&self, objectid: usize, pbfrozen: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.IsFrozenObject)(::windows_core::Interface::as_raw(self), objectid, pbfrozen).ok() |
| } |
| pub unsafe fn GetLOHObjectSizeThreshold(&self, pthreshold: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetLOHObjectSizeThreshold)(::windows_core::Interface::as_raw(self), pthreshold).ok() |
| } |
| pub unsafe fn RequestReJITWithInliners(&self, dwrejitflags: u32, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RequestReJITWithInliners)(::windows_core::Interface::as_raw(self), dwrejitflags, cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn SuspendRuntime(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.SuspendRuntime)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ResumeRuntime(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ResumeRuntime)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn GetEnvironmentVariableA<P0>(&self, szname: P0, pcchvalue: *mut u32, szvalue: &mut [u16]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| { |
| (::windows_core::Interface::vtable(self).GetEnvironmentVariableA)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), szvalue.len().try_into().unwrap(), pcchvalue, ::core::mem::transmute(szvalue.as_ptr())).ok() |
| } |
| pub unsafe fn SetEnvironmentVariable<P0, P1>(&self, szname: P0, szvalue: P1) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| { |
| (::windows_core::Interface::vtable(self).SetEnvironmentVariable)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), szvalue.into_param().abi()).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerInfo11, ::windows_core::IUnknown, ICorProfilerInfo, ICorProfilerInfo2, ICorProfilerInfo3, ICorProfilerInfo4, ICorProfilerInfo5, ICorProfilerInfo6, ICorProfilerInfo7, ICorProfilerInfo8, ICorProfilerInfo9, ICorProfilerInfo10); |
| unsafe impl ::windows_core::Interface for ICorProfilerInfo11 { |
| type Vtable = ICorProfilerInfo11_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerInfo11 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x06398876_8987_4154_b621_40a00d6e4d04); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerInfo11_Vtbl { |
| pub base__: ICorProfilerInfo10_Vtbl, |
| pub GetEnvironmentVariableA: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, szname: ::windows_core::PCWSTR, cchvalue: u32, pcchvalue: *mut u32, szvalue: ::windows_core::PWSTR) -> ::windows_core::HRESULT, |
| pub SetEnvironmentVariable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, szname: ::windows_core::PCWSTR, szvalue: ::windows_core::PCWSTR) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerInfo12(::windows_core::IUnknown); |
| impl ICorProfilerInfo12 { |
| pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() |
| } |
| pub unsafe fn GetEventMask(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result<super::super::super::Foundation::HANDLE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.IsArrayClass)(::windows_core::Interface::as_raw(self), classid, pbaseelemtype, pbaseclassid, pcrank).ok() |
| } |
| pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() |
| } |
| pub unsafe fn GetFunctionInfo(&self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, pclassid, pmoduleid, ptoken).ok() |
| } |
| pub unsafe fn SetEventMask(&self, dwevents: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEventMask)(::windows_core::Interface::as_raw(self), dwevents).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks(&self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionIDMapper)(::windows_core::Interface::as_raw(self), pfunc).ok() |
| } |
| pub unsafe fn GetTokenAndMetaDataFromFunction(&self, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut ::core::option::Option<::windows_core::IUnknown>, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetTokenAndMetaDataFromFunction)(::windows_core::Interface::as_raw(self), functionid, riid, ::core::mem::transmute(ppimport), ptoken).ok() |
| } |
| pub unsafe fn GetModuleInfo(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleInfo)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid).ok() |
| } |
| pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() |
| } |
| pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result<IMethodMalloc> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() |
| } |
| pub unsafe fn GetAppDomainInfo(&self, appdomainid: usize, pcchname: *mut u32, szname: &mut [u16], pprocessid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainInfo)(::windows_core::Interface::as_raw(self), appdomainid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pprocessid).ok() |
| } |
| pub unsafe fn GetAssemblyInfo(&self, assemblyid: usize, pcchname: *mut u32, szname: &mut [u16], pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAssemblyInfo)(::windows_core::Interface::as_raw(self), assemblyid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pappdomainid, pmoduleid).ok() |
| } |
| pub unsafe fn SetFunctionReJIT(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionReJIT)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ForceGC(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ForceGC)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap<P0>(&self, functionid: usize, fstartjit: P0, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), functionid, fstartjit.into_param().abi(), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn BeginInprocDebugging<P0>(&self, fthisthreadonly: P0) -> ::windows_core::Result<u32> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() |
| } |
| pub unsafe fn GetILToNativeMapping(&self, functionid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILToNativeMapping)(::windows_core::Interface::as_raw(self), functionid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn DoStackSnapshot(&self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const ::core::ffi::c_void, context: &[u8]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.DoStackSnapshot)(::windows_core::Interface::as_raw(self), thread, callback, infoflags, clientdata, ::core::mem::transmute(context.as_ptr()), context.len().try_into().unwrap()).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks2(&self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks2)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| pub unsafe fn GetFunctionInfo2(&self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionInfo2)(::windows_core::Interface::as_raw(self), funcid, frameinfo, pclassid, pmoduleid, ptoken, ctypeargs, pctypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetStringLayout(&self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStringLayout)(::windows_core::Interface::as_raw(self), pbufferlengthoffset, pstringlengthoffset, pbufferoffset).ok() |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn GetClassLayout(&self, classid: usize, rfieldoffset: *mut super::super::WinRT::Metadata::COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassLayout)(::windows_core::Interface::as_raw(self), classid, rfieldoffset, cfieldoffset, pcfieldoffset, pulclasssize).ok() |
| } |
| pub unsafe fn GetClassIDInfo2(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo2)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken, pparentclassid, cnumtypeargs, pcnumtypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetCodeInfo2(&self, functionid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo2)(::windows_core::Interface::as_raw(self), functionid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() |
| } |
| pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainStaticAddress(&self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, ppaddress).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress(&self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetContextStaticAddress(&self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetContextStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, contextid, ppaddress).ok() |
| } |
| pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result<COR_PRF_STATIC_TYPE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() |
| } |
| pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result<COR_PRF_GC_GENERATION_RANGE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result<COR_PRF_EX_CLAUSE_INFO> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper2(&self, pfunc: *const FunctionIDMapper2, clientdata: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionIDMapper2)(::windows_core::Interface::as_raw(self), pfunc, clientdata).ok() |
| } |
| pub unsafe fn GetStringLayout2(&self, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStringLayout2)(::windows_core::Interface::as_raw(self), pstringlengthoffset, pbufferoffset).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3(&self, pfuncenter3: *const FunctionEnter3, pfuncleave3: *const FunctionLeave3, pfunctailcall3: *const FunctionTailcall3) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks3)(::windows_core::Interface::as_raw(self), pfuncenter3, pfuncleave3, pfunctailcall3).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3WithInfo(&self, pfuncenter3withinfo: *const FunctionEnter3WithInfo, pfuncleave3withinfo: *const FunctionLeave3WithInfo, pfunctailcall3withinfo: *const FunctionTailcall3WithInfo) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks3WithInfo)(::windows_core::Interface::as_raw(self), pfuncenter3withinfo, pfuncleave3withinfo, pfunctailcall3withinfo).ok() |
| } |
| pub unsafe fn GetFunctionEnter3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pcbargumentinfo: *mut u32, pargumentinfo: *mut COR_PRF_FUNCTION_ARGUMENT_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionEnter3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pcbargumentinfo, pargumentinfo).ok() |
| } |
| pub unsafe fn GetFunctionLeave3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pretvalrange: *mut COR_PRF_FUNCTION_ARGUMENT_RANGE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionLeave3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pretvalrange).ok() |
| } |
| pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModules(&self) -> ::windows_core::Result<ICorProfilerModuleEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress2(&self, classid: usize, fieldtoken: u32, appdomainid: usize, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadStaticAddress2)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainsContainingModule(&self, moduleid: usize, pcappdomainids: *mut u32, appdomainids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainsContainingModule)(::windows_core::Interface::as_raw(self), moduleid, appdomainids.len().try_into().unwrap(), pcappdomainids, ::core::mem::transmute(appdomainids.as_ptr())).ok() |
| } |
| pub unsafe fn GetModuleInfo2(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize, pdwmoduleflags: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleInfo2)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid, pdwmoduleflags).ok() |
| } |
| pub unsafe fn EnumThreads(&self) -> ::windows_core::Result<ICorProfilerThreadEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RequestReJIT(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RequestReJIT)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn RequestRevert(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32, status: *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RequestRevert)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids, status).ok() |
| } |
| pub unsafe fn GetCodeInfo3(&self, functionid: usize, rejitid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo3)(::windows_core::Interface::as_raw(self), functionid, rejitid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetFunctionFromIP2(&self, ip: *const u8, pfunctionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP2)(::windows_core::Interface::as_raw(self), ip, pfunctionid, prejitid).ok() |
| } |
| pub unsafe fn GetReJITIDs(&self, functionid: usize, pcrejitids: *mut u32, rejitids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetReJITIDs)(::windows_core::Interface::as_raw(self), functionid, rejitids.len().try_into().unwrap(), pcrejitids, ::core::mem::transmute(rejitids.as_ptr())).ok() |
| } |
| pub unsafe fn GetILToNativeMapping2(&self, functionid: usize, rejitid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetILToNativeMapping2)(::windows_core::Interface::as_raw(self), functionid, rejitid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() |
| } |
| pub unsafe fn SetEventMask2(&self, dweventslow: u32, dweventshigh: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetEventMask2)(::windows_core::Interface::as_raw(self), dweventslow, dweventshigh).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EnumNgenModuleMethodsInliningThisMethod(&self, inlinersmoduleid: usize, inlineemoduleid: usize, inlineemethodid: u32, incompletedata: *mut super::super::super::Foundation::BOOL, ppenum: *mut ::core::option::Option<ICorProfilerMethodEnum>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumNgenModuleMethodsInliningThisMethod)(::windows_core::Interface::as_raw(self), inlinersmoduleid, inlineemoduleid, inlineemethodid, incompletedata, ::core::mem::transmute(ppenum)).ok() |
| } |
| pub unsafe fn ApplyMetaData(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ApplyMetaData)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn IsFunctionDynamic(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP3(&self, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionFromIP3)(::windows_core::Interface::as_raw(self), ip, functionid, prejitid).ok() |
| } |
| pub unsafe fn GetDynamicFunctionInfo(&self, functionid: usize, moduleid: *mut usize, ppvsig: *mut *mut u8, pbsig: *mut u32, cchname: u32, pcchname: *mut u32, wszname: ::windows_core::PWSTR) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDynamicFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, moduleid, ppvsig, pbsig, cchname, pcchname, ::core::mem::transmute(wszname)).ok() |
| } |
| pub unsafe fn GetNativeCodeStartAddresses(&self, functionid: usize, rejitid: usize, ccodestartaddresses: u32, pccodestartaddresses: *mut u32, codestartaddresses: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetNativeCodeStartAddresses)(::windows_core::Interface::as_raw(self), functionid, rejitid, ccodestartaddresses, pccodestartaddresses, codestartaddresses).ok() |
| } |
| pub unsafe fn GetILToNativeMapping3(&self, pnativecodestartaddress: usize, cmap: u32, pcmap: *mut u32, map: *mut COR_DEBUG_IL_TO_NATIVE_MAP) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetILToNativeMapping3)(::windows_core::Interface::as_raw(self), pnativecodestartaddress, cmap, pcmap, map).ok() |
| } |
| pub unsafe fn GetCodeInfo4(&self, pnativecodestartaddress: usize, ccodeinfos: u32, pccodeinfos: *mut u32, codeinfos: *mut COR_PRF_CODE_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetCodeInfo4)(::windows_core::Interface::as_raw(self), pnativecodestartaddress, ccodeinfos, pccodeinfos, codeinfos).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EnumerateObjectReferences(&self, objectid: usize, callback: ObjectReferenceCallback, clientdata: *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.EnumerateObjectReferences)(::windows_core::Interface::as_raw(self), objectid, callback, clientdata).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn IsFrozenObject(&self, objectid: usize, pbfrozen: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.IsFrozenObject)(::windows_core::Interface::as_raw(self), objectid, pbfrozen).ok() |
| } |
| pub unsafe fn GetLOHObjectSizeThreshold(&self, pthreshold: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetLOHObjectSizeThreshold)(::windows_core::Interface::as_raw(self), pthreshold).ok() |
| } |
| pub unsafe fn RequestReJITWithInliners(&self, dwrejitflags: u32, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RequestReJITWithInliners)(::windows_core::Interface::as_raw(self), dwrejitflags, cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn SuspendRuntime(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.SuspendRuntime)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ResumeRuntime(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ResumeRuntime)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn GetEnvironmentVariableA<P0>(&self, szname: P0, pcchvalue: *mut u32, szvalue: &mut [u16]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| { |
| (::windows_core::Interface::vtable(self).base__.GetEnvironmentVariableA)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), szvalue.len().try_into().unwrap(), pcchvalue, ::core::mem::transmute(szvalue.as_ptr())).ok() |
| } |
| pub unsafe fn SetEnvironmentVariable<P0, P1>(&self, szname: P0, szvalue: P1) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| { |
| (::windows_core::Interface::vtable(self).base__.SetEnvironmentVariable)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), szvalue.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EventPipeStartSession<P0>(&self, pproviderconfigs: &[COR_PRF_EVENTPIPE_PROVIDER_CONFIG], requestrundown: P0) -> ::windows_core::Result<u64> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).EventPipeStartSession)(::windows_core::Interface::as_raw(self), pproviderconfigs.len().try_into().unwrap(), ::core::mem::transmute(pproviderconfigs.as_ptr()), requestrundown.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EventPipeAddProviderToSession(&self, session: u64, providerconfig: COR_PRF_EVENTPIPE_PROVIDER_CONFIG) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).EventPipeAddProviderToSession)(::windows_core::Interface::as_raw(self), session, ::core::mem::transmute(providerconfig)).ok() |
| } |
| pub unsafe fn EventPipeStopSession(&self, session: u64) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).EventPipeStopSession)(::windows_core::Interface::as_raw(self), session).ok() |
| } |
| pub unsafe fn EventPipeCreateProvider<P0>(&self, providername: P0) -> ::windows_core::Result<usize> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).EventPipeCreateProvider)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EventPipeGetProviderInfo(&self, provider: usize, pcchname: *mut u32, providername: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).EventPipeGetProviderInfo)(::windows_core::Interface::as_raw(self), provider, providername.len().try_into().unwrap(), pcchname, ::core::mem::transmute(providername.as_ptr())).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EventPipeDefineEvent<P0, P1>(&self, provider: usize, eventname: P0, eventid: u32, keywords: u64, eventversion: u32, level: u32, opcode: u8, needstack: P1, pparamdescs: &[COR_PRF_EVENTPIPE_PARAM_DESC]) -> ::windows_core::Result<usize> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| P1: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).EventPipeDefineEvent)(::windows_core::Interface::as_raw(self), provider, eventname.into_param().abi(), eventid, keywords, eventversion, level, opcode, needstack.into_param().abi(), pparamdescs.len().try_into().unwrap(), ::core::mem::transmute(pparamdescs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EventPipeWriteEvent(&self, event: usize, data: &[COR_PRF_EVENT_DATA], pactivityid: *const ::windows_core::GUID, prelatedactivityid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).EventPipeWriteEvent)(::windows_core::Interface::as_raw(self), event, data.len().try_into().unwrap(), ::core::mem::transmute(data.as_ptr()), pactivityid, prelatedactivityid).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerInfo12, ::windows_core::IUnknown, ICorProfilerInfo, ICorProfilerInfo2, ICorProfilerInfo3, ICorProfilerInfo4, ICorProfilerInfo5, ICorProfilerInfo6, ICorProfilerInfo7, ICorProfilerInfo8, ICorProfilerInfo9, ICorProfilerInfo10, ICorProfilerInfo11); |
| unsafe impl ::windows_core::Interface for ICorProfilerInfo12 { |
| type Vtable = ICorProfilerInfo12_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerInfo12 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x27b24ccd_1cb1_47c5_96ee_98190dc30959); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerInfo12_Vtbl { |
| pub base__: ICorProfilerInfo11_Vtbl, |
| #[cfg(feature = "Win32_Foundation")] |
| pub EventPipeStartSession: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cproviderconfigs: u32, pproviderconfigs: *const COR_PRF_EVENTPIPE_PROVIDER_CONFIG, requestrundown: super::super::super::Foundation::BOOL, psession: *mut u64) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| EventPipeStartSession: usize, |
| pub EventPipeAddProviderToSession: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, session: u64, providerconfig: COR_PRF_EVENTPIPE_PROVIDER_CONFIG) -> ::windows_core::HRESULT, |
| pub EventPipeStopSession: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, session: u64) -> ::windows_core::HRESULT, |
| pub EventPipeCreateProvider: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, providername: ::windows_core::PCWSTR, pprovider: *mut usize) -> ::windows_core::HRESULT, |
| pub EventPipeGetProviderInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, provider: usize, cchname: u32, pcchname: *mut u32, providername: ::windows_core::PWSTR) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_Foundation")] |
| pub EventPipeDefineEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, provider: usize, eventname: ::windows_core::PCWSTR, eventid: u32, keywords: u64, eventversion: u32, level: u32, opcode: u8, needstack: super::super::super::Foundation::BOOL, cparamdescs: u32, pparamdescs: *const COR_PRF_EVENTPIPE_PARAM_DESC, pevent: *mut usize) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| EventPipeDefineEvent: usize, |
| pub EventPipeWriteEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, event: usize, cdata: u32, data: *const COR_PRF_EVENT_DATA, pactivityid: *const ::windows_core::GUID, prelatedactivityid: *const ::windows_core::GUID) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerInfo13(::windows_core::IUnknown); |
| impl ICorProfilerInfo13 { |
| pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() |
| } |
| pub unsafe fn GetEventMask(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result<super::super::super::Foundation::HANDLE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.IsArrayClass)(::windows_core::Interface::as_raw(self), classid, pbaseelemtype, pbaseclassid, pcrank).ok() |
| } |
| pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() |
| } |
| pub unsafe fn GetFunctionInfo(&self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, pclassid, pmoduleid, ptoken).ok() |
| } |
| pub unsafe fn SetEventMask(&self, dwevents: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEventMask)(::windows_core::Interface::as_raw(self), dwevents).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks(&self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionIDMapper)(::windows_core::Interface::as_raw(self), pfunc).ok() |
| } |
| pub unsafe fn GetTokenAndMetaDataFromFunction(&self, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut ::core::option::Option<::windows_core::IUnknown>, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetTokenAndMetaDataFromFunction)(::windows_core::Interface::as_raw(self), functionid, riid, ::core::mem::transmute(ppimport), ptoken).ok() |
| } |
| pub unsafe fn GetModuleInfo(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleInfo)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid).ok() |
| } |
| pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() |
| } |
| pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result<IMethodMalloc> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() |
| } |
| pub unsafe fn GetAppDomainInfo(&self, appdomainid: usize, pcchname: *mut u32, szname: &mut [u16], pprocessid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainInfo)(::windows_core::Interface::as_raw(self), appdomainid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pprocessid).ok() |
| } |
| pub unsafe fn GetAssemblyInfo(&self, assemblyid: usize, pcchname: *mut u32, szname: &mut [u16], pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAssemblyInfo)(::windows_core::Interface::as_raw(self), assemblyid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pappdomainid, pmoduleid).ok() |
| } |
| pub unsafe fn SetFunctionReJIT(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionReJIT)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ForceGC(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ForceGC)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap<P0>(&self, functionid: usize, fstartjit: P0, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), functionid, fstartjit.into_param().abi(), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn BeginInprocDebugging<P0>(&self, fthisthreadonly: P0) -> ::windows_core::Result<u32> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() |
| } |
| pub unsafe fn GetILToNativeMapping(&self, functionid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILToNativeMapping)(::windows_core::Interface::as_raw(self), functionid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn DoStackSnapshot(&self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const ::core::ffi::c_void, context: &[u8]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.DoStackSnapshot)(::windows_core::Interface::as_raw(self), thread, callback, infoflags, clientdata, ::core::mem::transmute(context.as_ptr()), context.len().try_into().unwrap()).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks2(&self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks2)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| pub unsafe fn GetFunctionInfo2(&self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionInfo2)(::windows_core::Interface::as_raw(self), funcid, frameinfo, pclassid, pmoduleid, ptoken, ctypeargs, pctypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetStringLayout(&self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStringLayout)(::windows_core::Interface::as_raw(self), pbufferlengthoffset, pstringlengthoffset, pbufferoffset).ok() |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn GetClassLayout(&self, classid: usize, rfieldoffset: *mut super::super::WinRT::Metadata::COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassLayout)(::windows_core::Interface::as_raw(self), classid, rfieldoffset, cfieldoffset, pcfieldoffset, pulclasssize).ok() |
| } |
| pub unsafe fn GetClassIDInfo2(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo2)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken, pparentclassid, cnumtypeargs, pcnumtypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetCodeInfo2(&self, functionid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo2)(::windows_core::Interface::as_raw(self), functionid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() |
| } |
| pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainStaticAddress(&self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, ppaddress).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress(&self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetContextStaticAddress(&self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetContextStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, contextid, ppaddress).ok() |
| } |
| pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result<COR_PRF_STATIC_TYPE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() |
| } |
| pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result<COR_PRF_GC_GENERATION_RANGE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result<COR_PRF_EX_CLAUSE_INFO> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper2(&self, pfunc: *const FunctionIDMapper2, clientdata: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionIDMapper2)(::windows_core::Interface::as_raw(self), pfunc, clientdata).ok() |
| } |
| pub unsafe fn GetStringLayout2(&self, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStringLayout2)(::windows_core::Interface::as_raw(self), pstringlengthoffset, pbufferoffset).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3(&self, pfuncenter3: *const FunctionEnter3, pfuncleave3: *const FunctionLeave3, pfunctailcall3: *const FunctionTailcall3) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks3)(::windows_core::Interface::as_raw(self), pfuncenter3, pfuncleave3, pfunctailcall3).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3WithInfo(&self, pfuncenter3withinfo: *const FunctionEnter3WithInfo, pfuncleave3withinfo: *const FunctionLeave3WithInfo, pfunctailcall3withinfo: *const FunctionTailcall3WithInfo) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks3WithInfo)(::windows_core::Interface::as_raw(self), pfuncenter3withinfo, pfuncleave3withinfo, pfunctailcall3withinfo).ok() |
| } |
| pub unsafe fn GetFunctionEnter3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pcbargumentinfo: *mut u32, pargumentinfo: *mut COR_PRF_FUNCTION_ARGUMENT_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionEnter3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pcbargumentinfo, pargumentinfo).ok() |
| } |
| pub unsafe fn GetFunctionLeave3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pretvalrange: *mut COR_PRF_FUNCTION_ARGUMENT_RANGE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionLeave3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pretvalrange).ok() |
| } |
| pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModules(&self) -> ::windows_core::Result<ICorProfilerModuleEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress2(&self, classid: usize, fieldtoken: u32, appdomainid: usize, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadStaticAddress2)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainsContainingModule(&self, moduleid: usize, pcappdomainids: *mut u32, appdomainids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainsContainingModule)(::windows_core::Interface::as_raw(self), moduleid, appdomainids.len().try_into().unwrap(), pcappdomainids, ::core::mem::transmute(appdomainids.as_ptr())).ok() |
| } |
| pub unsafe fn GetModuleInfo2(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize, pdwmoduleflags: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleInfo2)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid, pdwmoduleflags).ok() |
| } |
| pub unsafe fn EnumThreads(&self) -> ::windows_core::Result<ICorProfilerThreadEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RequestReJIT(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RequestReJIT)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn RequestRevert(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32, status: *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RequestRevert)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids, status).ok() |
| } |
| pub unsafe fn GetCodeInfo3(&self, functionid: usize, rejitid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo3)(::windows_core::Interface::as_raw(self), functionid, rejitid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetFunctionFromIP2(&self, ip: *const u8, pfunctionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP2)(::windows_core::Interface::as_raw(self), ip, pfunctionid, prejitid).ok() |
| } |
| pub unsafe fn GetReJITIDs(&self, functionid: usize, pcrejitids: *mut u32, rejitids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetReJITIDs)(::windows_core::Interface::as_raw(self), functionid, rejitids.len().try_into().unwrap(), pcrejitids, ::core::mem::transmute(rejitids.as_ptr())).ok() |
| } |
| pub unsafe fn GetILToNativeMapping2(&self, functionid: usize, rejitid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILToNativeMapping2)(::windows_core::Interface::as_raw(self), functionid, rejitid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() |
| } |
| pub unsafe fn SetEventMask2(&self, dweventslow: u32, dweventshigh: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetEventMask2)(::windows_core::Interface::as_raw(self), dweventslow, dweventshigh).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EnumNgenModuleMethodsInliningThisMethod(&self, inlinersmoduleid: usize, inlineemoduleid: usize, inlineemethodid: u32, incompletedata: *mut super::super::super::Foundation::BOOL, ppenum: *mut ::core::option::Option<ICorProfilerMethodEnum>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumNgenModuleMethodsInliningThisMethod)(::windows_core::Interface::as_raw(self), inlinersmoduleid, inlineemoduleid, inlineemethodid, incompletedata, ::core::mem::transmute(ppenum)).ok() |
| } |
| pub unsafe fn ApplyMetaData(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ApplyMetaData)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn IsFunctionDynamic(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP3(&self, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionFromIP3)(::windows_core::Interface::as_raw(self), ip, functionid, prejitid).ok() |
| } |
| pub unsafe fn GetDynamicFunctionInfo(&self, functionid: usize, moduleid: *mut usize, ppvsig: *mut *mut u8, pbsig: *mut u32, cchname: u32, pcchname: *mut u32, wszname: ::windows_core::PWSTR) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetDynamicFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, moduleid, ppvsig, pbsig, cchname, pcchname, ::core::mem::transmute(wszname)).ok() |
| } |
| pub unsafe fn GetNativeCodeStartAddresses(&self, functionid: usize, rejitid: usize, ccodestartaddresses: u32, pccodestartaddresses: *mut u32, codestartaddresses: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetNativeCodeStartAddresses)(::windows_core::Interface::as_raw(self), functionid, rejitid, ccodestartaddresses, pccodestartaddresses, codestartaddresses).ok() |
| } |
| pub unsafe fn GetILToNativeMapping3(&self, pnativecodestartaddress: usize, cmap: u32, pcmap: *mut u32, map: *mut COR_DEBUG_IL_TO_NATIVE_MAP) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetILToNativeMapping3)(::windows_core::Interface::as_raw(self), pnativecodestartaddress, cmap, pcmap, map).ok() |
| } |
| pub unsafe fn GetCodeInfo4(&self, pnativecodestartaddress: usize, ccodeinfos: u32, pccodeinfos: *mut u32, codeinfos: *mut COR_PRF_CODE_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCodeInfo4)(::windows_core::Interface::as_raw(self), pnativecodestartaddress, ccodeinfos, pccodeinfos, codeinfos).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EnumerateObjectReferences(&self, objectid: usize, callback: ObjectReferenceCallback, clientdata: *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.EnumerateObjectReferences)(::windows_core::Interface::as_raw(self), objectid, callback, clientdata).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn IsFrozenObject(&self, objectid: usize, pbfrozen: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.IsFrozenObject)(::windows_core::Interface::as_raw(self), objectid, pbfrozen).ok() |
| } |
| pub unsafe fn GetLOHObjectSizeThreshold(&self, pthreshold: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetLOHObjectSizeThreshold)(::windows_core::Interface::as_raw(self), pthreshold).ok() |
| } |
| pub unsafe fn RequestReJITWithInliners(&self, dwrejitflags: u32, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RequestReJITWithInliners)(::windows_core::Interface::as_raw(self), dwrejitflags, cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn SuspendRuntime(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SuspendRuntime)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ResumeRuntime(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ResumeRuntime)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn GetEnvironmentVariableA<P0>(&self, szname: P0, pcchvalue: *mut u32, szvalue: &mut [u16]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.GetEnvironmentVariableA)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), szvalue.len().try_into().unwrap(), pcchvalue, ::core::mem::transmute(szvalue.as_ptr())).ok() |
| } |
| pub unsafe fn SetEnvironmentVariable<P0, P1>(&self, szname: P0, szvalue: P1) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.SetEnvironmentVariable)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), szvalue.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EventPipeStartSession<P0>(&self, pproviderconfigs: &[COR_PRF_EVENTPIPE_PROVIDER_CONFIG], requestrundown: P0) -> ::windows_core::Result<u64> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.EventPipeStartSession)(::windows_core::Interface::as_raw(self), pproviderconfigs.len().try_into().unwrap(), ::core::mem::transmute(pproviderconfigs.as_ptr()), requestrundown.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EventPipeAddProviderToSession(&self, session: u64, providerconfig: COR_PRF_EVENTPIPE_PROVIDER_CONFIG) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.EventPipeAddProviderToSession)(::windows_core::Interface::as_raw(self), session, ::core::mem::transmute(providerconfig)).ok() |
| } |
| pub unsafe fn EventPipeStopSession(&self, session: u64) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.EventPipeStopSession)(::windows_core::Interface::as_raw(self), session).ok() |
| } |
| pub unsafe fn EventPipeCreateProvider<P0>(&self, providername: P0) -> ::windows_core::Result<usize> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.EventPipeCreateProvider)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EventPipeGetProviderInfo(&self, provider: usize, pcchname: *mut u32, providername: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.EventPipeGetProviderInfo)(::windows_core::Interface::as_raw(self), provider, providername.len().try_into().unwrap(), pcchname, ::core::mem::transmute(providername.as_ptr())).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EventPipeDefineEvent<P0, P1>(&self, provider: usize, eventname: P0, eventid: u32, keywords: u64, eventversion: u32, level: u32, opcode: u8, needstack: P1, pparamdescs: &[COR_PRF_EVENTPIPE_PARAM_DESC]) -> ::windows_core::Result<usize> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| P1: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.EventPipeDefineEvent)(::windows_core::Interface::as_raw(self), provider, eventname.into_param().abi(), eventid, keywords, eventversion, level, opcode, needstack.into_param().abi(), pparamdescs.len().try_into().unwrap(), ::core::mem::transmute(pparamdescs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EventPipeWriteEvent(&self, event: usize, data: &[COR_PRF_EVENT_DATA], pactivityid: *const ::windows_core::GUID, prelatedactivityid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.EventPipeWriteEvent)(::windows_core::Interface::as_raw(self), event, data.len().try_into().unwrap(), ::core::mem::transmute(data.as_ptr()), pactivityid, prelatedactivityid).ok() |
| } |
| pub unsafe fn CreateHandle(&self, object: usize, r#type: COR_PRF_HANDLE_TYPE, phandle: *mut *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).CreateHandle)(::windows_core::Interface::as_raw(self), object, r#type, phandle).ok() |
| } |
| pub unsafe fn DestroyHandle(&self, handle: *const *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).DestroyHandle)(::windows_core::Interface::as_raw(self), handle).ok() |
| } |
| pub unsafe fn GetObjectIDFromHandle(&self, handle: *const *const ::core::ffi::c_void) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetObjectIDFromHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).from_abi(result__) |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerInfo13, ::windows_core::IUnknown, ICorProfilerInfo, ICorProfilerInfo2, ICorProfilerInfo3, ICorProfilerInfo4, ICorProfilerInfo5, ICorProfilerInfo6, ICorProfilerInfo7, ICorProfilerInfo8, ICorProfilerInfo9, ICorProfilerInfo10, ICorProfilerInfo11, ICorProfilerInfo12); |
| unsafe impl ::windows_core::Interface for ICorProfilerInfo13 { |
| type Vtable = ICorProfilerInfo13_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerInfo13 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x6e6c7ee2_0701_4ec2_9d29_2e8733b66934); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerInfo13_Vtbl { |
| pub base__: ICorProfilerInfo12_Vtbl, |
| pub CreateHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, object: usize, r#type: COR_PRF_HANDLE_TYPE, phandle: *mut *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub DestroyHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handle: *const *const ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetObjectIDFromHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handle: *const *const ::core::ffi::c_void, pobject: *mut usize) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerInfo14(::windows_core::IUnknown); |
| impl ICorProfilerInfo14 { |
| pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() |
| } |
| pub unsafe fn GetEventMask(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result<super::super::super::Foundation::HANDLE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.IsArrayClass)(::windows_core::Interface::as_raw(self), classid, pbaseelemtype, pbaseclassid, pcrank).ok() |
| } |
| pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() |
| } |
| pub unsafe fn GetFunctionInfo(&self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, pclassid, pmoduleid, ptoken).ok() |
| } |
| pub unsafe fn SetEventMask(&self, dwevents: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEventMask)(::windows_core::Interface::as_raw(self), dwevents).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks(&self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionIDMapper)(::windows_core::Interface::as_raw(self), pfunc).ok() |
| } |
| pub unsafe fn GetTokenAndMetaDataFromFunction(&self, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut ::core::option::Option<::windows_core::IUnknown>, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetTokenAndMetaDataFromFunction)(::windows_core::Interface::as_raw(self), functionid, riid, ::core::mem::transmute(ppimport), ptoken).ok() |
| } |
| pub unsafe fn GetModuleInfo(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleInfo)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid).ok() |
| } |
| pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() |
| } |
| pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result<IMethodMalloc> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() |
| } |
| pub unsafe fn GetAppDomainInfo(&self, appdomainid: usize, pcchname: *mut u32, szname: &mut [u16], pprocessid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainInfo)(::windows_core::Interface::as_raw(self), appdomainid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pprocessid).ok() |
| } |
| pub unsafe fn GetAssemblyInfo(&self, assemblyid: usize, pcchname: *mut u32, szname: &mut [u16], pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAssemblyInfo)(::windows_core::Interface::as_raw(self), assemblyid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pappdomainid, pmoduleid).ok() |
| } |
| pub unsafe fn SetFunctionReJIT(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionReJIT)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ForceGC(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ForceGC)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap<P0>(&self, functionid: usize, fstartjit: P0, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), functionid, fstartjit.into_param().abi(), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn BeginInprocDebugging<P0>(&self, fthisthreadonly: P0) -> ::windows_core::Result<u32> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() |
| } |
| pub unsafe fn GetILToNativeMapping(&self, functionid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILToNativeMapping)(::windows_core::Interface::as_raw(self), functionid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn DoStackSnapshot(&self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const ::core::ffi::c_void, context: &[u8]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.DoStackSnapshot)(::windows_core::Interface::as_raw(self), thread, callback, infoflags, clientdata, ::core::mem::transmute(context.as_ptr()), context.len().try_into().unwrap()).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks2(&self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks2)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| pub unsafe fn GetFunctionInfo2(&self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionInfo2)(::windows_core::Interface::as_raw(self), funcid, frameinfo, pclassid, pmoduleid, ptoken, ctypeargs, pctypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetStringLayout(&self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStringLayout)(::windows_core::Interface::as_raw(self), pbufferlengthoffset, pstringlengthoffset, pbufferoffset).ok() |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn GetClassLayout(&self, classid: usize, rfieldoffset: *mut super::super::WinRT::Metadata::COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassLayout)(::windows_core::Interface::as_raw(self), classid, rfieldoffset, cfieldoffset, pcfieldoffset, pulclasssize).ok() |
| } |
| pub unsafe fn GetClassIDInfo2(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo2)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken, pparentclassid, cnumtypeargs, pcnumtypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetCodeInfo2(&self, functionid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo2)(::windows_core::Interface::as_raw(self), functionid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() |
| } |
| pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainStaticAddress(&self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, ppaddress).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress(&self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetContextStaticAddress(&self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetContextStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, contextid, ppaddress).ok() |
| } |
| pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result<COR_PRF_STATIC_TYPE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() |
| } |
| pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result<COR_PRF_GC_GENERATION_RANGE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result<COR_PRF_EX_CLAUSE_INFO> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper2(&self, pfunc: *const FunctionIDMapper2, clientdata: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionIDMapper2)(::windows_core::Interface::as_raw(self), pfunc, clientdata).ok() |
| } |
| pub unsafe fn GetStringLayout2(&self, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStringLayout2)(::windows_core::Interface::as_raw(self), pstringlengthoffset, pbufferoffset).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3(&self, pfuncenter3: *const FunctionEnter3, pfuncleave3: *const FunctionLeave3, pfunctailcall3: *const FunctionTailcall3) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks3)(::windows_core::Interface::as_raw(self), pfuncenter3, pfuncleave3, pfunctailcall3).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3WithInfo(&self, pfuncenter3withinfo: *const FunctionEnter3WithInfo, pfuncleave3withinfo: *const FunctionLeave3WithInfo, pfunctailcall3withinfo: *const FunctionTailcall3WithInfo) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks3WithInfo)(::windows_core::Interface::as_raw(self), pfuncenter3withinfo, pfuncleave3withinfo, pfunctailcall3withinfo).ok() |
| } |
| pub unsafe fn GetFunctionEnter3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pcbargumentinfo: *mut u32, pargumentinfo: *mut COR_PRF_FUNCTION_ARGUMENT_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionEnter3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pcbargumentinfo, pargumentinfo).ok() |
| } |
| pub unsafe fn GetFunctionLeave3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pretvalrange: *mut COR_PRF_FUNCTION_ARGUMENT_RANGE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionLeave3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pretvalrange).ok() |
| } |
| pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModules(&self) -> ::windows_core::Result<ICorProfilerModuleEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress2(&self, classid: usize, fieldtoken: u32, appdomainid: usize, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadStaticAddress2)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainsContainingModule(&self, moduleid: usize, pcappdomainids: *mut u32, appdomainids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainsContainingModule)(::windows_core::Interface::as_raw(self), moduleid, appdomainids.len().try_into().unwrap(), pcappdomainids, ::core::mem::transmute(appdomainids.as_ptr())).ok() |
| } |
| pub unsafe fn GetModuleInfo2(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize, pdwmoduleflags: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleInfo2)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid, pdwmoduleflags).ok() |
| } |
| pub unsafe fn EnumThreads(&self) -> ::windows_core::Result<ICorProfilerThreadEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RequestReJIT(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RequestReJIT)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn RequestRevert(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32, status: *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RequestRevert)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids, status).ok() |
| } |
| pub unsafe fn GetCodeInfo3(&self, functionid: usize, rejitid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo3)(::windows_core::Interface::as_raw(self), functionid, rejitid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetFunctionFromIP2(&self, ip: *const u8, pfunctionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP2)(::windows_core::Interface::as_raw(self), ip, pfunctionid, prejitid).ok() |
| } |
| pub unsafe fn GetReJITIDs(&self, functionid: usize, pcrejitids: *mut u32, rejitids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetReJITIDs)(::windows_core::Interface::as_raw(self), functionid, rejitids.len().try_into().unwrap(), pcrejitids, ::core::mem::transmute(rejitids.as_ptr())).ok() |
| } |
| pub unsafe fn GetILToNativeMapping2(&self, functionid: usize, rejitid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILToNativeMapping2)(::windows_core::Interface::as_raw(self), functionid, rejitid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() |
| } |
| pub unsafe fn SetEventMask2(&self, dweventslow: u32, dweventshigh: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEventMask2)(::windows_core::Interface::as_raw(self), dweventslow, dweventshigh).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EnumNgenModuleMethodsInliningThisMethod(&self, inlinersmoduleid: usize, inlineemoduleid: usize, inlineemethodid: u32, incompletedata: *mut super::super::super::Foundation::BOOL, ppenum: *mut ::core::option::Option<ICorProfilerMethodEnum>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumNgenModuleMethodsInliningThisMethod)(::windows_core::Interface::as_raw(self), inlinersmoduleid, inlineemoduleid, inlineemethodid, incompletedata, ::core::mem::transmute(ppenum)).ok() |
| } |
| pub unsafe fn ApplyMetaData(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ApplyMetaData)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn IsFunctionDynamic(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP3(&self, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionFromIP3)(::windows_core::Interface::as_raw(self), ip, functionid, prejitid).ok() |
| } |
| pub unsafe fn GetDynamicFunctionInfo(&self, functionid: usize, moduleid: *mut usize, ppvsig: *mut *mut u8, pbsig: *mut u32, cchname: u32, pcchname: *mut u32, wszname: ::windows_core::PWSTR) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetDynamicFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, moduleid, ppvsig, pbsig, cchname, pcchname, ::core::mem::transmute(wszname)).ok() |
| } |
| pub unsafe fn GetNativeCodeStartAddresses(&self, functionid: usize, rejitid: usize, ccodestartaddresses: u32, pccodestartaddresses: *mut u32, codestartaddresses: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetNativeCodeStartAddresses)(::windows_core::Interface::as_raw(self), functionid, rejitid, ccodestartaddresses, pccodestartaddresses, codestartaddresses).ok() |
| } |
| pub unsafe fn GetILToNativeMapping3(&self, pnativecodestartaddress: usize, cmap: u32, pcmap: *mut u32, map: *mut COR_DEBUG_IL_TO_NATIVE_MAP) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetILToNativeMapping3)(::windows_core::Interface::as_raw(self), pnativecodestartaddress, cmap, pcmap, map).ok() |
| } |
| pub unsafe fn GetCodeInfo4(&self, pnativecodestartaddress: usize, ccodeinfos: u32, pccodeinfos: *mut u32, codeinfos: *mut COR_PRF_CODE_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCodeInfo4)(::windows_core::Interface::as_raw(self), pnativecodestartaddress, ccodeinfos, pccodeinfos, codeinfos).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EnumerateObjectReferences(&self, objectid: usize, callback: ObjectReferenceCallback, clientdata: *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumerateObjectReferences)(::windows_core::Interface::as_raw(self), objectid, callback, clientdata).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn IsFrozenObject(&self, objectid: usize, pbfrozen: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsFrozenObject)(::windows_core::Interface::as_raw(self), objectid, pbfrozen).ok() |
| } |
| pub unsafe fn GetLOHObjectSizeThreshold(&self, pthreshold: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetLOHObjectSizeThreshold)(::windows_core::Interface::as_raw(self), pthreshold).ok() |
| } |
| pub unsafe fn RequestReJITWithInliners(&self, dwrejitflags: u32, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RequestReJITWithInliners)(::windows_core::Interface::as_raw(self), dwrejitflags, cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn SuspendRuntime(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SuspendRuntime)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn ResumeRuntime(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ResumeRuntime)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn GetEnvironmentVariableA<P0>(&self, szname: P0, pcchvalue: *mut u32, szvalue: &mut [u16]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetEnvironmentVariableA)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), szvalue.len().try_into().unwrap(), pcchvalue, ::core::mem::transmute(szvalue.as_ptr())).ok() |
| } |
| pub unsafe fn SetEnvironmentVariable<P0, P1>(&self, szname: P0, szvalue: P1) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SetEnvironmentVariable)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), szvalue.into_param().abi()).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EventPipeStartSession<P0>(&self, pproviderconfigs: &[COR_PRF_EVENTPIPE_PROVIDER_CONFIG], requestrundown: P0) -> ::windows_core::Result<u64> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.EventPipeStartSession)(::windows_core::Interface::as_raw(self), pproviderconfigs.len().try_into().unwrap(), ::core::mem::transmute(pproviderconfigs.as_ptr()), requestrundown.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EventPipeAddProviderToSession(&self, session: u64, providerconfig: COR_PRF_EVENTPIPE_PROVIDER_CONFIG) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.EventPipeAddProviderToSession)(::windows_core::Interface::as_raw(self), session, ::core::mem::transmute(providerconfig)).ok() |
| } |
| pub unsafe fn EventPipeStopSession(&self, session: u64) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.EventPipeStopSession)(::windows_core::Interface::as_raw(self), session).ok() |
| } |
| pub unsafe fn EventPipeCreateProvider<P0>(&self, providername: P0) -> ::windows_core::Result<usize> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.EventPipeCreateProvider)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EventPipeGetProviderInfo(&self, provider: usize, pcchname: *mut u32, providername: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.EventPipeGetProviderInfo)(::windows_core::Interface::as_raw(self), provider, providername.len().try_into().unwrap(), pcchname, ::core::mem::transmute(providername.as_ptr())).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EventPipeDefineEvent<P0, P1>(&self, provider: usize, eventname: P0, eventid: u32, keywords: u64, eventversion: u32, level: u32, opcode: u8, needstack: P1, pparamdescs: &[COR_PRF_EVENTPIPE_PARAM_DESC]) -> ::windows_core::Result<usize> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| P1: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.EventPipeDefineEvent)(::windows_core::Interface::as_raw(self), provider, eventname.into_param().abi(), eventid, keywords, eventversion, level, opcode, needstack.into_param().abi(), pparamdescs.len().try_into().unwrap(), ::core::mem::transmute(pparamdescs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EventPipeWriteEvent(&self, event: usize, data: &[COR_PRF_EVENT_DATA], pactivityid: *const ::windows_core::GUID, prelatedactivityid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.EventPipeWriteEvent)(::windows_core::Interface::as_raw(self), event, data.len().try_into().unwrap(), ::core::mem::transmute(data.as_ptr()), pactivityid, prelatedactivityid).ok() |
| } |
| pub unsafe fn CreateHandle(&self, object: usize, r#type: COR_PRF_HANDLE_TYPE, phandle: *mut *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.CreateHandle)(::windows_core::Interface::as_raw(self), object, r#type, phandle).ok() |
| } |
| pub unsafe fn DestroyHandle(&self, handle: *const *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.DestroyHandle)(::windows_core::Interface::as_raw(self), handle).ok() |
| } |
| pub unsafe fn GetObjectIDFromHandle(&self, handle: *const *const ::core::ffi::c_void) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetObjectIDFromHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumerateNonGCObjects(&self) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).EnumerateNonGCObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetNonGCHeapBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_NONGC_HEAP_RANGE]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetNonGCHeapBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() |
| } |
| pub unsafe fn EventPipeCreateProvider2<P0>(&self, providername: P0, pcallback: *const EventPipeProviderCallback) -> ::windows_core::Result<usize> |
| where |
| P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).EventPipeCreateProvider2)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), pcallback, &mut result__).from_abi(result__) |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerInfo14, ::windows_core::IUnknown, ICorProfilerInfo, ICorProfilerInfo2, ICorProfilerInfo3, ICorProfilerInfo4, ICorProfilerInfo5, ICorProfilerInfo6, ICorProfilerInfo7, ICorProfilerInfo8, ICorProfilerInfo9, ICorProfilerInfo10, ICorProfilerInfo11, ICorProfilerInfo12, ICorProfilerInfo13); |
| unsafe impl ::windows_core::Interface for ICorProfilerInfo14 { |
| type Vtable = ICorProfilerInfo14_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerInfo14 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xf460e352_d76d_4fe9_835f_f6af9d6e862d); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerInfo14_Vtbl { |
| pub base__: ICorProfilerInfo13_Vtbl, |
| pub EnumerateNonGCObjects: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetNonGCHeapBounds: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cobjectranges: u32, pcobjectranges: *mut u32, ranges: *mut COR_PRF_NONGC_HEAP_RANGE) -> ::windows_core::HRESULT, |
| pub EventPipeCreateProvider2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, providername: ::windows_core::PCWSTR, pcallback: *const EventPipeProviderCallback, pprovider: *mut usize) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerInfo2(::windows_core::IUnknown); |
| impl ICorProfilerInfo2 { |
| pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() |
| } |
| pub unsafe fn GetEventMask(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result<super::super::super::Foundation::HANDLE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.IsArrayClass)(::windows_core::Interface::as_raw(self), classid, pbaseelemtype, pbaseclassid, pcrank).ok() |
| } |
| pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() |
| } |
| pub unsafe fn GetFunctionInfo(&self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, pclassid, pmoduleid, ptoken).ok() |
| } |
| pub unsafe fn SetEventMask(&self, dwevents: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.SetEventMask)(::windows_core::Interface::as_raw(self), dwevents).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks(&self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.SetEnterLeaveFunctionHooks)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.SetFunctionIDMapper)(::windows_core::Interface::as_raw(self), pfunc).ok() |
| } |
| pub unsafe fn GetTokenAndMetaDataFromFunction(&self, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut ::core::option::Option<::windows_core::IUnknown>, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetTokenAndMetaDataFromFunction)(::windows_core::Interface::as_raw(self), functionid, riid, ::core::mem::transmute(ppimport), ptoken).ok() |
| } |
| pub unsafe fn GetModuleInfo(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetModuleInfo)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid).ok() |
| } |
| pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() |
| } |
| pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result<IMethodMalloc> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() |
| } |
| pub unsafe fn GetAppDomainInfo(&self, appdomainid: usize, pcchname: *mut u32, szname: &mut [u16], pprocessid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetAppDomainInfo)(::windows_core::Interface::as_raw(self), appdomainid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pprocessid).ok() |
| } |
| pub unsafe fn GetAssemblyInfo(&self, assemblyid: usize, pcchname: *mut u32, szname: &mut [u16], pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetAssemblyInfo)(::windows_core::Interface::as_raw(self), assemblyid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pappdomainid, pmoduleid).ok() |
| } |
| pub unsafe fn SetFunctionReJIT(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.SetFunctionReJIT)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ForceGC(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ForceGC)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap<P0>(&self, functionid: usize, fstartjit: P0, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), functionid, fstartjit.into_param().abi(), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn BeginInprocDebugging<P0>(&self, fthisthreadonly: P0) -> ::windows_core::Result<u32> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() |
| } |
| pub unsafe fn GetILToNativeMapping(&self, functionid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetILToNativeMapping)(::windows_core::Interface::as_raw(self), functionid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn DoStackSnapshot(&self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const ::core::ffi::c_void, context: &[u8]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).DoStackSnapshot)(::windows_core::Interface::as_raw(self), thread, callback, infoflags, clientdata, ::core::mem::transmute(context.as_ptr()), context.len().try_into().unwrap()).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks2(&self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SetEnterLeaveFunctionHooks2)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| pub unsafe fn GetFunctionInfo2(&self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetFunctionInfo2)(::windows_core::Interface::as_raw(self), funcid, frameinfo, pclassid, pmoduleid, ptoken, ctypeargs, pctypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetStringLayout(&self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetStringLayout)(::windows_core::Interface::as_raw(self), pbufferlengthoffset, pstringlengthoffset, pbufferoffset).ok() |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn GetClassLayout(&self, classid: usize, rfieldoffset: *mut super::super::WinRT::Metadata::COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetClassLayout)(::windows_core::Interface::as_raw(self), classid, rfieldoffset, cfieldoffset, pcfieldoffset, pulclasssize).ok() |
| } |
| pub unsafe fn GetClassIDInfo2(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetClassIDInfo2)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken, pparentclassid, cnumtypeargs, pcnumtypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetCodeInfo2(&self, functionid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetCodeInfo2)(::windows_core::Interface::as_raw(self), functionid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() |
| } |
| pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainStaticAddress(&self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetAppDomainStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, ppaddress).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress(&self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetThreadStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetContextStaticAddress(&self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetContextStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, contextid, ppaddress).ok() |
| } |
| pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result<COR_PRF_STATIC_TYPE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() |
| } |
| pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result<COR_PRF_GC_GENERATION_RANGE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result<COR_PRF_EX_CLAUSE_INFO> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerInfo2, ::windows_core::IUnknown, ICorProfilerInfo); |
| unsafe impl ::windows_core::Interface for ICorProfilerInfo2 { |
| type Vtable = ICorProfilerInfo2_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerInfo2 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xcc0935cd_a518_487d_b0bb_a93214e65478); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerInfo2_Vtbl { |
| pub base__: ICorProfilerInfo_Vtbl, |
| pub DoStackSnapshot: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const ::core::ffi::c_void, context: *const u8, contextsize: u32) -> ::windows_core::HRESULT, |
| pub SetEnterLeaveFunctionHooks2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2) -> ::windows_core::HRESULT, |
| pub GetFunctionInfo2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::HRESULT, |
| pub GetStringLayout: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub GetClassLayout: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize, rfieldoffset: *mut super::super::WinRT::Metadata::COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_System_WinRT_Metadata"))] |
| GetClassLayout: usize, |
| pub GetClassIDInfo2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::HRESULT, |
| pub GetCodeInfo2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, ccodeinfos: u32, pccodeinfos: *mut u32, codeinfos: *mut COR_PRF_CODE_INFO) -> ::windows_core::HRESULT, |
| pub GetClassFromTokenAndTypeArgs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, typedef: u32, ctypeargs: u32, typeargs: *const usize, pclassid: *mut usize) -> ::windows_core::HRESULT, |
| pub GetFunctionFromTokenAndTypeArgs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, funcdef: u32, classid: usize, ctypeargs: u32, typeargs: *const usize, pfunctionid: *mut usize) -> ::windows_core::HRESULT, |
| pub EnumModuleFrozenObjects: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetArrayObjectInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::HRESULT, |
| pub GetBoxClassLayout: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize, pbufferoffset: *mut u32) -> ::windows_core::HRESULT, |
| pub GetThreadAppDomain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, threadid: usize, pappdomainid: *mut usize) -> ::windows_core::HRESULT, |
| pub GetRVAStaticAddress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetAppDomainStaticAddress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetThreadStaticAddress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetContextStaticAddress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetStaticFieldInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize, fieldtoken: u32, pfieldinfo: *mut COR_PRF_STATIC_TYPE) -> ::windows_core::HRESULT, |
| pub GetGenerationBounds: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cobjectranges: u32, pcobjectranges: *mut u32, ranges: *mut COR_PRF_GC_GENERATION_RANGE) -> ::windows_core::HRESULT, |
| pub GetObjectGeneration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, objectid: usize, range: *mut COR_PRF_GC_GENERATION_RANGE) -> ::windows_core::HRESULT, |
| pub GetNotifiedExceptionClauseInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pinfo: *mut COR_PRF_EX_CLAUSE_INFO) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerInfo3(::windows_core::IUnknown); |
| impl ICorProfilerInfo3 { |
| pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() |
| } |
| pub unsafe fn GetEventMask(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result<super::super::super::Foundation::HANDLE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.IsArrayClass)(::windows_core::Interface::as_raw(self), classid, pbaseelemtype, pbaseclassid, pcrank).ok() |
| } |
| pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() |
| } |
| pub unsafe fn GetFunctionInfo(&self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, pclassid, pmoduleid, ptoken).ok() |
| } |
| pub unsafe fn SetEventMask(&self, dwevents: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.SetEventMask)(::windows_core::Interface::as_raw(self), dwevents).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks(&self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.SetEnterLeaveFunctionHooks)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.SetFunctionIDMapper)(::windows_core::Interface::as_raw(self), pfunc).ok() |
| } |
| pub unsafe fn GetTokenAndMetaDataFromFunction(&self, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut ::core::option::Option<::windows_core::IUnknown>, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetTokenAndMetaDataFromFunction)(::windows_core::Interface::as_raw(self), functionid, riid, ::core::mem::transmute(ppimport), ptoken).ok() |
| } |
| pub unsafe fn GetModuleInfo(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetModuleInfo)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid).ok() |
| } |
| pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() |
| } |
| pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result<IMethodMalloc> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() |
| } |
| pub unsafe fn GetAppDomainInfo(&self, appdomainid: usize, pcchname: *mut u32, szname: &mut [u16], pprocessid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetAppDomainInfo)(::windows_core::Interface::as_raw(self), appdomainid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pprocessid).ok() |
| } |
| pub unsafe fn GetAssemblyInfo(&self, assemblyid: usize, pcchname: *mut u32, szname: &mut [u16], pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetAssemblyInfo)(::windows_core::Interface::as_raw(self), assemblyid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pappdomainid, pmoduleid).ok() |
| } |
| pub unsafe fn SetFunctionReJIT(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.SetFunctionReJIT)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ForceGC(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ForceGC)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap<P0>(&self, functionid: usize, fstartjit: P0, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), functionid, fstartjit.into_param().abi(), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn BeginInprocDebugging<P0>(&self, fthisthreadonly: P0) -> ::windows_core::Result<u32> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() |
| } |
| pub unsafe fn GetILToNativeMapping(&self, functionid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetILToNativeMapping)(::windows_core::Interface::as_raw(self), functionid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn DoStackSnapshot(&self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const ::core::ffi::c_void, context: &[u8]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.DoStackSnapshot)(::windows_core::Interface::as_raw(self), thread, callback, infoflags, clientdata, ::core::mem::transmute(context.as_ptr()), context.len().try_into().unwrap()).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks2(&self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.SetEnterLeaveFunctionHooks2)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| pub unsafe fn GetFunctionInfo2(&self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetFunctionInfo2)(::windows_core::Interface::as_raw(self), funcid, frameinfo, pclassid, pmoduleid, ptoken, ctypeargs, pctypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetStringLayout(&self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetStringLayout)(::windows_core::Interface::as_raw(self), pbufferlengthoffset, pstringlengthoffset, pbufferoffset).ok() |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn GetClassLayout(&self, classid: usize, rfieldoffset: *mut super::super::WinRT::Metadata::COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetClassLayout)(::windows_core::Interface::as_raw(self), classid, rfieldoffset, cfieldoffset, pcfieldoffset, pulclasssize).ok() |
| } |
| pub unsafe fn GetClassIDInfo2(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetClassIDInfo2)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken, pparentclassid, cnumtypeargs, pcnumtypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetCodeInfo2(&self, functionid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetCodeInfo2)(::windows_core::Interface::as_raw(self), functionid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() |
| } |
| pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainStaticAddress(&self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetAppDomainStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, ppaddress).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress(&self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetThreadStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetContextStaticAddress(&self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetContextStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, contextid, ppaddress).ok() |
| } |
| pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result<COR_PRF_STATIC_TYPE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() |
| } |
| pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result<COR_PRF_GC_GENERATION_RANGE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result<COR_PRF_EX_CLAUSE_INFO> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper2(&self, pfunc: *const FunctionIDMapper2, clientdata: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SetFunctionIDMapper2)(::windows_core::Interface::as_raw(self), pfunc, clientdata).ok() |
| } |
| pub unsafe fn GetStringLayout2(&self, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetStringLayout2)(::windows_core::Interface::as_raw(self), pstringlengthoffset, pbufferoffset).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3(&self, pfuncenter3: *const FunctionEnter3, pfuncleave3: *const FunctionLeave3, pfunctailcall3: *const FunctionTailcall3) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SetEnterLeaveFunctionHooks3)(::windows_core::Interface::as_raw(self), pfuncenter3, pfuncleave3, pfunctailcall3).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3WithInfo(&self, pfuncenter3withinfo: *const FunctionEnter3WithInfo, pfuncleave3withinfo: *const FunctionLeave3WithInfo, pfunctailcall3withinfo: *const FunctionTailcall3WithInfo) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SetEnterLeaveFunctionHooks3WithInfo)(::windows_core::Interface::as_raw(self), pfuncenter3withinfo, pfuncleave3withinfo, pfunctailcall3withinfo).ok() |
| } |
| pub unsafe fn GetFunctionEnter3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pcbargumentinfo: *mut u32, pargumentinfo: *mut COR_PRF_FUNCTION_ARGUMENT_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetFunctionEnter3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pcbargumentinfo, pargumentinfo).ok() |
| } |
| pub unsafe fn GetFunctionLeave3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pretvalrange: *mut COR_PRF_FUNCTION_ARGUMENT_RANGE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetFunctionLeave3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pretvalrange).ok() |
| } |
| pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModules(&self) -> ::windows_core::Result<ICorProfilerModuleEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress2(&self, classid: usize, fieldtoken: u32, appdomainid: usize, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetThreadStaticAddress2)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainsContainingModule(&self, moduleid: usize, pcappdomainids: *mut u32, appdomainids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetAppDomainsContainingModule)(::windows_core::Interface::as_raw(self), moduleid, appdomainids.len().try_into().unwrap(), pcappdomainids, ::core::mem::transmute(appdomainids.as_ptr())).ok() |
| } |
| pub unsafe fn GetModuleInfo2(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize, pdwmoduleflags: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetModuleInfo2)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid, pdwmoduleflags).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerInfo3, ::windows_core::IUnknown, ICorProfilerInfo, ICorProfilerInfo2); |
| unsafe impl ::windows_core::Interface for ICorProfilerInfo3 { |
| type Vtable = ICorProfilerInfo3_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerInfo3 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xb555ed4f_452a_4e54_8b39_b5360bad32a0); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerInfo3_Vtbl { |
| pub base__: ICorProfilerInfo2_Vtbl, |
| pub EnumJITedFunctions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub RequestProfilerDetach: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Win32_Foundation")] |
| pub SetFunctionIDMapper2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfunc: *const FunctionIDMapper2, clientdata: *const ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| SetFunctionIDMapper2: usize, |
| pub GetStringLayout2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::HRESULT, |
| pub SetEnterLeaveFunctionHooks3: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfuncenter3: *const FunctionEnter3, pfuncleave3: *const FunctionLeave3, pfunctailcall3: *const FunctionTailcall3) -> ::windows_core::HRESULT, |
| pub SetEnterLeaveFunctionHooks3WithInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfuncenter3withinfo: *const FunctionEnter3WithInfo, pfuncleave3withinfo: *const FunctionLeave3WithInfo, pfunctailcall3withinfo: *const FunctionTailcall3WithInfo) -> ::windows_core::HRESULT, |
| pub GetFunctionEnter3Info: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pcbargumentinfo: *mut u32, pargumentinfo: *mut COR_PRF_FUNCTION_ARGUMENT_INFO) -> ::windows_core::HRESULT, |
| pub GetFunctionLeave3Info: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pretvalrange: *mut COR_PRF_FUNCTION_ARGUMENT_RANGE) -> ::windows_core::HRESULT, |
| pub GetFunctionTailcall3Info: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, eltinfo: usize, pframeinfo: *mut usize) -> ::windows_core::HRESULT, |
| pub EnumModules: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetRuntimeInformation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, cchversionstring: u32, pcchversionstring: *mut u32, szversionstring: ::windows_core::PWSTR) -> ::windows_core::HRESULT, |
| pub GetThreadStaticAddress2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: usize, fieldtoken: u32, appdomainid: usize, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetAppDomainsContainingModule: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, cappdomainids: u32, pcappdomainids: *mut u32, appdomainids: *mut usize) -> ::windows_core::HRESULT, |
| pub GetModuleInfo2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, ppbaseloadaddress: *mut *mut u8, cchname: u32, pcchname: *mut u32, szname: ::windows_core::PWSTR, passemblyid: *mut usize, pdwmoduleflags: *mut u32) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerInfo4(::windows_core::IUnknown); |
| impl ICorProfilerInfo4 { |
| pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() |
| } |
| pub unsafe fn GetEventMask(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result<super::super::super::Foundation::HANDLE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.IsArrayClass)(::windows_core::Interface::as_raw(self), classid, pbaseelemtype, pbaseclassid, pcrank).ok() |
| } |
| pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() |
| } |
| pub unsafe fn GetFunctionInfo(&self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, pclassid, pmoduleid, ptoken).ok() |
| } |
| pub unsafe fn SetEventMask(&self, dwevents: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SetEventMask)(::windows_core::Interface::as_raw(self), dwevents).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks(&self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SetEnterLeaveFunctionHooks)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SetFunctionIDMapper)(::windows_core::Interface::as_raw(self), pfunc).ok() |
| } |
| pub unsafe fn GetTokenAndMetaDataFromFunction(&self, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut ::core::option::Option<::windows_core::IUnknown>, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetTokenAndMetaDataFromFunction)(::windows_core::Interface::as_raw(self), functionid, riid, ::core::mem::transmute(ppimport), ptoken).ok() |
| } |
| pub unsafe fn GetModuleInfo(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetModuleInfo)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid).ok() |
| } |
| pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() |
| } |
| pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result<IMethodMalloc> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() |
| } |
| pub unsafe fn GetAppDomainInfo(&self, appdomainid: usize, pcchname: *mut u32, szname: &mut [u16], pprocessid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetAppDomainInfo)(::windows_core::Interface::as_raw(self), appdomainid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pprocessid).ok() |
| } |
| pub unsafe fn GetAssemblyInfo(&self, assemblyid: usize, pcchname: *mut u32, szname: &mut [u16], pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetAssemblyInfo)(::windows_core::Interface::as_raw(self), assemblyid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pappdomainid, pmoduleid).ok() |
| } |
| pub unsafe fn SetFunctionReJIT(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SetFunctionReJIT)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ForceGC(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.ForceGC)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap<P0>(&self, functionid: usize, fstartjit: P0, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), functionid, fstartjit.into_param().abi(), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn BeginInprocDebugging<P0>(&self, fthisthreadonly: P0) -> ::windows_core::Result<u32> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() |
| } |
| pub unsafe fn GetILToNativeMapping(&self, functionid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetILToNativeMapping)(::windows_core::Interface::as_raw(self), functionid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn DoStackSnapshot(&self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const ::core::ffi::c_void, context: &[u8]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.DoStackSnapshot)(::windows_core::Interface::as_raw(self), thread, callback, infoflags, clientdata, ::core::mem::transmute(context.as_ptr()), context.len().try_into().unwrap()).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks2(&self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.SetEnterLeaveFunctionHooks2)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| pub unsafe fn GetFunctionInfo2(&self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetFunctionInfo2)(::windows_core::Interface::as_raw(self), funcid, frameinfo, pclassid, pmoduleid, ptoken, ctypeargs, pctypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetStringLayout(&self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetStringLayout)(::windows_core::Interface::as_raw(self), pbufferlengthoffset, pstringlengthoffset, pbufferoffset).ok() |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn GetClassLayout(&self, classid: usize, rfieldoffset: *mut super::super::WinRT::Metadata::COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetClassLayout)(::windows_core::Interface::as_raw(self), classid, rfieldoffset, cfieldoffset, pcfieldoffset, pulclasssize).ok() |
| } |
| pub unsafe fn GetClassIDInfo2(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetClassIDInfo2)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken, pparentclassid, cnumtypeargs, pcnumtypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetCodeInfo2(&self, functionid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetCodeInfo2)(::windows_core::Interface::as_raw(self), functionid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() |
| } |
| pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainStaticAddress(&self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetAppDomainStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, ppaddress).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress(&self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetThreadStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetContextStaticAddress(&self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetContextStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, contextid, ppaddress).ok() |
| } |
| pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result<COR_PRF_STATIC_TYPE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() |
| } |
| pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result<COR_PRF_GC_GENERATION_RANGE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result<COR_PRF_EX_CLAUSE_INFO> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper2(&self, pfunc: *const FunctionIDMapper2, clientdata: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.SetFunctionIDMapper2)(::windows_core::Interface::as_raw(self), pfunc, clientdata).ok() |
| } |
| pub unsafe fn GetStringLayout2(&self, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetStringLayout2)(::windows_core::Interface::as_raw(self), pstringlengthoffset, pbufferoffset).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3(&self, pfuncenter3: *const FunctionEnter3, pfuncleave3: *const FunctionLeave3, pfunctailcall3: *const FunctionTailcall3) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.SetEnterLeaveFunctionHooks3)(::windows_core::Interface::as_raw(self), pfuncenter3, pfuncleave3, pfunctailcall3).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3WithInfo(&self, pfuncenter3withinfo: *const FunctionEnter3WithInfo, pfuncleave3withinfo: *const FunctionLeave3WithInfo, pfunctailcall3withinfo: *const FunctionTailcall3WithInfo) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.SetEnterLeaveFunctionHooks3WithInfo)(::windows_core::Interface::as_raw(self), pfuncenter3withinfo, pfuncleave3withinfo, pfunctailcall3withinfo).ok() |
| } |
| pub unsafe fn GetFunctionEnter3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pcbargumentinfo: *mut u32, pargumentinfo: *mut COR_PRF_FUNCTION_ARGUMENT_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetFunctionEnter3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pcbargumentinfo, pargumentinfo).ok() |
| } |
| pub unsafe fn GetFunctionLeave3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pretvalrange: *mut COR_PRF_FUNCTION_ARGUMENT_RANGE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetFunctionLeave3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pretvalrange).ok() |
| } |
| pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModules(&self) -> ::windows_core::Result<ICorProfilerModuleEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress2(&self, classid: usize, fieldtoken: u32, appdomainid: usize, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetThreadStaticAddress2)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainsContainingModule(&self, moduleid: usize, pcappdomainids: *mut u32, appdomainids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetAppDomainsContainingModule)(::windows_core::Interface::as_raw(self), moduleid, appdomainids.len().try_into().unwrap(), pcappdomainids, ::core::mem::transmute(appdomainids.as_ptr())).ok() |
| } |
| pub unsafe fn GetModuleInfo2(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize, pdwmoduleflags: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetModuleInfo2)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid, pdwmoduleflags).ok() |
| } |
| pub unsafe fn EnumThreads(&self) -> ::windows_core::Result<ICorProfilerThreadEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RequestReJIT(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RequestReJIT)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn RequestRevert(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32, status: *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).RequestRevert)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids, status).ok() |
| } |
| pub unsafe fn GetCodeInfo3(&self, functionid: usize, rejitid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetCodeInfo3)(::windows_core::Interface::as_raw(self), functionid, rejitid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetFunctionFromIP2(&self, ip: *const u8, pfunctionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetFunctionFromIP2)(::windows_core::Interface::as_raw(self), ip, pfunctionid, prejitid).ok() |
| } |
| pub unsafe fn GetReJITIDs(&self, functionid: usize, pcrejitids: *mut u32, rejitids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetReJITIDs)(::windows_core::Interface::as_raw(self), functionid, rejitids.len().try_into().unwrap(), pcrejitids, ::core::mem::transmute(rejitids.as_ptr())).ok() |
| } |
| pub unsafe fn GetILToNativeMapping2(&self, functionid: usize, rejitid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetILToNativeMapping2)(::windows_core::Interface::as_raw(self), functionid, rejitid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerInfo4, ::windows_core::IUnknown, ICorProfilerInfo, ICorProfilerInfo2, ICorProfilerInfo3); |
| unsafe impl ::windows_core::Interface for ICorProfilerInfo4 { |
| type Vtable = ICorProfilerInfo4_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerInfo4 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x0d8fdcaa_6257_47bf_b1bf_94dac88466ee); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerInfo4_Vtbl { |
| pub base__: ICorProfilerInfo3_Vtbl, |
| pub EnumThreads: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub InitializeCurrentThread: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub RequestReJIT: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::HRESULT, |
| pub RequestRevert: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cfunctions: u32, moduleids: *const usize, methodids: *const u32, status: *mut ::windows_core::HRESULT) -> ::windows_core::HRESULT, |
| pub GetCodeInfo3: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, rejitid: usize, ccodeinfos: u32, pccodeinfos: *mut u32, codeinfos: *mut COR_PRF_CODE_INFO) -> ::windows_core::HRESULT, |
| pub GetFunctionFromIP2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ip: *const u8, pfunctionid: *mut usize, prejitid: *mut usize) -> ::windows_core::HRESULT, |
| pub GetReJITIDs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, crejitids: u32, pcrejitids: *mut u32, rejitids: *mut usize) -> ::windows_core::HRESULT, |
| pub GetILToNativeMapping2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, rejitid: usize, cmap: u32, pcmap: *mut u32, map: *mut COR_DEBUG_IL_TO_NATIVE_MAP) -> ::windows_core::HRESULT, |
| pub EnumJITedFunctions2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetObjectSize2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, objectid: usize, pcsize: *mut usize) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerInfo5(::windows_core::IUnknown); |
| impl ICorProfilerInfo5 { |
| pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() |
| } |
| pub unsafe fn GetEventMask(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result<super::super::super::Foundation::HANDLE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsArrayClass)(::windows_core::Interface::as_raw(self), classid, pbaseelemtype, pbaseclassid, pcrank).ok() |
| } |
| pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() |
| } |
| pub unsafe fn GetFunctionInfo(&self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, pclassid, pmoduleid, ptoken).ok() |
| } |
| pub unsafe fn SetEventMask(&self, dwevents: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetEventMask)(::windows_core::Interface::as_raw(self), dwevents).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks(&self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetEnterLeaveFunctionHooks)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetFunctionIDMapper)(::windows_core::Interface::as_raw(self), pfunc).ok() |
| } |
| pub unsafe fn GetTokenAndMetaDataFromFunction(&self, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut ::core::option::Option<::windows_core::IUnknown>, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetTokenAndMetaDataFromFunction)(::windows_core::Interface::as_raw(self), functionid, riid, ::core::mem::transmute(ppimport), ptoken).ok() |
| } |
| pub unsafe fn GetModuleInfo(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetModuleInfo)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid).ok() |
| } |
| pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() |
| } |
| pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result<IMethodMalloc> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() |
| } |
| pub unsafe fn GetAppDomainInfo(&self, appdomainid: usize, pcchname: *mut u32, szname: &mut [u16], pprocessid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetAppDomainInfo)(::windows_core::Interface::as_raw(self), appdomainid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pprocessid).ok() |
| } |
| pub unsafe fn GetAssemblyInfo(&self, assemblyid: usize, pcchname: *mut u32, szname: &mut [u16], pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetAssemblyInfo)(::windows_core::Interface::as_raw(self), assemblyid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pappdomainid, pmoduleid).ok() |
| } |
| pub unsafe fn SetFunctionReJIT(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetFunctionReJIT)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ForceGC(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ForceGC)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap<P0>(&self, functionid: usize, fstartjit: P0, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), functionid, fstartjit.into_param().abi(), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn BeginInprocDebugging<P0>(&self, fthisthreadonly: P0) -> ::windows_core::Result<u32> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() |
| } |
| pub unsafe fn GetILToNativeMapping(&self, functionid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetILToNativeMapping)(::windows_core::Interface::as_raw(self), functionid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn DoStackSnapshot(&self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const ::core::ffi::c_void, context: &[u8]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.DoStackSnapshot)(::windows_core::Interface::as_raw(self), thread, callback, infoflags, clientdata, ::core::mem::transmute(context.as_ptr()), context.len().try_into().unwrap()).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks2(&self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SetEnterLeaveFunctionHooks2)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| pub unsafe fn GetFunctionInfo2(&self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionInfo2)(::windows_core::Interface::as_raw(self), funcid, frameinfo, pclassid, pmoduleid, ptoken, ctypeargs, pctypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetStringLayout(&self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetStringLayout)(::windows_core::Interface::as_raw(self), pbufferlengthoffset, pstringlengthoffset, pbufferoffset).ok() |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn GetClassLayout(&self, classid: usize, rfieldoffset: *mut super::super::WinRT::Metadata::COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassLayout)(::windows_core::Interface::as_raw(self), classid, rfieldoffset, cfieldoffset, pcfieldoffset, pulclasssize).ok() |
| } |
| pub unsafe fn GetClassIDInfo2(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassIDInfo2)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken, pparentclassid, cnumtypeargs, pcnumtypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetCodeInfo2(&self, functionid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetCodeInfo2)(::windows_core::Interface::as_raw(self), functionid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() |
| } |
| pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainStaticAddress(&self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetAppDomainStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, ppaddress).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress(&self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetThreadStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetContextStaticAddress(&self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetContextStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, contextid, ppaddress).ok() |
| } |
| pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result<COR_PRF_STATIC_TYPE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() |
| } |
| pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result<COR_PRF_GC_GENERATION_RANGE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result<COR_PRF_EX_CLAUSE_INFO> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper2(&self, pfunc: *const FunctionIDMapper2, clientdata: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.SetFunctionIDMapper2)(::windows_core::Interface::as_raw(self), pfunc, clientdata).ok() |
| } |
| pub unsafe fn GetStringLayout2(&self, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetStringLayout2)(::windows_core::Interface::as_raw(self), pstringlengthoffset, pbufferoffset).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3(&self, pfuncenter3: *const FunctionEnter3, pfuncleave3: *const FunctionLeave3, pfunctailcall3: *const FunctionTailcall3) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.SetEnterLeaveFunctionHooks3)(::windows_core::Interface::as_raw(self), pfuncenter3, pfuncleave3, pfunctailcall3).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3WithInfo(&self, pfuncenter3withinfo: *const FunctionEnter3WithInfo, pfuncleave3withinfo: *const FunctionLeave3WithInfo, pfunctailcall3withinfo: *const FunctionTailcall3WithInfo) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.SetEnterLeaveFunctionHooks3WithInfo)(::windows_core::Interface::as_raw(self), pfuncenter3withinfo, pfuncleave3withinfo, pfunctailcall3withinfo).ok() |
| } |
| pub unsafe fn GetFunctionEnter3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pcbargumentinfo: *mut u32, pargumentinfo: *mut COR_PRF_FUNCTION_ARGUMENT_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetFunctionEnter3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pcbargumentinfo, pargumentinfo).ok() |
| } |
| pub unsafe fn GetFunctionLeave3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pretvalrange: *mut COR_PRF_FUNCTION_ARGUMENT_RANGE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetFunctionLeave3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pretvalrange).ok() |
| } |
| pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModules(&self) -> ::windows_core::Result<ICorProfilerModuleEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress2(&self, classid: usize, fieldtoken: u32, appdomainid: usize, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetThreadStaticAddress2)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainsContainingModule(&self, moduleid: usize, pcappdomainids: *mut u32, appdomainids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetAppDomainsContainingModule)(::windows_core::Interface::as_raw(self), moduleid, appdomainids.len().try_into().unwrap(), pcappdomainids, ::core::mem::transmute(appdomainids.as_ptr())).ok() |
| } |
| pub unsafe fn GetModuleInfo2(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize, pdwmoduleflags: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetModuleInfo2)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid, pdwmoduleflags).ok() |
| } |
| pub unsafe fn EnumThreads(&self) -> ::windows_core::Result<ICorProfilerThreadEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RequestReJIT(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RequestReJIT)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn RequestRevert(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32, status: *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.RequestRevert)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids, status).ok() |
| } |
| pub unsafe fn GetCodeInfo3(&self, functionid: usize, rejitid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetCodeInfo3)(::windows_core::Interface::as_raw(self), functionid, rejitid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetFunctionFromIP2(&self, ip: *const u8, pfunctionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetFunctionFromIP2)(::windows_core::Interface::as_raw(self), ip, pfunctionid, prejitid).ok() |
| } |
| pub unsafe fn GetReJITIDs(&self, functionid: usize, pcrejitids: *mut u32, rejitids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetReJITIDs)(::windows_core::Interface::as_raw(self), functionid, rejitids.len().try_into().unwrap(), pcrejitids, ::core::mem::transmute(rejitids.as_ptr())).ok() |
| } |
| pub unsafe fn GetILToNativeMapping2(&self, functionid: usize, rejitid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetILToNativeMapping2)(::windows_core::Interface::as_raw(self), functionid, rejitid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() |
| } |
| pub unsafe fn SetEventMask2(&self, dweventslow: u32, dweventshigh: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).SetEventMask2)(::windows_core::Interface::as_raw(self), dweventslow, dweventshigh).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerInfo5, ::windows_core::IUnknown, ICorProfilerInfo, ICorProfilerInfo2, ICorProfilerInfo3, ICorProfilerInfo4); |
| unsafe impl ::windows_core::Interface for ICorProfilerInfo5 { |
| type Vtable = ICorProfilerInfo5_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerInfo5 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x07602928_ce38_4b83_81e7_74adaf781214); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerInfo5_Vtbl { |
| pub base__: ICorProfilerInfo4_Vtbl, |
| pub GetEventMask2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::HRESULT, |
| pub SetEventMask2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dweventslow: u32, dweventshigh: u32) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerInfo6(::windows_core::IUnknown); |
| impl ICorProfilerInfo6 { |
| pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() |
| } |
| pub unsafe fn GetEventMask(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result<super::super::super::Foundation::HANDLE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsArrayClass)(::windows_core::Interface::as_raw(self), classid, pbaseelemtype, pbaseclassid, pcrank).ok() |
| } |
| pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() |
| } |
| pub unsafe fn GetFunctionInfo(&self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, pclassid, pmoduleid, ptoken).ok() |
| } |
| pub unsafe fn SetEventMask(&self, dwevents: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetEventMask)(::windows_core::Interface::as_raw(self), dwevents).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks(&self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetFunctionIDMapper)(::windows_core::Interface::as_raw(self), pfunc).ok() |
| } |
| pub unsafe fn GetTokenAndMetaDataFromFunction(&self, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut ::core::option::Option<::windows_core::IUnknown>, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetTokenAndMetaDataFromFunction)(::windows_core::Interface::as_raw(self), functionid, riid, ::core::mem::transmute(ppimport), ptoken).ok() |
| } |
| pub unsafe fn GetModuleInfo(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetModuleInfo)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid).ok() |
| } |
| pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() |
| } |
| pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result<IMethodMalloc> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() |
| } |
| pub unsafe fn GetAppDomainInfo(&self, appdomainid: usize, pcchname: *mut u32, szname: &mut [u16], pprocessid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetAppDomainInfo)(::windows_core::Interface::as_raw(self), appdomainid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pprocessid).ok() |
| } |
| pub unsafe fn GetAssemblyInfo(&self, assemblyid: usize, pcchname: *mut u32, szname: &mut [u16], pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetAssemblyInfo)(::windows_core::Interface::as_raw(self), assemblyid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pappdomainid, pmoduleid).ok() |
| } |
| pub unsafe fn SetFunctionReJIT(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetFunctionReJIT)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ForceGC(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ForceGC)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap<P0>(&self, functionid: usize, fstartjit: P0, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), functionid, fstartjit.into_param().abi(), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn BeginInprocDebugging<P0>(&self, fthisthreadonly: P0) -> ::windows_core::Result<u32> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() |
| } |
| pub unsafe fn GetILToNativeMapping(&self, functionid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetILToNativeMapping)(::windows_core::Interface::as_raw(self), functionid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn DoStackSnapshot(&self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const ::core::ffi::c_void, context: &[u8]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DoStackSnapshot)(::windows_core::Interface::as_raw(self), thread, callback, infoflags, clientdata, ::core::mem::transmute(context.as_ptr()), context.len().try_into().unwrap()).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks2(&self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetEnterLeaveFunctionHooks2)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| pub unsafe fn GetFunctionInfo2(&self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionInfo2)(::windows_core::Interface::as_raw(self), funcid, frameinfo, pclassid, pmoduleid, ptoken, ctypeargs, pctypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetStringLayout(&self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetStringLayout)(::windows_core::Interface::as_raw(self), pbufferlengthoffset, pstringlengthoffset, pbufferoffset).ok() |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn GetClassLayout(&self, classid: usize, rfieldoffset: *mut super::super::WinRT::Metadata::COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClassLayout)(::windows_core::Interface::as_raw(self), classid, rfieldoffset, cfieldoffset, pcfieldoffset, pulclasssize).ok() |
| } |
| pub unsafe fn GetClassIDInfo2(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClassIDInfo2)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken, pparentclassid, cnumtypeargs, pcnumtypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetCodeInfo2(&self, functionid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCodeInfo2)(::windows_core::Interface::as_raw(self), functionid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() |
| } |
| pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainStaticAddress(&self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetAppDomainStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, ppaddress).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress(&self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetThreadStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetContextStaticAddress(&self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetContextStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, contextid, ppaddress).ok() |
| } |
| pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result<COR_PRF_STATIC_TYPE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() |
| } |
| pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result<COR_PRF_GC_GENERATION_RANGE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result<COR_PRF_EX_CLAUSE_INFO> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper2(&self, pfunc: *const FunctionIDMapper2, clientdata: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SetFunctionIDMapper2)(::windows_core::Interface::as_raw(self), pfunc, clientdata).ok() |
| } |
| pub unsafe fn GetStringLayout2(&self, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetStringLayout2)(::windows_core::Interface::as_raw(self), pstringlengthoffset, pbufferoffset).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3(&self, pfuncenter3: *const FunctionEnter3, pfuncleave3: *const FunctionLeave3, pfunctailcall3: *const FunctionTailcall3) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SetEnterLeaveFunctionHooks3)(::windows_core::Interface::as_raw(self), pfuncenter3, pfuncleave3, pfunctailcall3).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3WithInfo(&self, pfuncenter3withinfo: *const FunctionEnter3WithInfo, pfuncleave3withinfo: *const FunctionLeave3WithInfo, pfunctailcall3withinfo: *const FunctionTailcall3WithInfo) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SetEnterLeaveFunctionHooks3WithInfo)(::windows_core::Interface::as_raw(self), pfuncenter3withinfo, pfuncleave3withinfo, pfunctailcall3withinfo).ok() |
| } |
| pub unsafe fn GetFunctionEnter3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pcbargumentinfo: *mut u32, pargumentinfo: *mut COR_PRF_FUNCTION_ARGUMENT_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionEnter3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pcbargumentinfo, pargumentinfo).ok() |
| } |
| pub unsafe fn GetFunctionLeave3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pretvalrange: *mut COR_PRF_FUNCTION_ARGUMENT_RANGE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionLeave3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pretvalrange).ok() |
| } |
| pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModules(&self) -> ::windows_core::Result<ICorProfilerModuleEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress2(&self, classid: usize, fieldtoken: u32, appdomainid: usize, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetThreadStaticAddress2)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainsContainingModule(&self, moduleid: usize, pcappdomainids: *mut u32, appdomainids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetAppDomainsContainingModule)(::windows_core::Interface::as_raw(self), moduleid, appdomainids.len().try_into().unwrap(), pcappdomainids, ::core::mem::transmute(appdomainids.as_ptr())).ok() |
| } |
| pub unsafe fn GetModuleInfo2(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize, pdwmoduleflags: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetModuleInfo2)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid, pdwmoduleflags).ok() |
| } |
| pub unsafe fn EnumThreads(&self) -> ::windows_core::Result<ICorProfilerThreadEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RequestReJIT(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RequestReJIT)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn RequestRevert(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32, status: *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.RequestRevert)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids, status).ok() |
| } |
| pub unsafe fn GetCodeInfo3(&self, functionid: usize, rejitid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetCodeInfo3)(::windows_core::Interface::as_raw(self), functionid, rejitid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetFunctionFromIP2(&self, ip: *const u8, pfunctionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetFunctionFromIP2)(::windows_core::Interface::as_raw(self), ip, pfunctionid, prejitid).ok() |
| } |
| pub unsafe fn GetReJITIDs(&self, functionid: usize, pcrejitids: *mut u32, rejitids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetReJITIDs)(::windows_core::Interface::as_raw(self), functionid, rejitids.len().try_into().unwrap(), pcrejitids, ::core::mem::transmute(rejitids.as_ptr())).ok() |
| } |
| pub unsafe fn GetILToNativeMapping2(&self, functionid: usize, rejitid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetILToNativeMapping2)(::windows_core::Interface::as_raw(self), functionid, rejitid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() |
| } |
| pub unsafe fn SetEventMask2(&self, dweventslow: u32, dweventshigh: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.SetEventMask2)(::windows_core::Interface::as_raw(self), dweventslow, dweventshigh).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EnumNgenModuleMethodsInliningThisMethod(&self, inlinersmoduleid: usize, inlineemoduleid: usize, inlineemethodid: u32, incompletedata: *mut super::super::super::Foundation::BOOL, ppenum: *mut ::core::option::Option<ICorProfilerMethodEnum>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).EnumNgenModuleMethodsInliningThisMethod)(::windows_core::Interface::as_raw(self), inlinersmoduleid, inlineemoduleid, inlineemethodid, incompletedata, ::core::mem::transmute(ppenum)).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerInfo6, ::windows_core::IUnknown, ICorProfilerInfo, ICorProfilerInfo2, ICorProfilerInfo3, ICorProfilerInfo4, ICorProfilerInfo5); |
| unsafe impl ::windows_core::Interface for ICorProfilerInfo6 { |
| type Vtable = ICorProfilerInfo6_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerInfo6 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xf30a070d_bffb_46a7_b1d8_8781ef7b698a); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerInfo6_Vtbl { |
| pub base__: ICorProfilerInfo5_Vtbl, |
| #[cfg(feature = "Win32_Foundation")] |
| pub EnumNgenModuleMethodsInliningThisMethod: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, inlinersmoduleid: usize, inlineemoduleid: usize, inlineemethodid: u32, incompletedata: *mut super::super::super::Foundation::BOOL, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| EnumNgenModuleMethodsInliningThisMethod: usize, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerInfo7(::windows_core::IUnknown); |
| impl ICorProfilerInfo7 { |
| pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() |
| } |
| pub unsafe fn GetEventMask(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result<super::super::super::Foundation::HANDLE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsArrayClass)(::windows_core::Interface::as_raw(self), classid, pbaseelemtype, pbaseclassid, pcrank).ok() |
| } |
| pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() |
| } |
| pub unsafe fn GetFunctionInfo(&self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, pclassid, pmoduleid, ptoken).ok() |
| } |
| pub unsafe fn SetEventMask(&self, dwevents: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetEventMask)(::windows_core::Interface::as_raw(self), dwevents).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks(&self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetFunctionIDMapper)(::windows_core::Interface::as_raw(self), pfunc).ok() |
| } |
| pub unsafe fn GetTokenAndMetaDataFromFunction(&self, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut ::core::option::Option<::windows_core::IUnknown>, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetTokenAndMetaDataFromFunction)(::windows_core::Interface::as_raw(self), functionid, riid, ::core::mem::transmute(ppimport), ptoken).ok() |
| } |
| pub unsafe fn GetModuleInfo(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetModuleInfo)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid).ok() |
| } |
| pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() |
| } |
| pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result<IMethodMalloc> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() |
| } |
| pub unsafe fn GetAppDomainInfo(&self, appdomainid: usize, pcchname: *mut u32, szname: &mut [u16], pprocessid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetAppDomainInfo)(::windows_core::Interface::as_raw(self), appdomainid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pprocessid).ok() |
| } |
| pub unsafe fn GetAssemblyInfo(&self, assemblyid: usize, pcchname: *mut u32, szname: &mut [u16], pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetAssemblyInfo)(::windows_core::Interface::as_raw(self), assemblyid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pappdomainid, pmoduleid).ok() |
| } |
| pub unsafe fn SetFunctionReJIT(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetFunctionReJIT)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ForceGC(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ForceGC)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap<P0>(&self, functionid: usize, fstartjit: P0, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), functionid, fstartjit.into_param().abi(), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn BeginInprocDebugging<P0>(&self, fthisthreadonly: P0) -> ::windows_core::Result<u32> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() |
| } |
| pub unsafe fn GetILToNativeMapping(&self, functionid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetILToNativeMapping)(::windows_core::Interface::as_raw(self), functionid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn DoStackSnapshot(&self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const ::core::ffi::c_void, context: &[u8]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DoStackSnapshot)(::windows_core::Interface::as_raw(self), thread, callback, infoflags, clientdata, ::core::mem::transmute(context.as_ptr()), context.len().try_into().unwrap()).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks2(&self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks2)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| pub unsafe fn GetFunctionInfo2(&self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionInfo2)(::windows_core::Interface::as_raw(self), funcid, frameinfo, pclassid, pmoduleid, ptoken, ctypeargs, pctypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetStringLayout(&self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetStringLayout)(::windows_core::Interface::as_raw(self), pbufferlengthoffset, pstringlengthoffset, pbufferoffset).ok() |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn GetClassLayout(&self, classid: usize, rfieldoffset: *mut super::super::WinRT::Metadata::COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClassLayout)(::windows_core::Interface::as_raw(self), classid, rfieldoffset, cfieldoffset, pcfieldoffset, pulclasssize).ok() |
| } |
| pub unsafe fn GetClassIDInfo2(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClassIDInfo2)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken, pparentclassid, cnumtypeargs, pcnumtypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetCodeInfo2(&self, functionid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCodeInfo2)(::windows_core::Interface::as_raw(self), functionid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() |
| } |
| pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainStaticAddress(&self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetAppDomainStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, ppaddress).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress(&self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetThreadStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetContextStaticAddress(&self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetContextStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, contextid, ppaddress).ok() |
| } |
| pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result<COR_PRF_STATIC_TYPE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() |
| } |
| pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result<COR_PRF_GC_GENERATION_RANGE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result<COR_PRF_EX_CLAUSE_INFO> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper2(&self, pfunc: *const FunctionIDMapper2, clientdata: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetFunctionIDMapper2)(::windows_core::Interface::as_raw(self), pfunc, clientdata).ok() |
| } |
| pub unsafe fn GetStringLayout2(&self, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetStringLayout2)(::windows_core::Interface::as_raw(self), pstringlengthoffset, pbufferoffset).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3(&self, pfuncenter3: *const FunctionEnter3, pfuncleave3: *const FunctionLeave3, pfunctailcall3: *const FunctionTailcall3) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetEnterLeaveFunctionHooks3)(::windows_core::Interface::as_raw(self), pfuncenter3, pfuncleave3, pfunctailcall3).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3WithInfo(&self, pfuncenter3withinfo: *const FunctionEnter3WithInfo, pfuncleave3withinfo: *const FunctionLeave3WithInfo, pfunctailcall3withinfo: *const FunctionTailcall3WithInfo) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetEnterLeaveFunctionHooks3WithInfo)(::windows_core::Interface::as_raw(self), pfuncenter3withinfo, pfuncleave3withinfo, pfunctailcall3withinfo).ok() |
| } |
| pub unsafe fn GetFunctionEnter3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pcbargumentinfo: *mut u32, pargumentinfo: *mut COR_PRF_FUNCTION_ARGUMENT_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionEnter3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pcbargumentinfo, pargumentinfo).ok() |
| } |
| pub unsafe fn GetFunctionLeave3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pretvalrange: *mut COR_PRF_FUNCTION_ARGUMENT_RANGE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionLeave3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pretvalrange).ok() |
| } |
| pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModules(&self) -> ::windows_core::Result<ICorProfilerModuleEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress2(&self, classid: usize, fieldtoken: u32, appdomainid: usize, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetThreadStaticAddress2)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainsContainingModule(&self, moduleid: usize, pcappdomainids: *mut u32, appdomainids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetAppDomainsContainingModule)(::windows_core::Interface::as_raw(self), moduleid, appdomainids.len().try_into().unwrap(), pcappdomainids, ::core::mem::transmute(appdomainids.as_ptr())).ok() |
| } |
| pub unsafe fn GetModuleInfo2(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize, pdwmoduleflags: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetModuleInfo2)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid, pdwmoduleflags).ok() |
| } |
| pub unsafe fn EnumThreads(&self) -> ::windows_core::Result<ICorProfilerThreadEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RequestReJIT(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RequestReJIT)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn RequestRevert(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32, status: *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.RequestRevert)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids, status).ok() |
| } |
| pub unsafe fn GetCodeInfo3(&self, functionid: usize, rejitid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetCodeInfo3)(::windows_core::Interface::as_raw(self), functionid, rejitid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetFunctionFromIP2(&self, ip: *const u8, pfunctionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionFromIP2)(::windows_core::Interface::as_raw(self), ip, pfunctionid, prejitid).ok() |
| } |
| pub unsafe fn GetReJITIDs(&self, functionid: usize, pcrejitids: *mut u32, rejitids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetReJITIDs)(::windows_core::Interface::as_raw(self), functionid, rejitids.len().try_into().unwrap(), pcrejitids, ::core::mem::transmute(rejitids.as_ptr())).ok() |
| } |
| pub unsafe fn GetILToNativeMapping2(&self, functionid: usize, rejitid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetILToNativeMapping2)(::windows_core::Interface::as_raw(self), functionid, rejitid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() |
| } |
| pub unsafe fn SetEventMask2(&self, dweventslow: u32, dweventshigh: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.SetEventMask2)(::windows_core::Interface::as_raw(self), dweventslow, dweventshigh).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EnumNgenModuleMethodsInliningThisMethod(&self, inlinersmoduleid: usize, inlineemoduleid: usize, inlineemethodid: u32, incompletedata: *mut super::super::super::Foundation::BOOL, ppenum: *mut ::core::option::Option<ICorProfilerMethodEnum>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.EnumNgenModuleMethodsInliningThisMethod)(::windows_core::Interface::as_raw(self), inlinersmoduleid, inlineemoduleid, inlineemethodid, incompletedata, ::core::mem::transmute(ppenum)).ok() |
| } |
| pub unsafe fn ApplyMetaData(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ApplyMetaData)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerInfo7, ::windows_core::IUnknown, ICorProfilerInfo, ICorProfilerInfo2, ICorProfilerInfo3, ICorProfilerInfo4, ICorProfilerInfo5, ICorProfilerInfo6); |
| unsafe impl ::windows_core::Interface for ICorProfilerInfo7 { |
| type Vtable = ICorProfilerInfo7_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerInfo7 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x9aeecc0d_63e0_4187_8c00_e312f503f663); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerInfo7_Vtbl { |
| pub base__: ICorProfilerInfo6_Vtbl, |
| pub ApplyMetaData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize) -> ::windows_core::HRESULT, |
| pub GetInMemorySymbolsLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, pcountsymbolbytes: *mut u32) -> ::windows_core::HRESULT, |
| pub ReadInMemorySymbols: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerInfo8(::windows_core::IUnknown); |
| impl ICorProfilerInfo8 { |
| pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() |
| } |
| pub unsafe fn GetEventMask(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result<super::super::super::Foundation::HANDLE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.IsArrayClass)(::windows_core::Interface::as_raw(self), classid, pbaseelemtype, pbaseclassid, pcrank).ok() |
| } |
| pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() |
| } |
| pub unsafe fn GetFunctionInfo(&self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, pclassid, pmoduleid, ptoken).ok() |
| } |
| pub unsafe fn SetEventMask(&self, dwevents: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetEventMask)(::windows_core::Interface::as_raw(self), dwevents).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks(&self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetFunctionIDMapper)(::windows_core::Interface::as_raw(self), pfunc).ok() |
| } |
| pub unsafe fn GetTokenAndMetaDataFromFunction(&self, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut ::core::option::Option<::windows_core::IUnknown>, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetTokenAndMetaDataFromFunction)(::windows_core::Interface::as_raw(self), functionid, riid, ::core::mem::transmute(ppimport), ptoken).ok() |
| } |
| pub unsafe fn GetModuleInfo(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetModuleInfo)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid).ok() |
| } |
| pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() |
| } |
| pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result<IMethodMalloc> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() |
| } |
| pub unsafe fn GetAppDomainInfo(&self, appdomainid: usize, pcchname: *mut u32, szname: &mut [u16], pprocessid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetAppDomainInfo)(::windows_core::Interface::as_raw(self), appdomainid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pprocessid).ok() |
| } |
| pub unsafe fn GetAssemblyInfo(&self, assemblyid: usize, pcchname: *mut u32, szname: &mut [u16], pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetAssemblyInfo)(::windows_core::Interface::as_raw(self), assemblyid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pappdomainid, pmoduleid).ok() |
| } |
| pub unsafe fn SetFunctionReJIT(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetFunctionReJIT)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ForceGC(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ForceGC)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap<P0>(&self, functionid: usize, fstartjit: P0, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), functionid, fstartjit.into_param().abi(), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn BeginInprocDebugging<P0>(&self, fthisthreadonly: P0) -> ::windows_core::Result<u32> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() |
| } |
| pub unsafe fn GetILToNativeMapping(&self, functionid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetILToNativeMapping)(::windows_core::Interface::as_raw(self), functionid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn DoStackSnapshot(&self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const ::core::ffi::c_void, context: &[u8]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.DoStackSnapshot)(::windows_core::Interface::as_raw(self), thread, callback, infoflags, clientdata, ::core::mem::transmute(context.as_ptr()), context.len().try_into().unwrap()).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks2(&self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks2)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| pub unsafe fn GetFunctionInfo2(&self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionInfo2)(::windows_core::Interface::as_raw(self), funcid, frameinfo, pclassid, pmoduleid, ptoken, ctypeargs, pctypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetStringLayout(&self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetStringLayout)(::windows_core::Interface::as_raw(self), pbufferlengthoffset, pstringlengthoffset, pbufferoffset).ok() |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn GetClassLayout(&self, classid: usize, rfieldoffset: *mut super::super::WinRT::Metadata::COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClassLayout)(::windows_core::Interface::as_raw(self), classid, rfieldoffset, cfieldoffset, pcfieldoffset, pulclasssize).ok() |
| } |
| pub unsafe fn GetClassIDInfo2(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClassIDInfo2)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken, pparentclassid, cnumtypeargs, pcnumtypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetCodeInfo2(&self, functionid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCodeInfo2)(::windows_core::Interface::as_raw(self), functionid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() |
| } |
| pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainStaticAddress(&self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetAppDomainStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, ppaddress).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress(&self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetThreadStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetContextStaticAddress(&self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetContextStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, contextid, ppaddress).ok() |
| } |
| pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result<COR_PRF_STATIC_TYPE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() |
| } |
| pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result<COR_PRF_GC_GENERATION_RANGE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result<COR_PRF_EX_CLAUSE_INFO> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper2(&self, pfunc: *const FunctionIDMapper2, clientdata: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetFunctionIDMapper2)(::windows_core::Interface::as_raw(self), pfunc, clientdata).ok() |
| } |
| pub unsafe fn GetStringLayout2(&self, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetStringLayout2)(::windows_core::Interface::as_raw(self), pstringlengthoffset, pbufferoffset).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3(&self, pfuncenter3: *const FunctionEnter3, pfuncleave3: *const FunctionLeave3, pfunctailcall3: *const FunctionTailcall3) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks3)(::windows_core::Interface::as_raw(self), pfuncenter3, pfuncleave3, pfunctailcall3).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3WithInfo(&self, pfuncenter3withinfo: *const FunctionEnter3WithInfo, pfuncleave3withinfo: *const FunctionLeave3WithInfo, pfunctailcall3withinfo: *const FunctionTailcall3WithInfo) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks3WithInfo)(::windows_core::Interface::as_raw(self), pfuncenter3withinfo, pfuncleave3withinfo, pfunctailcall3withinfo).ok() |
| } |
| pub unsafe fn GetFunctionEnter3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pcbargumentinfo: *mut u32, pargumentinfo: *mut COR_PRF_FUNCTION_ARGUMENT_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionEnter3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pcbargumentinfo, pargumentinfo).ok() |
| } |
| pub unsafe fn GetFunctionLeave3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pretvalrange: *mut COR_PRF_FUNCTION_ARGUMENT_RANGE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionLeave3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pretvalrange).ok() |
| } |
| pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModules(&self) -> ::windows_core::Result<ICorProfilerModuleEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress2(&self, classid: usize, fieldtoken: u32, appdomainid: usize, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetThreadStaticAddress2)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainsContainingModule(&self, moduleid: usize, pcappdomainids: *mut u32, appdomainids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetAppDomainsContainingModule)(::windows_core::Interface::as_raw(self), moduleid, appdomainids.len().try_into().unwrap(), pcappdomainids, ::core::mem::transmute(appdomainids.as_ptr())).ok() |
| } |
| pub unsafe fn GetModuleInfo2(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize, pdwmoduleflags: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetModuleInfo2)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid, pdwmoduleflags).ok() |
| } |
| pub unsafe fn EnumThreads(&self) -> ::windows_core::Result<ICorProfilerThreadEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RequestReJIT(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RequestReJIT)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn RequestRevert(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32, status: *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RequestRevert)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids, status).ok() |
| } |
| pub unsafe fn GetCodeInfo3(&self, functionid: usize, rejitid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCodeInfo3)(::windows_core::Interface::as_raw(self), functionid, rejitid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetFunctionFromIP2(&self, ip: *const u8, pfunctionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionFromIP2)(::windows_core::Interface::as_raw(self), ip, pfunctionid, prejitid).ok() |
| } |
| pub unsafe fn GetReJITIDs(&self, functionid: usize, pcrejitids: *mut u32, rejitids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetReJITIDs)(::windows_core::Interface::as_raw(self), functionid, rejitids.len().try_into().unwrap(), pcrejitids, ::core::mem::transmute(rejitids.as_ptr())).ok() |
| } |
| pub unsafe fn GetILToNativeMapping2(&self, functionid: usize, rejitid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetILToNativeMapping2)(::windows_core::Interface::as_raw(self), functionid, rejitid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() |
| } |
| pub unsafe fn SetEventMask2(&self, dweventslow: u32, dweventshigh: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.SetEventMask2)(::windows_core::Interface::as_raw(self), dweventslow, dweventshigh).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EnumNgenModuleMethodsInliningThisMethod(&self, inlinersmoduleid: usize, inlineemoduleid: usize, inlineemethodid: u32, incompletedata: *mut super::super::super::Foundation::BOOL, ppenum: *mut ::core::option::Option<ICorProfilerMethodEnum>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.EnumNgenModuleMethodsInliningThisMethod)(::windows_core::Interface::as_raw(self), inlinersmoduleid, inlineemoduleid, inlineemethodid, incompletedata, ::core::mem::transmute(ppenum)).ok() |
| } |
| pub unsafe fn ApplyMetaData(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ApplyMetaData)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn IsFunctionDynamic(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP3(&self, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetFunctionFromIP3)(::windows_core::Interface::as_raw(self), ip, functionid, prejitid).ok() |
| } |
| pub unsafe fn GetDynamicFunctionInfo(&self, functionid: usize, moduleid: *mut usize, ppvsig: *mut *mut u8, pbsig: *mut u32, cchname: u32, pcchname: *mut u32, wszname: ::windows_core::PWSTR) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetDynamicFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, moduleid, ppvsig, pbsig, cchname, pcchname, ::core::mem::transmute(wszname)).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerInfo8, ::windows_core::IUnknown, ICorProfilerInfo, ICorProfilerInfo2, ICorProfilerInfo3, ICorProfilerInfo4, ICorProfilerInfo5, ICorProfilerInfo6, ICorProfilerInfo7); |
| unsafe impl ::windows_core::Interface for ICorProfilerInfo8 { |
| type Vtable = ICorProfilerInfo8_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerInfo8 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xc5ac80a6_782e_4716_8044_39598c60cfbf); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerInfo8_Vtbl { |
| pub base__: ICorProfilerInfo7_Vtbl, |
| #[cfg(feature = "Win32_Foundation")] |
| pub IsFunctionDynamic: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, isdynamic: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Win32_Foundation"))] |
| IsFunctionDynamic: usize, |
| pub GetFunctionFromIP3: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::HRESULT, |
| pub GetDynamicFunctionInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, moduleid: *mut usize, ppvsig: *mut *mut u8, pbsig: *mut u32, cchname: u32, pcchname: *mut u32, wszname: ::windows_core::PWSTR) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerInfo9(::windows_core::IUnknown); |
| impl ICorProfilerInfo9 { |
| pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() |
| } |
| pub unsafe fn GetEventMask(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result<super::super::super::Foundation::HANDLE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.IsArrayClass)(::windows_core::Interface::as_raw(self), classid, pbaseelemtype, pbaseclassid, pcrank).ok() |
| } |
| pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() |
| } |
| pub unsafe fn GetFunctionInfo(&self, functionid: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, pclassid, pmoduleid, ptoken).ok() |
| } |
| pub unsafe fn SetEventMask(&self, dwevents: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetEventMask)(::windows_core::Interface::as_raw(self), dwevents).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks(&self, pfuncenter: *const FunctionEnter, pfuncleave: *const FunctionLeave, pfunctailcall: *const FunctionTailcall) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper(&self, pfunc: *const FunctionIDMapper) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionIDMapper)(::windows_core::Interface::as_raw(self), pfunc).ok() |
| } |
| pub unsafe fn GetTokenAndMetaDataFromFunction(&self, functionid: usize, riid: *const ::windows_core::GUID, ppimport: *mut ::core::option::Option<::windows_core::IUnknown>, ptoken: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetTokenAndMetaDataFromFunction)(::windows_core::Interface::as_raw(self), functionid, riid, ::core::mem::transmute(ppimport), ptoken).ok() |
| } |
| pub unsafe fn GetModuleInfo(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetModuleInfo)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid).ok() |
| } |
| pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() |
| } |
| pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result<IMethodMalloc> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() |
| } |
| pub unsafe fn GetAppDomainInfo(&self, appdomainid: usize, pcchname: *mut u32, szname: &mut [u16], pprocessid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetAppDomainInfo)(::windows_core::Interface::as_raw(self), appdomainid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pprocessid).ok() |
| } |
| pub unsafe fn GetAssemblyInfo(&self, assemblyid: usize, pcchname: *mut u32, szname: &mut [u16], pappdomainid: *mut usize, pmoduleid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetAssemblyInfo)(::windows_core::Interface::as_raw(self), assemblyid, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), pappdomainid, pmoduleid).ok() |
| } |
| pub unsafe fn SetFunctionReJIT(&self, functionid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetFunctionReJIT)(::windows_core::Interface::as_raw(self), functionid).ok() |
| } |
| pub unsafe fn ForceGC(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ForceGC)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetILInstrumentedCodeMap<P0>(&self, functionid: usize, fstartjit: P0, rgilmapentries: &[COR_IL_MAP]) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetILInstrumentedCodeMap)(::windows_core::Interface::as_raw(self), functionid, fstartjit.into_param().abi(), rgilmapentries.len().try_into().unwrap(), ::core::mem::transmute(rgilmapentries.as_ptr())).ok() |
| } |
| pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn BeginInprocDebugging<P0>(&self, fthisthreadonly: P0) -> ::windows_core::Result<u32> |
| where |
| P0: ::windows_core::IntoParam<super::super::super::Foundation::BOOL>, |
| { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() |
| } |
| pub unsafe fn GetILToNativeMapping(&self, functionid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetILToNativeMapping)(::windows_core::Interface::as_raw(self), functionid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn DoStackSnapshot(&self, thread: usize, callback: *const StackSnapshotCallback, infoflags: u32, clientdata: *const ::core::ffi::c_void, context: &[u8]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.DoStackSnapshot)(::windows_core::Interface::as_raw(self), thread, callback, infoflags, clientdata, ::core::mem::transmute(context.as_ptr()), context.len().try_into().unwrap()).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks2(&self, pfuncenter: *const FunctionEnter2, pfuncleave: *const FunctionLeave2, pfunctailcall: *const FunctionTailcall2) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks2)(::windows_core::Interface::as_raw(self), pfuncenter, pfuncleave, pfunctailcall).ok() |
| } |
| pub unsafe fn GetFunctionInfo2(&self, funcid: usize, frameinfo: usize, pclassid: *mut usize, pmoduleid: *mut usize, ptoken: *mut u32, ctypeargs: u32, pctypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionInfo2)(::windows_core::Interface::as_raw(self), funcid, frameinfo, pclassid, pmoduleid, ptoken, ctypeargs, pctypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetStringLayout(&self, pbufferlengthoffset: *mut u32, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetStringLayout)(::windows_core::Interface::as_raw(self), pbufferlengthoffset, pstringlengthoffset, pbufferoffset).ok() |
| } |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub unsafe fn GetClassLayout(&self, classid: usize, rfieldoffset: *mut super::super::WinRT::Metadata::COR_FIELD_OFFSET, cfieldoffset: u32, pcfieldoffset: *mut u32, pulclasssize: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClassLayout)(::windows_core::Interface::as_raw(self), classid, rfieldoffset, cfieldoffset, pcfieldoffset, pulclasssize).ok() |
| } |
| pub unsafe fn GetClassIDInfo2(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32, pparentclassid: *mut usize, cnumtypeargs: u32, pcnumtypeargs: *mut u32, typeargs: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo2)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken, pparentclassid, cnumtypeargs, pcnumtypeargs, typeargs).ok() |
| } |
| pub unsafe fn GetCodeInfo2(&self, functionid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCodeInfo2)(::windows_core::Interface::as_raw(self), functionid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() |
| } |
| pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainStaticAddress(&self, classid: usize, fieldtoken: u32, appdomainid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetAppDomainStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, ppaddress).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress(&self, classid: usize, fieldtoken: u32, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetThreadStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetContextStaticAddress(&self, classid: usize, fieldtoken: u32, contextid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetContextStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, contextid, ppaddress).ok() |
| } |
| pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result<COR_PRF_STATIC_TYPE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() |
| } |
| pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result<COR_PRF_GC_GENERATION_RANGE> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result<COR_PRF_EX_CLAUSE_INFO> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn SetFunctionIDMapper2(&self, pfunc: *const FunctionIDMapper2, clientdata: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetFunctionIDMapper2)(::windows_core::Interface::as_raw(self), pfunc, clientdata).ok() |
| } |
| pub unsafe fn GetStringLayout2(&self, pstringlengthoffset: *mut u32, pbufferoffset: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetStringLayout2)(::windows_core::Interface::as_raw(self), pstringlengthoffset, pbufferoffset).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3(&self, pfuncenter3: *const FunctionEnter3, pfuncleave3: *const FunctionLeave3, pfunctailcall3: *const FunctionTailcall3) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks3)(::windows_core::Interface::as_raw(self), pfuncenter3, pfuncleave3, pfunctailcall3).ok() |
| } |
| pub unsafe fn SetEnterLeaveFunctionHooks3WithInfo(&self, pfuncenter3withinfo: *const FunctionEnter3WithInfo, pfuncleave3withinfo: *const FunctionLeave3WithInfo, pfunctailcall3withinfo: *const FunctionTailcall3WithInfo) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetEnterLeaveFunctionHooks3WithInfo)(::windows_core::Interface::as_raw(self), pfuncenter3withinfo, pfuncleave3withinfo, pfunctailcall3withinfo).ok() |
| } |
| pub unsafe fn GetFunctionEnter3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pcbargumentinfo: *mut u32, pargumentinfo: *mut COR_PRF_FUNCTION_ARGUMENT_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionEnter3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pcbargumentinfo, pargumentinfo).ok() |
| } |
| pub unsafe fn GetFunctionLeave3Info(&self, functionid: usize, eltinfo: usize, pframeinfo: *mut usize, pretvalrange: *mut COR_PRF_FUNCTION_ARGUMENT_RANGE) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionLeave3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, pframeinfo, pretvalrange).ok() |
| } |
| pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn EnumModules(&self) -> ::windows_core::Result<ICorProfilerModuleEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() |
| } |
| pub unsafe fn GetThreadStaticAddress2(&self, classid: usize, fieldtoken: u32, appdomainid: usize, threadid: usize, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetThreadStaticAddress2)(::windows_core::Interface::as_raw(self), classid, fieldtoken, appdomainid, threadid, ppaddress).ok() |
| } |
| pub unsafe fn GetAppDomainsContainingModule(&self, moduleid: usize, pcappdomainids: *mut u32, appdomainids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetAppDomainsContainingModule)(::windows_core::Interface::as_raw(self), moduleid, appdomainids.len().try_into().unwrap(), pcappdomainids, ::core::mem::transmute(appdomainids.as_ptr())).ok() |
| } |
| pub unsafe fn GetModuleInfo2(&self, moduleid: usize, ppbaseloadaddress: *mut *mut u8, pcchname: *mut u32, szname: &mut [u16], passemblyid: *mut usize, pdwmoduleflags: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetModuleInfo2)(::windows_core::Interface::as_raw(self), moduleid, ppbaseloadaddress, szname.len().try_into().unwrap(), pcchname, ::core::mem::transmute(szname.as_ptr()), passemblyid, pdwmoduleflags).ok() |
| } |
| pub unsafe fn EnumThreads(&self) -> ::windows_core::Result<ICorProfilerThreadEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn RequestReJIT(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RequestReJIT)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids).ok() |
| } |
| pub unsafe fn RequestRevert(&self, cfunctions: u32, moduleids: *const usize, methodids: *const u32, status: *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RequestRevert)(::windows_core::Interface::as_raw(self), cfunctions, moduleids, methodids, status).ok() |
| } |
| pub unsafe fn GetCodeInfo3(&self, functionid: usize, rejitid: usize, pccodeinfos: *mut u32, codeinfos: &mut [COR_PRF_CODE_INFO]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCodeInfo3)(::windows_core::Interface::as_raw(self), functionid, rejitid, codeinfos.len().try_into().unwrap(), pccodeinfos, ::core::mem::transmute(codeinfos.as_ptr())).ok() |
| } |
| pub unsafe fn GetFunctionFromIP2(&self, ip: *const u8, pfunctionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionFromIP2)(::windows_core::Interface::as_raw(self), ip, pfunctionid, prejitid).ok() |
| } |
| pub unsafe fn GetReJITIDs(&self, functionid: usize, pcrejitids: *mut u32, rejitids: &mut [usize]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetReJITIDs)(::windows_core::Interface::as_raw(self), functionid, rejitids.len().try_into().unwrap(), pcrejitids, ::core::mem::transmute(rejitids.as_ptr())).ok() |
| } |
| pub unsafe fn GetILToNativeMapping2(&self, functionid: usize, rejitid: usize, pcmap: *mut u32, map: &mut [COR_DEBUG_IL_TO_NATIVE_MAP]) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetILToNativeMapping2)(::windows_core::Interface::as_raw(self), functionid, rejitid, map.len().try_into().unwrap(), pcmap, ::core::mem::transmute(map.as_ptr())).ok() |
| } |
| pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result<ICorProfilerFunctionEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result<usize> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() |
| } |
| pub unsafe fn SetEventMask2(&self, dweventslow: u32, dweventshigh: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetEventMask2)(::windows_core::Interface::as_raw(self), dweventslow, dweventshigh).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn EnumNgenModuleMethodsInliningThisMethod(&self, inlinersmoduleid: usize, inlineemoduleid: usize, inlineemethodid: u32, incompletedata: *mut super::super::super::Foundation::BOOL, ppenum: *mut ::core::option::Option<ICorProfilerMethodEnum>) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.base__.EnumNgenModuleMethodsInliningThisMethod)(::windows_core::Interface::as_raw(self), inlinersmoduleid, inlineemoduleid, inlineemethodid, incompletedata, ::core::mem::transmute(ppenum)).ok() |
| } |
| pub unsafe fn ApplyMetaData(&self, moduleid: usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ApplyMetaData)(::windows_core::Interface::as_raw(self), moduleid).ok() |
| } |
| pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.base__.ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() |
| } |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub unsafe fn IsFunctionDynamic(&self, functionid: usize) -> ::windows_core::Result<super::super::super::Foundation::BOOL> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetFunctionFromIP3(&self, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetFunctionFromIP3)(::windows_core::Interface::as_raw(self), ip, functionid, prejitid).ok() |
| } |
| pub unsafe fn GetDynamicFunctionInfo(&self, functionid: usize, moduleid: *mut usize, ppvsig: *mut *mut u8, pbsig: *mut u32, cchname: u32, pcchname: *mut u32, wszname: ::windows_core::PWSTR) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).base__.GetDynamicFunctionInfo)(::windows_core::Interface::as_raw(self), functionid, moduleid, ppvsig, pbsig, cchname, pcchname, ::core::mem::transmute(wszname)).ok() |
| } |
| pub unsafe fn GetNativeCodeStartAddresses(&self, functionid: usize, rejitid: usize, ccodestartaddresses: u32, pccodestartaddresses: *mut u32, codestartaddresses: *mut usize) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetNativeCodeStartAddresses)(::windows_core::Interface::as_raw(self), functionid, rejitid, ccodestartaddresses, pccodestartaddresses, codestartaddresses).ok() |
| } |
| pub unsafe fn GetILToNativeMapping3(&self, pnativecodestartaddress: usize, cmap: u32, pcmap: *mut u32, map: *mut COR_DEBUG_IL_TO_NATIVE_MAP) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetILToNativeMapping3)(::windows_core::Interface::as_raw(self), pnativecodestartaddress, cmap, pcmap, map).ok() |
| } |
| pub unsafe fn GetCodeInfo4(&self, pnativecodestartaddress: usize, ccodeinfos: u32, pccodeinfos: *mut u32, codeinfos: *mut COR_PRF_CODE_INFO) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).GetCodeInfo4)(::windows_core::Interface::as_raw(self), pnativecodestartaddress, ccodeinfos, pccodeinfos, codeinfos).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerInfo9, ::windows_core::IUnknown, ICorProfilerInfo, ICorProfilerInfo2, ICorProfilerInfo3, ICorProfilerInfo4, ICorProfilerInfo5, ICorProfilerInfo6, ICorProfilerInfo7, ICorProfilerInfo8); |
| unsafe impl ::windows_core::Interface for ICorProfilerInfo9 { |
| type Vtable = ICorProfilerInfo9_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerInfo9 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x008170db_f8cc_4796_9a51_dc8aa0b47012); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerInfo9_Vtbl { |
| pub base__: ICorProfilerInfo8_Vtbl, |
| pub GetNativeCodeStartAddresses: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionid: usize, rejitid: usize, ccodestartaddresses: u32, pccodestartaddresses: *mut u32, codestartaddresses: *mut usize) -> ::windows_core::HRESULT, |
| pub GetILToNativeMapping3: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pnativecodestartaddress: usize, cmap: u32, pcmap: *mut u32, map: *mut COR_DEBUG_IL_TO_NATIVE_MAP) -> ::windows_core::HRESULT, |
| pub GetCodeInfo4: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pnativecodestartaddress: usize, ccodeinfos: u32, pccodeinfos: *mut u32, codeinfos: *mut COR_PRF_CODE_INFO) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerMethodEnum(::windows_core::IUnknown); |
| impl ICorProfilerMethodEnum { |
| pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt).ok() |
| } |
| pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn Clone(&self) -> ::windows_core::Result<ICorProfilerMethodEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCount(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn Next(&self, elements: &mut [COR_PRF_METHOD], pceltfetched: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), elements.len().try_into().unwrap(), ::core::mem::transmute(elements.as_ptr()), pceltfetched).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerMethodEnum, ::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for ICorProfilerMethodEnum { |
| type Vtable = ICorProfilerMethodEnum_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerMethodEnum { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xfccee788_0088_454b_a811_c99f298d1942); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerMethodEnum_Vtbl { |
| pub base__: ::windows_core::IUnknown_Vtbl, |
| pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT, |
| pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcelt: *mut u32) -> ::windows_core::HRESULT, |
| pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, elements: *mut COR_PRF_METHOD, pceltfetched: *mut u32) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerModuleEnum(::windows_core::IUnknown); |
| impl ICorProfilerModuleEnum { |
| pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt).ok() |
| } |
| pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn Clone(&self) -> ::windows_core::Result<ICorProfilerModuleEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCount(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn Next(&self, ids: &mut [usize], pceltfetched: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ids.len().try_into().unwrap(), ::core::mem::transmute(ids.as_ptr()), pceltfetched).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerModuleEnum, ::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for ICorProfilerModuleEnum { |
| type Vtable = ICorProfilerModuleEnum_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerModuleEnum { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xb0266d75_2081_4493_af7f_028ba34db891); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerModuleEnum_Vtbl { |
| pub base__: ::windows_core::IUnknown_Vtbl, |
| pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT, |
| pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcelt: *mut u32) -> ::windows_core::HRESULT, |
| pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, ids: *mut usize, pceltfetched: *mut u32) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerObjectEnum(::windows_core::IUnknown); |
| impl ICorProfilerObjectEnum { |
| pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt).ok() |
| } |
| pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn Clone(&self) -> ::windows_core::Result<ICorProfilerObjectEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCount(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn Next(&self, objects: &mut [usize], pceltfetched: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), objects.len().try_into().unwrap(), ::core::mem::transmute(objects.as_ptr()), pceltfetched).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerObjectEnum, ::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for ICorProfilerObjectEnum { |
| type Vtable = ICorProfilerObjectEnum_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerObjectEnum { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x2c6269bd_2d13_4321_ae12_6686365fd6af); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerObjectEnum_Vtbl { |
| pub base__: ::windows_core::IUnknown_Vtbl, |
| pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT, |
| pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcelt: *mut u32) -> ::windows_core::HRESULT, |
| pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, objects: *mut usize, pceltfetched: *mut u32) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct ICorProfilerThreadEnum(::windows_core::IUnknown); |
| impl ICorProfilerThreadEnum { |
| pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt).ok() |
| } |
| pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() |
| } |
| pub unsafe fn Clone(&self) -> ::windows_core::Result<ICorProfilerThreadEnum> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn GetCount(&self) -> ::windows_core::Result<u32> { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) |
| } |
| pub unsafe fn Next(&self, ids: &mut [usize], pceltfetched: *mut u32) -> ::windows_core::Result<()> { |
| (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ids.len().try_into().unwrap(), ::core::mem::transmute(ids.as_ptr()), pceltfetched).ok() |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(ICorProfilerThreadEnum, ::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for ICorProfilerThreadEnum { |
| type Vtable = ICorProfilerThreadEnum_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ICorProfilerThreadEnum { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x571194f7_25ed_419f_aa8b_7016b3159701); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICorProfilerThreadEnum_Vtbl { |
| pub base__: ::windows_core::IUnknown_Vtbl, |
| pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT, |
| pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub GetCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcelt: *mut u32) -> ::windows_core::HRESULT, |
| pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, ids: *mut usize, pceltfetched: *mut u32) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] |
| pub struct IMethodMalloc(::windows_core::IUnknown); |
| impl IMethodMalloc { |
| pub unsafe fn Alloc(&self, cb: u32) -> *mut ::core::ffi::c_void { |
| (::windows_core::Interface::vtable(self).Alloc)(::windows_core::Interface::as_raw(self), cb) |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(IMethodMalloc, ::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for IMethodMalloc { |
| type Vtable = IMethodMalloc_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for IMethodMalloc { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xa0efb28b_6ee2_4d7b_b983_a75ef7beedb8); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IMethodMalloc_Vtbl { |
| pub base__: ::windows_core::IUnknown_Vtbl, |
| pub Alloc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cb: u32) -> *mut ::core::ffi::c_void, |
| } |
| pub const COR_PRF_ALL: COR_PRF_MONITOR = COR_PRF_MONITOR(-1879048193i32); |
| pub const COR_PRF_ALLOWABLE_AFTER_ATTACH: COR_PRF_MONITOR = COR_PRF_MONITOR(268763902i32); |
| pub const COR_PRF_ALLOWABLE_NOTIFICATION_PROFILER: COR_PRF_MONITOR = COR_PRF_MONITOR(-1310512257i32); |
| pub const COR_PRF_CACHED_FUNCTION_FOUND: COR_PRF_JIT_CACHE = COR_PRF_JIT_CACHE(0i32); |
| pub const COR_PRF_CACHED_FUNCTION_NOT_FOUND: COR_PRF_JIT_CACHE = COR_PRF_JIT_CACHE(1i32); |
| pub const COR_PRF_CLAUSE_CATCH: COR_PRF_CLAUSE_TYPE = COR_PRF_CLAUSE_TYPE(2i32); |
| pub const COR_PRF_CLAUSE_FILTER: COR_PRF_CLAUSE_TYPE = COR_PRF_CLAUSE_TYPE(1i32); |
| pub const COR_PRF_CLAUSE_FINALLY: COR_PRF_CLAUSE_TYPE = COR_PRF_CLAUSE_TYPE(3i32); |
| pub const COR_PRF_CLAUSE_NONE: COR_PRF_CLAUSE_TYPE = COR_PRF_CLAUSE_TYPE(0i32); |
| pub const COR_PRF_CODEGEN_DISABLE_ALL_OPTIMIZATIONS: COR_PRF_CODEGEN_FLAGS = COR_PRF_CODEGEN_FLAGS(2i32); |
| pub const COR_PRF_CODEGEN_DISABLE_INLINING: COR_PRF_CODEGEN_FLAGS = COR_PRF_CODEGEN_FLAGS(1i32); |
| pub const COR_PRF_CORE_CLR: COR_PRF_RUNTIME_TYPE = COR_PRF_RUNTIME_TYPE(2i32); |
| pub const COR_PRF_DESKTOP_CLR: COR_PRF_RUNTIME_TYPE = COR_PRF_RUNTIME_TYPE(1i32); |
| pub const COR_PRF_DISABLE_ALL_NGEN_IMAGES: COR_PRF_MONITOR = COR_PRF_MONITOR(-2147483648i32); |
| pub const COR_PRF_DISABLE_INLINING: COR_PRF_MONITOR = COR_PRF_MONITOR(2097152i32); |
| pub const COR_PRF_DISABLE_OPTIMIZATIONS: COR_PRF_MONITOR = COR_PRF_MONITOR(4194304i32); |
| pub const COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST: COR_PRF_MONITOR = COR_PRF_MONITOR(1073741824i32); |
| pub const COR_PRF_ENABLE_FRAME_INFO: COR_PRF_MONITOR = COR_PRF_MONITOR(134217728i32); |
| pub const COR_PRF_ENABLE_FUNCTION_ARGS: COR_PRF_MONITOR = COR_PRF_MONITOR(33554432i32); |
| pub const COR_PRF_ENABLE_FUNCTION_RETVAL: COR_PRF_MONITOR = COR_PRF_MONITOR(67108864i32); |
| pub const COR_PRF_ENABLE_INPROC_DEBUGGING: COR_PRF_MONITOR = COR_PRF_MONITOR(524288i32); |
| pub const COR_PRF_ENABLE_JIT_MAPS: COR_PRF_MONITOR = COR_PRF_MONITOR(1048576i32); |
| pub const COR_PRF_ENABLE_OBJECT_ALLOCATED: COR_PRF_MONITOR = COR_PRF_MONITOR(8388608i32); |
| pub const COR_PRF_ENABLE_REJIT: COR_PRF_MONITOR = COR_PRF_MONITOR(262144i32); |
| pub const COR_PRF_ENABLE_STACK_SNAPSHOT: COR_PRF_MONITOR = COR_PRF_MONITOR(268435456i32); |
| pub const COR_PRF_EVENTPIPE_ARRAY: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(19i32); |
| pub const COR_PRF_EVENTPIPE_BOOLEAN: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(3i32); |
| pub const COR_PRF_EVENTPIPE_BYTE: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(6i32); |
| pub const COR_PRF_EVENTPIPE_CHAR: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(4i32); |
| pub const COR_PRF_EVENTPIPE_CRITICAL: COR_PRF_EVENTPIPE_LEVEL = COR_PRF_EVENTPIPE_LEVEL(1i32); |
| pub const COR_PRF_EVENTPIPE_DATETIME: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(16i32); |
| pub const COR_PRF_EVENTPIPE_DECIMAL: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(15i32); |
| pub const COR_PRF_EVENTPIPE_DOUBLE: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(14i32); |
| pub const COR_PRF_EVENTPIPE_ERROR: COR_PRF_EVENTPIPE_LEVEL = COR_PRF_EVENTPIPE_LEVEL(2i32); |
| pub const COR_PRF_EVENTPIPE_GUID: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(17i32); |
| pub const COR_PRF_EVENTPIPE_INFORMATIONAL: COR_PRF_EVENTPIPE_LEVEL = COR_PRF_EVENTPIPE_LEVEL(4i32); |
| pub const COR_PRF_EVENTPIPE_INT16: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(7i32); |
| pub const COR_PRF_EVENTPIPE_INT32: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(9i32); |
| pub const COR_PRF_EVENTPIPE_INT64: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(11i32); |
| pub const COR_PRF_EVENTPIPE_LOGALWAYS: COR_PRF_EVENTPIPE_LEVEL = COR_PRF_EVENTPIPE_LEVEL(0i32); |
| pub const COR_PRF_EVENTPIPE_OBJECT: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(1i32); |
| pub const COR_PRF_EVENTPIPE_SBYTE: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(5i32); |
| pub const COR_PRF_EVENTPIPE_SINGLE: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(13i32); |
| pub const COR_PRF_EVENTPIPE_STRING: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(18i32); |
| pub const COR_PRF_EVENTPIPE_UINT16: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(8i32); |
| pub const COR_PRF_EVENTPIPE_UINT32: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(10i32); |
| pub const COR_PRF_EVENTPIPE_UINT64: COR_PRF_EVENTPIPE_PARAM_TYPE = COR_PRF_EVENTPIPE_PARAM_TYPE(12i32); |
| pub const COR_PRF_EVENTPIPE_VERBOSE: COR_PRF_EVENTPIPE_LEVEL = COR_PRF_EVENTPIPE_LEVEL(5i32); |
| pub const COR_PRF_EVENTPIPE_WARNING: COR_PRF_EVENTPIPE_LEVEL = COR_PRF_EVENTPIPE_LEVEL(3i32); |
| pub const COR_PRF_FIELD_APP_DOMAIN_STATIC: COR_PRF_STATIC_TYPE = COR_PRF_STATIC_TYPE(1i32); |
| pub const COR_PRF_FIELD_CONTEXT_STATIC: COR_PRF_STATIC_TYPE = COR_PRF_STATIC_TYPE(4i32); |
| pub const COR_PRF_FIELD_NOT_A_STATIC: COR_PRF_STATIC_TYPE = COR_PRF_STATIC_TYPE(0i32); |
| pub const COR_PRF_FIELD_RVA_STATIC: COR_PRF_STATIC_TYPE = COR_PRF_STATIC_TYPE(8i32); |
| pub const COR_PRF_FIELD_THREAD_STATIC: COR_PRF_STATIC_TYPE = COR_PRF_STATIC_TYPE(2i32); |
| pub const COR_PRF_FINALIZER_CRITICAL: COR_PRF_FINALIZER_FLAGS = COR_PRF_FINALIZER_FLAGS(1i32); |
| pub const COR_PRF_GC_GEN_0: COR_PRF_GC_GENERATION = COR_PRF_GC_GENERATION(0i32); |
| pub const COR_PRF_GC_GEN_1: COR_PRF_GC_GENERATION = COR_PRF_GC_GENERATION(1i32); |
| pub const COR_PRF_GC_GEN_2: COR_PRF_GC_GENERATION = COR_PRF_GC_GENERATION(2i32); |
| pub const COR_PRF_GC_INDUCED: COR_PRF_GC_REASON = COR_PRF_GC_REASON(1i32); |
| pub const COR_PRF_GC_LARGE_OBJECT_HEAP: COR_PRF_GC_GENERATION = COR_PRF_GC_GENERATION(3i32); |
| pub const COR_PRF_GC_OTHER: COR_PRF_GC_REASON = COR_PRF_GC_REASON(0i32); |
| pub const COR_PRF_GC_PINNED_OBJECT_HEAP: COR_PRF_GC_GENERATION = COR_PRF_GC_GENERATION(4i32); |
| pub const COR_PRF_GC_ROOT_FINALIZER: COR_PRF_GC_ROOT_KIND = COR_PRF_GC_ROOT_KIND(2i32); |
| pub const COR_PRF_GC_ROOT_HANDLE: COR_PRF_GC_ROOT_KIND = COR_PRF_GC_ROOT_KIND(3i32); |
| pub const COR_PRF_GC_ROOT_INTERIOR: COR_PRF_GC_ROOT_FLAGS = COR_PRF_GC_ROOT_FLAGS(4i32); |
| pub const COR_PRF_GC_ROOT_OTHER: COR_PRF_GC_ROOT_KIND = COR_PRF_GC_ROOT_KIND(0i32); |
| pub const COR_PRF_GC_ROOT_PINNING: COR_PRF_GC_ROOT_FLAGS = COR_PRF_GC_ROOT_FLAGS(1i32); |
| pub const COR_PRF_GC_ROOT_REFCOUNTED: COR_PRF_GC_ROOT_FLAGS = COR_PRF_GC_ROOT_FLAGS(8i32); |
| pub const COR_PRF_GC_ROOT_STACK: COR_PRF_GC_ROOT_KIND = COR_PRF_GC_ROOT_KIND(1i32); |
| pub const COR_PRF_GC_ROOT_WEAKREF: COR_PRF_GC_ROOT_FLAGS = COR_PRF_GC_ROOT_FLAGS(2i32); |
| pub const COR_PRF_HANDLE_TYPE_PINNED: COR_PRF_HANDLE_TYPE = COR_PRF_HANDLE_TYPE(3i32); |
| pub const COR_PRF_HANDLE_TYPE_STRONG: COR_PRF_HANDLE_TYPE = COR_PRF_HANDLE_TYPE(2i32); |
| pub const COR_PRF_HANDLE_TYPE_WEAK: COR_PRF_HANDLE_TYPE = COR_PRF_HANDLE_TYPE(1i32); |
| pub const COR_PRF_HIGH_ADD_ASSEMBLY_REFERENCES: COR_PRF_HIGH_MONITOR = COR_PRF_HIGH_MONITOR(1i32); |
| pub const COR_PRF_HIGH_ALLOWABLE_AFTER_ATTACH: COR_PRF_HIGH_MONITOR = COR_PRF_HIGH_MONITOR(246i32); |
| pub const COR_PRF_HIGH_ALLOWABLE_NOTIFICATION_PROFILER: COR_PRF_HIGH_MONITOR = COR_PRF_HIGH_MONITOR(254i32); |
| pub const COR_PRF_HIGH_BASIC_GC: COR_PRF_HIGH_MONITOR = COR_PRF_HIGH_MONITOR(16i32); |
| pub const COR_PRF_HIGH_DISABLE_TIERED_COMPILATION: COR_PRF_HIGH_MONITOR = COR_PRF_HIGH_MONITOR(8i32); |
| pub const COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED: COR_PRF_HIGH_MONITOR = COR_PRF_HIGH_MONITOR(2i32); |
| pub const COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS: COR_PRF_HIGH_MONITOR = COR_PRF_HIGH_MONITOR(4i32); |
| pub const COR_PRF_HIGH_MONITOR_EVENT_PIPE: COR_PRF_HIGH_MONITOR = COR_PRF_HIGH_MONITOR(128i32); |
| pub const COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS: COR_PRF_HIGH_MONITOR = COR_PRF_HIGH_MONITOR(32i32); |
| pub const COR_PRF_HIGH_MONITOR_IMMUTABLE: COR_PRF_HIGH_MONITOR = COR_PRF_HIGH_MONITOR(8i32); |
| pub const COR_PRF_HIGH_MONITOR_LARGEOBJECT_ALLOCATED: COR_PRF_HIGH_MONITOR = COR_PRF_HIGH_MONITOR(64i32); |
| pub const COR_PRF_HIGH_MONITOR_NONE: COR_PRF_HIGH_MONITOR = COR_PRF_HIGH_MONITOR(0i32); |
| pub const COR_PRF_HIGH_MONITOR_PINNEDOBJECT_ALLOCATED: COR_PRF_HIGH_MONITOR = COR_PRF_HIGH_MONITOR(256i32); |
| pub const COR_PRF_HIGH_REQUIRE_PROFILE_IMAGE: COR_PRF_HIGH_MONITOR = COR_PRF_HIGH_MONITOR(0i32); |
| pub const COR_PRF_MODULE_COLLECTIBLE: COR_PRF_MODULE_FLAGS = COR_PRF_MODULE_FLAGS(8i32); |
| pub const COR_PRF_MODULE_DISK: COR_PRF_MODULE_FLAGS = COR_PRF_MODULE_FLAGS(1i32); |
| pub const COR_PRF_MODULE_DYNAMIC: COR_PRF_MODULE_FLAGS = COR_PRF_MODULE_FLAGS(4i32); |
| pub const COR_PRF_MODULE_FLAT_LAYOUT: COR_PRF_MODULE_FLAGS = COR_PRF_MODULE_FLAGS(32i32); |
| pub const COR_PRF_MODULE_NGEN: COR_PRF_MODULE_FLAGS = COR_PRF_MODULE_FLAGS(2i32); |
| pub const COR_PRF_MODULE_RESOURCE: COR_PRF_MODULE_FLAGS = COR_PRF_MODULE_FLAGS(16i32); |
| pub const COR_PRF_MODULE_WINDOWS_RUNTIME: COR_PRF_MODULE_FLAGS = COR_PRF_MODULE_FLAGS(64i32); |
| pub const COR_PRF_MONITOR_ALL: COR_PRF_MONITOR = COR_PRF_MONITOR(17301503i32); |
| pub const COR_PRF_MONITOR_APPDOMAIN_LOADS: COR_PRF_MONITOR = COR_PRF_MONITOR(16i32); |
| pub const COR_PRF_MONITOR_ASSEMBLY_LOADS: COR_PRF_MONITOR = COR_PRF_MONITOR(8i32); |
| pub const COR_PRF_MONITOR_CACHE_SEARCHES: COR_PRF_MONITOR = COR_PRF_MONITOR(131072i32); |
| pub const COR_PRF_MONITOR_CCW: COR_PRF_MONITOR = COR_PRF_MONITOR(8192i32); |
| pub const COR_PRF_MONITOR_CLASS_LOADS: COR_PRF_MONITOR = COR_PRF_MONITOR(2i32); |
| pub const COR_PRF_MONITOR_CLR_EXCEPTIONS: COR_PRF_MONITOR = COR_PRF_MONITOR(16777216i32); |
| pub const COR_PRF_MONITOR_CODE_TRANSITIONS: COR_PRF_MONITOR = COR_PRF_MONITOR(2048i32); |
| pub const COR_PRF_MONITOR_ENTERLEAVE: COR_PRF_MONITOR = COR_PRF_MONITOR(4096i32); |
| pub const COR_PRF_MONITOR_EXCEPTIONS: COR_PRF_MONITOR = COR_PRF_MONITOR(64i32); |
| pub const COR_PRF_MONITOR_FUNCTION_UNLOADS: COR_PRF_MONITOR = COR_PRF_MONITOR(1i32); |
| pub const COR_PRF_MONITOR_GC: COR_PRF_MONITOR = COR_PRF_MONITOR(128i32); |
| pub const COR_PRF_MONITOR_IMMUTABLE: COR_PRF_MONITOR = COR_PRF_MONITOR(-285684736i32); |
| pub const COR_PRF_MONITOR_JIT_COMPILATION: COR_PRF_MONITOR = COR_PRF_MONITOR(32i32); |
| pub const COR_PRF_MONITOR_MODULE_LOADS: COR_PRF_MONITOR = COR_PRF_MONITOR(4i32); |
| pub const COR_PRF_MONITOR_NONE: COR_PRF_MONITOR = COR_PRF_MONITOR(0i32); |
| pub const COR_PRF_MONITOR_OBJECT_ALLOCATED: COR_PRF_MONITOR = COR_PRF_MONITOR(256i32); |
| pub const COR_PRF_MONITOR_REMOTING: COR_PRF_MONITOR = COR_PRF_MONITOR(1024i32); |
| pub const COR_PRF_MONITOR_REMOTING_ASYNC: COR_PRF_MONITOR = COR_PRF_MONITOR(33792i32); |
| pub const COR_PRF_MONITOR_REMOTING_COOKIE: COR_PRF_MONITOR = COR_PRF_MONITOR(17408i32); |
| pub const COR_PRF_MONITOR_SUSPENDS: COR_PRF_MONITOR = COR_PRF_MONITOR(65536i32); |
| pub const COR_PRF_MONITOR_THREADS: COR_PRF_MONITOR = COR_PRF_MONITOR(512i32); |
| pub const COR_PRF_REJIT_BLOCK_INLINING: COR_PRF_REJIT_FLAGS = COR_PRF_REJIT_FLAGS(1i32); |
| pub const COR_PRF_REJIT_INLINING_CALLBACKS: COR_PRF_REJIT_FLAGS = COR_PRF_REJIT_FLAGS(2i32); |
| pub const COR_PRF_REQUIRE_PROFILE_IMAGE: COR_PRF_MONITOR = COR_PRF_MONITOR(536877056i32); |
| pub const COR_PRF_SNAPSHOT_DEFAULT: COR_PRF_SNAPSHOT_INFO = COR_PRF_SNAPSHOT_INFO(0i32); |
| pub const COR_PRF_SNAPSHOT_REGISTER_CONTEXT: COR_PRF_SNAPSHOT_INFO = COR_PRF_SNAPSHOT_INFO(1i32); |
| pub const COR_PRF_SNAPSHOT_X86_OPTIMIZED: COR_PRF_SNAPSHOT_INFO = COR_PRF_SNAPSHOT_INFO(2i32); |
| pub const COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN: COR_PRF_SUSPEND_REASON = COR_PRF_SUSPEND_REASON(2i32); |
| pub const COR_PRF_SUSPEND_FOR_CODE_PITCHING: COR_PRF_SUSPEND_REASON = COR_PRF_SUSPEND_REASON(3i32); |
| pub const COR_PRF_SUSPEND_FOR_GC: COR_PRF_SUSPEND_REASON = COR_PRF_SUSPEND_REASON(1i32); |
| pub const COR_PRF_SUSPEND_FOR_GC_PREP: COR_PRF_SUSPEND_REASON = COR_PRF_SUSPEND_REASON(7i32); |
| pub const COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER: COR_PRF_SUSPEND_REASON = COR_PRF_SUSPEND_REASON(6i32); |
| pub const COR_PRF_SUSPEND_FOR_PROFILER: COR_PRF_SUSPEND_REASON = COR_PRF_SUSPEND_REASON(9i32); |
| pub const COR_PRF_SUSPEND_FOR_REJIT: COR_PRF_SUSPEND_REASON = COR_PRF_SUSPEND_REASON(8i32); |
| pub const COR_PRF_SUSPEND_FOR_SHUTDOWN: COR_PRF_SUSPEND_REASON = COR_PRF_SUSPEND_REASON(4i32); |
| pub const COR_PRF_SUSPEND_OTHER: COR_PRF_SUSPEND_REASON = COR_PRF_SUSPEND_REASON(0i32); |
| pub const COR_PRF_TRANSITION_CALL: COR_PRF_TRANSITION_REASON = COR_PRF_TRANSITION_REASON(0i32); |
| pub const COR_PRF_TRANSITION_RETURN: COR_PRF_TRANSITION_REASON = COR_PRF_TRANSITION_REASON(1i32); |
| pub const COR_PRF_USE_PROFILE_IMAGES: COR_PRF_MONITOR = COR_PRF_MONITOR(536870912i32); |
| pub const EPILOG: CorDebugIlToNativeMappingTypes = CorDebugIlToNativeMappingTypes(-3i32); |
| pub const NO_MAPPING: CorDebugIlToNativeMappingTypes = CorDebugIlToNativeMappingTypes(-1i32); |
| pub const PROFILER_GLOBAL_CLASS: COR_PRF_MISC = COR_PRF_MISC(-2i32); |
| pub const PROFILER_GLOBAL_MODULE: COR_PRF_MISC = COR_PRF_MISC(-1i32); |
| pub const PROFILER_PARENT_UNKNOWN: COR_PRF_MISC = COR_PRF_MISC(-3i32); |
| pub const PROLOG: CorDebugIlToNativeMappingTypes = CorDebugIlToNativeMappingTypes(-2i32); |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_CLAUSE_TYPE(pub i32); |
| impl ::core::marker::Copy for COR_PRF_CLAUSE_TYPE {} |
| impl ::core::clone::Clone for COR_PRF_CLAUSE_TYPE { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_CLAUSE_TYPE { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_CLAUSE_TYPE { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_CLAUSE_TYPE { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_CLAUSE_TYPE").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_CODEGEN_FLAGS(pub i32); |
| impl ::core::marker::Copy for COR_PRF_CODEGEN_FLAGS {} |
| impl ::core::clone::Clone for COR_PRF_CODEGEN_FLAGS { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_CODEGEN_FLAGS { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_CODEGEN_FLAGS { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_CODEGEN_FLAGS { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_CODEGEN_FLAGS").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_EVENTPIPE_LEVEL(pub i32); |
| impl ::core::marker::Copy for COR_PRF_EVENTPIPE_LEVEL {} |
| impl ::core::clone::Clone for COR_PRF_EVENTPIPE_LEVEL { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_EVENTPIPE_LEVEL { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_EVENTPIPE_LEVEL { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_EVENTPIPE_LEVEL { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_EVENTPIPE_LEVEL").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_EVENTPIPE_PARAM_TYPE(pub i32); |
| impl ::core::marker::Copy for COR_PRF_EVENTPIPE_PARAM_TYPE {} |
| impl ::core::clone::Clone for COR_PRF_EVENTPIPE_PARAM_TYPE { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_EVENTPIPE_PARAM_TYPE { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_EVENTPIPE_PARAM_TYPE { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_EVENTPIPE_PARAM_TYPE { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_EVENTPIPE_PARAM_TYPE").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_FINALIZER_FLAGS(pub i32); |
| impl ::core::marker::Copy for COR_PRF_FINALIZER_FLAGS {} |
| impl ::core::clone::Clone for COR_PRF_FINALIZER_FLAGS { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_FINALIZER_FLAGS { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_FINALIZER_FLAGS { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_FINALIZER_FLAGS { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_FINALIZER_FLAGS").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_GC_GENERATION(pub i32); |
| impl ::core::marker::Copy for COR_PRF_GC_GENERATION {} |
| impl ::core::clone::Clone for COR_PRF_GC_GENERATION { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_GC_GENERATION { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_GC_GENERATION { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_GC_GENERATION { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_GC_GENERATION").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_GC_REASON(pub i32); |
| impl ::core::marker::Copy for COR_PRF_GC_REASON {} |
| impl ::core::clone::Clone for COR_PRF_GC_REASON { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_GC_REASON { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_GC_REASON { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_GC_REASON { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_GC_REASON").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_GC_ROOT_FLAGS(pub i32); |
| impl ::core::marker::Copy for COR_PRF_GC_ROOT_FLAGS {} |
| impl ::core::clone::Clone for COR_PRF_GC_ROOT_FLAGS { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_GC_ROOT_FLAGS { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_GC_ROOT_FLAGS { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_GC_ROOT_FLAGS { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_GC_ROOT_FLAGS").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_GC_ROOT_KIND(pub i32); |
| impl ::core::marker::Copy for COR_PRF_GC_ROOT_KIND {} |
| impl ::core::clone::Clone for COR_PRF_GC_ROOT_KIND { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_GC_ROOT_KIND { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_GC_ROOT_KIND { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_GC_ROOT_KIND { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_GC_ROOT_KIND").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_HANDLE_TYPE(pub i32); |
| impl ::core::marker::Copy for COR_PRF_HANDLE_TYPE {} |
| impl ::core::clone::Clone for COR_PRF_HANDLE_TYPE { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_HANDLE_TYPE { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_HANDLE_TYPE { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_HANDLE_TYPE { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_HANDLE_TYPE").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_HIGH_MONITOR(pub i32); |
| impl ::core::marker::Copy for COR_PRF_HIGH_MONITOR {} |
| impl ::core::clone::Clone for COR_PRF_HIGH_MONITOR { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_HIGH_MONITOR { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_HIGH_MONITOR { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_HIGH_MONITOR { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_HIGH_MONITOR").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_JIT_CACHE(pub i32); |
| impl ::core::marker::Copy for COR_PRF_JIT_CACHE {} |
| impl ::core::clone::Clone for COR_PRF_JIT_CACHE { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_JIT_CACHE { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_JIT_CACHE { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_JIT_CACHE { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_JIT_CACHE").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_MISC(pub i32); |
| impl ::core::marker::Copy for COR_PRF_MISC {} |
| impl ::core::clone::Clone for COR_PRF_MISC { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_MISC { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_MISC { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_MISC { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_MISC").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_MODULE_FLAGS(pub i32); |
| impl ::core::marker::Copy for COR_PRF_MODULE_FLAGS {} |
| impl ::core::clone::Clone for COR_PRF_MODULE_FLAGS { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_MODULE_FLAGS { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_MODULE_FLAGS { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_MODULE_FLAGS { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_MODULE_FLAGS").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_MONITOR(pub i32); |
| impl ::core::marker::Copy for COR_PRF_MONITOR {} |
| impl ::core::clone::Clone for COR_PRF_MONITOR { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_MONITOR { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_MONITOR { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_MONITOR { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_MONITOR").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_REJIT_FLAGS(pub i32); |
| impl ::core::marker::Copy for COR_PRF_REJIT_FLAGS {} |
| impl ::core::clone::Clone for COR_PRF_REJIT_FLAGS { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_REJIT_FLAGS { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_REJIT_FLAGS { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_REJIT_FLAGS { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_REJIT_FLAGS").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_RUNTIME_TYPE(pub i32); |
| impl ::core::marker::Copy for COR_PRF_RUNTIME_TYPE {} |
| impl ::core::clone::Clone for COR_PRF_RUNTIME_TYPE { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_RUNTIME_TYPE { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_RUNTIME_TYPE { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_RUNTIME_TYPE { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_RUNTIME_TYPE").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_SNAPSHOT_INFO(pub i32); |
| impl ::core::marker::Copy for COR_PRF_SNAPSHOT_INFO {} |
| impl ::core::clone::Clone for COR_PRF_SNAPSHOT_INFO { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_SNAPSHOT_INFO { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_SNAPSHOT_INFO { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_SNAPSHOT_INFO { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_SNAPSHOT_INFO").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_STATIC_TYPE(pub i32); |
| impl ::core::marker::Copy for COR_PRF_STATIC_TYPE {} |
| impl ::core::clone::Clone for COR_PRF_STATIC_TYPE { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_STATIC_TYPE { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_STATIC_TYPE { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_STATIC_TYPE { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_STATIC_TYPE").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_SUSPEND_REASON(pub i32); |
| impl ::core::marker::Copy for COR_PRF_SUSPEND_REASON {} |
| impl ::core::clone::Clone for COR_PRF_SUSPEND_REASON { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_SUSPEND_REASON { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_SUSPEND_REASON { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_SUSPEND_REASON { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_SUSPEND_REASON").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct COR_PRF_TRANSITION_REASON(pub i32); |
| impl ::core::marker::Copy for COR_PRF_TRANSITION_REASON {} |
| impl ::core::clone::Clone for COR_PRF_TRANSITION_REASON { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for COR_PRF_TRANSITION_REASON { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_TRANSITION_REASON { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for COR_PRF_TRANSITION_REASON { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("COR_PRF_TRANSITION_REASON").field(&self.0).finish() |
| } |
| } |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct CorDebugIlToNativeMappingTypes(pub i32); |
| impl ::core::marker::Copy for CorDebugIlToNativeMappingTypes {} |
| impl ::core::clone::Clone for CorDebugIlToNativeMappingTypes { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for CorDebugIlToNativeMappingTypes { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for CorDebugIlToNativeMappingTypes { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for CorDebugIlToNativeMappingTypes { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("CorDebugIlToNativeMappingTypes").field(&self.0).finish() |
| } |
| } |
| #[repr(C)] |
| pub struct COR_DEBUG_IL_TO_NATIVE_MAP { |
| pub ilOffset: u32, |
| pub nativeStartOffset: u32, |
| pub nativeEndOffset: u32, |
| } |
| impl ::core::marker::Copy for COR_DEBUG_IL_TO_NATIVE_MAP {} |
| impl ::core::clone::Clone for COR_DEBUG_IL_TO_NATIVE_MAP { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for COR_DEBUG_IL_TO_NATIVE_MAP { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_DEBUG_IL_TO_NATIVE_MAP").field("ilOffset", &self.ilOffset).field("nativeStartOffset", &self.nativeStartOffset).field("nativeEndOffset", &self.nativeEndOffset).finish() |
| } |
| } |
| impl ::windows_core::TypeKind for COR_DEBUG_IL_TO_NATIVE_MAP { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::cmp::PartialEq for COR_DEBUG_IL_TO_NATIVE_MAP { |
| fn eq(&self, other: &Self) -> bool { |
| self.ilOffset == other.ilOffset && self.nativeStartOffset == other.nativeStartOffset && self.nativeEndOffset == other.nativeEndOffset |
| } |
| } |
| impl ::core::cmp::Eq for COR_DEBUG_IL_TO_NATIVE_MAP {} |
| impl ::core::default::Default for COR_DEBUG_IL_TO_NATIVE_MAP { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub struct COR_IL_MAP { |
| pub oldOffset: u32, |
| pub newOffset: u32, |
| pub fAccurate: super::super::super::Foundation::BOOL, |
| } |
| #[cfg(feature = "Win32_Foundation")] |
| impl ::core::marker::Copy for COR_IL_MAP {} |
| #[cfg(feature = "Win32_Foundation")] |
| impl ::core::clone::Clone for COR_IL_MAP { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| #[cfg(feature = "Win32_Foundation")] |
| impl ::core::fmt::Debug for COR_IL_MAP { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_IL_MAP").field("oldOffset", &self.oldOffset).field("newOffset", &self.newOffset).field("fAccurate", &self.fAccurate).finish() |
| } |
| } |
| #[cfg(feature = "Win32_Foundation")] |
| impl ::windows_core::TypeKind for COR_IL_MAP { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| #[cfg(feature = "Win32_Foundation")] |
| impl ::core::cmp::PartialEq for COR_IL_MAP { |
| fn eq(&self, other: &Self) -> bool { |
| self.oldOffset == other.oldOffset && self.newOffset == other.newOffset && self.fAccurate == other.fAccurate |
| } |
| } |
| #[cfg(feature = "Win32_Foundation")] |
| impl ::core::cmp::Eq for COR_IL_MAP {} |
| #[cfg(feature = "Win32_Foundation")] |
| impl ::core::default::Default for COR_IL_MAP { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| #[doc = "Required features: `\"Win32_System_WinRT_Metadata\"`"] |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| pub struct COR_PRF_ASSEMBLY_REFERENCE_INFO { |
| pub pbPublicKeyOrToken: *mut ::core::ffi::c_void, |
| pub cbPublicKeyOrToken: u32, |
| pub szName: ::windows_core::PCWSTR, |
| pub pMetaData: *mut super::super::WinRT::Metadata::ASSEMBLYMETADATA, |
| pub pbHashValue: *mut ::core::ffi::c_void, |
| pub cbHashValue: u32, |
| pub dwAssemblyRefFlags: u32, |
| } |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| impl ::core::marker::Copy for COR_PRF_ASSEMBLY_REFERENCE_INFO {} |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| impl ::core::clone::Clone for COR_PRF_ASSEMBLY_REFERENCE_INFO { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| impl ::core::fmt::Debug for COR_PRF_ASSEMBLY_REFERENCE_INFO { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_PRF_ASSEMBLY_REFERENCE_INFO").field("pbPublicKeyOrToken", &self.pbPublicKeyOrToken).field("cbPublicKeyOrToken", &self.cbPublicKeyOrToken).field("szName", &self.szName).field("pMetaData", &self.pMetaData).field("pbHashValue", &self.pbHashValue).field("cbHashValue", &self.cbHashValue).field("dwAssemblyRefFlags", &self.dwAssemblyRefFlags).finish() |
| } |
| } |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| impl ::windows_core::TypeKind for COR_PRF_ASSEMBLY_REFERENCE_INFO { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| impl ::core::cmp::PartialEq for COR_PRF_ASSEMBLY_REFERENCE_INFO { |
| fn eq(&self, other: &Self) -> bool { |
| self.pbPublicKeyOrToken == other.pbPublicKeyOrToken && self.cbPublicKeyOrToken == other.cbPublicKeyOrToken && self.szName == other.szName && self.pMetaData == other.pMetaData && self.pbHashValue == other.pbHashValue && self.cbHashValue == other.cbHashValue && self.dwAssemblyRefFlags == other.dwAssemblyRefFlags |
| } |
| } |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| impl ::core::cmp::Eq for COR_PRF_ASSEMBLY_REFERENCE_INFO {} |
| #[cfg(feature = "Win32_System_WinRT_Metadata")] |
| impl ::core::default::Default for COR_PRF_ASSEMBLY_REFERENCE_INFO { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| pub struct COR_PRF_CODE_INFO { |
| pub startAddress: usize, |
| pub size: usize, |
| } |
| impl ::core::marker::Copy for COR_PRF_CODE_INFO {} |
| impl ::core::clone::Clone for COR_PRF_CODE_INFO { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for COR_PRF_CODE_INFO { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_PRF_CODE_INFO").field("startAddress", &self.startAddress).field("size", &self.size).finish() |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_CODE_INFO { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::cmp::PartialEq for COR_PRF_CODE_INFO { |
| fn eq(&self, other: &Self) -> bool { |
| self.startAddress == other.startAddress && self.size == other.size |
| } |
| } |
| impl ::core::cmp::Eq for COR_PRF_CODE_INFO {} |
| impl ::core::default::Default for COR_PRF_CODE_INFO { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| pub struct COR_PRF_EVENTPIPE_PARAM_DESC { |
| pub r#type: u32, |
| pub elementType: u32, |
| pub name: ::windows_core::PCWSTR, |
| } |
| impl ::core::marker::Copy for COR_PRF_EVENTPIPE_PARAM_DESC {} |
| impl ::core::clone::Clone for COR_PRF_EVENTPIPE_PARAM_DESC { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for COR_PRF_EVENTPIPE_PARAM_DESC { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_PRF_EVENTPIPE_PARAM_DESC").field("type", &self.r#type).field("elementType", &self.elementType).field("name", &self.name).finish() |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_EVENTPIPE_PARAM_DESC { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::cmp::PartialEq for COR_PRF_EVENTPIPE_PARAM_DESC { |
| fn eq(&self, other: &Self) -> bool { |
| self.r#type == other.r#type && self.elementType == other.elementType && self.name == other.name |
| } |
| } |
| impl ::core::cmp::Eq for COR_PRF_EVENTPIPE_PARAM_DESC {} |
| impl ::core::default::Default for COR_PRF_EVENTPIPE_PARAM_DESC { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| pub struct COR_PRF_EVENTPIPE_PROVIDER_CONFIG { |
| pub providerName: ::windows_core::PCWSTR, |
| pub keywords: u64, |
| pub loggingLevel: u32, |
| pub filterData: ::windows_core::PCWSTR, |
| } |
| impl ::core::marker::Copy for COR_PRF_EVENTPIPE_PROVIDER_CONFIG {} |
| impl ::core::clone::Clone for COR_PRF_EVENTPIPE_PROVIDER_CONFIG { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for COR_PRF_EVENTPIPE_PROVIDER_CONFIG { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_PRF_EVENTPIPE_PROVIDER_CONFIG").field("providerName", &self.providerName).field("keywords", &self.keywords).field("loggingLevel", &self.loggingLevel).field("filterData", &self.filterData).finish() |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_EVENTPIPE_PROVIDER_CONFIG { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::cmp::PartialEq for COR_PRF_EVENTPIPE_PROVIDER_CONFIG { |
| fn eq(&self, other: &Self) -> bool { |
| self.providerName == other.providerName && self.keywords == other.keywords && self.loggingLevel == other.loggingLevel && self.filterData == other.filterData |
| } |
| } |
| impl ::core::cmp::Eq for COR_PRF_EVENTPIPE_PROVIDER_CONFIG {} |
| impl ::core::default::Default for COR_PRF_EVENTPIPE_PROVIDER_CONFIG { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| pub struct COR_PRF_EVENT_DATA { |
| pub ptr: u64, |
| pub size: u32, |
| pub reserved: u32, |
| } |
| impl ::core::marker::Copy for COR_PRF_EVENT_DATA {} |
| impl ::core::clone::Clone for COR_PRF_EVENT_DATA { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for COR_PRF_EVENT_DATA { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_PRF_EVENT_DATA").field("ptr", &self.ptr).field("size", &self.size).field("reserved", &self.reserved).finish() |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_EVENT_DATA { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::cmp::PartialEq for COR_PRF_EVENT_DATA { |
| fn eq(&self, other: &Self) -> bool { |
| self.ptr == other.ptr && self.size == other.size && self.reserved == other.reserved |
| } |
| } |
| impl ::core::cmp::Eq for COR_PRF_EVENT_DATA {} |
| impl ::core::default::Default for COR_PRF_EVENT_DATA { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| pub struct COR_PRF_EX_CLAUSE_INFO { |
| pub clauseType: COR_PRF_CLAUSE_TYPE, |
| pub programCounter: usize, |
| pub framePointer: usize, |
| pub shadowStackPointer: usize, |
| } |
| impl ::core::marker::Copy for COR_PRF_EX_CLAUSE_INFO {} |
| impl ::core::clone::Clone for COR_PRF_EX_CLAUSE_INFO { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for COR_PRF_EX_CLAUSE_INFO { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_PRF_EX_CLAUSE_INFO").field("clauseType", &self.clauseType).field("programCounter", &self.programCounter).field("framePointer", &self.framePointer).field("shadowStackPointer", &self.shadowStackPointer).finish() |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_EX_CLAUSE_INFO { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::cmp::PartialEq for COR_PRF_EX_CLAUSE_INFO { |
| fn eq(&self, other: &Self) -> bool { |
| self.clauseType == other.clauseType && self.programCounter == other.programCounter && self.framePointer == other.framePointer && self.shadowStackPointer == other.shadowStackPointer |
| } |
| } |
| impl ::core::cmp::Eq for COR_PRF_EX_CLAUSE_INFO {} |
| impl ::core::default::Default for COR_PRF_EX_CLAUSE_INFO { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| pub struct COR_PRF_FILTER_DATA { |
| pub Ptr: u64, |
| pub Size: u32, |
| pub Type: u32, |
| } |
| impl ::core::marker::Copy for COR_PRF_FILTER_DATA {} |
| impl ::core::clone::Clone for COR_PRF_FILTER_DATA { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for COR_PRF_FILTER_DATA { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_PRF_FILTER_DATA").field("Ptr", &self.Ptr).field("Size", &self.Size).field("Type", &self.Type).finish() |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_FILTER_DATA { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::cmp::PartialEq for COR_PRF_FILTER_DATA { |
| fn eq(&self, other: &Self) -> bool { |
| self.Ptr == other.Ptr && self.Size == other.Size && self.Type == other.Type |
| } |
| } |
| impl ::core::cmp::Eq for COR_PRF_FILTER_DATA {} |
| impl ::core::default::Default for COR_PRF_FILTER_DATA { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| pub struct COR_PRF_FUNCTION { |
| pub functionId: usize, |
| pub reJitId: usize, |
| } |
| impl ::core::marker::Copy for COR_PRF_FUNCTION {} |
| impl ::core::clone::Clone for COR_PRF_FUNCTION { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for COR_PRF_FUNCTION { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_PRF_FUNCTION").field("functionId", &self.functionId).field("reJitId", &self.reJitId).finish() |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_FUNCTION { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::cmp::PartialEq for COR_PRF_FUNCTION { |
| fn eq(&self, other: &Self) -> bool { |
| self.functionId == other.functionId && self.reJitId == other.reJitId |
| } |
| } |
| impl ::core::cmp::Eq for COR_PRF_FUNCTION {} |
| impl ::core::default::Default for COR_PRF_FUNCTION { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| pub struct COR_PRF_FUNCTION_ARGUMENT_INFO { |
| pub numRanges: u32, |
| pub totalArgumentSize: u32, |
| pub ranges: [COR_PRF_FUNCTION_ARGUMENT_RANGE; 1], |
| } |
| impl ::core::marker::Copy for COR_PRF_FUNCTION_ARGUMENT_INFO {} |
| impl ::core::clone::Clone for COR_PRF_FUNCTION_ARGUMENT_INFO { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for COR_PRF_FUNCTION_ARGUMENT_INFO { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_PRF_FUNCTION_ARGUMENT_INFO").field("numRanges", &self.numRanges).field("totalArgumentSize", &self.totalArgumentSize).field("ranges", &self.ranges).finish() |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_FUNCTION_ARGUMENT_INFO { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::cmp::PartialEq for COR_PRF_FUNCTION_ARGUMENT_INFO { |
| fn eq(&self, other: &Self) -> bool { |
| self.numRanges == other.numRanges && self.totalArgumentSize == other.totalArgumentSize && self.ranges == other.ranges |
| } |
| } |
| impl ::core::cmp::Eq for COR_PRF_FUNCTION_ARGUMENT_INFO {} |
| impl ::core::default::Default for COR_PRF_FUNCTION_ARGUMENT_INFO { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| pub struct COR_PRF_FUNCTION_ARGUMENT_RANGE { |
| pub startAddress: usize, |
| pub length: u32, |
| } |
| impl ::core::marker::Copy for COR_PRF_FUNCTION_ARGUMENT_RANGE {} |
| impl ::core::clone::Clone for COR_PRF_FUNCTION_ARGUMENT_RANGE { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for COR_PRF_FUNCTION_ARGUMENT_RANGE { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_PRF_FUNCTION_ARGUMENT_RANGE").field("startAddress", &self.startAddress).field("length", &self.length).finish() |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_FUNCTION_ARGUMENT_RANGE { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::cmp::PartialEq for COR_PRF_FUNCTION_ARGUMENT_RANGE { |
| fn eq(&self, other: &Self) -> bool { |
| self.startAddress == other.startAddress && self.length == other.length |
| } |
| } |
| impl ::core::cmp::Eq for COR_PRF_FUNCTION_ARGUMENT_RANGE {} |
| impl ::core::default::Default for COR_PRF_FUNCTION_ARGUMENT_RANGE { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| pub struct COR_PRF_GC_GENERATION_RANGE { |
| pub generation: COR_PRF_GC_GENERATION, |
| pub rangeStart: usize, |
| pub rangeLength: usize, |
| pub rangeLengthReserved: usize, |
| } |
| impl ::core::marker::Copy for COR_PRF_GC_GENERATION_RANGE {} |
| impl ::core::clone::Clone for COR_PRF_GC_GENERATION_RANGE { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for COR_PRF_GC_GENERATION_RANGE { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_PRF_GC_GENERATION_RANGE").field("generation", &self.generation).field("rangeStart", &self.rangeStart).field("rangeLength", &self.rangeLength).field("rangeLengthReserved", &self.rangeLengthReserved).finish() |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_GC_GENERATION_RANGE { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::cmp::PartialEq for COR_PRF_GC_GENERATION_RANGE { |
| fn eq(&self, other: &Self) -> bool { |
| self.generation == other.generation && self.rangeStart == other.rangeStart && self.rangeLength == other.rangeLength && self.rangeLengthReserved == other.rangeLengthReserved |
| } |
| } |
| impl ::core::cmp::Eq for COR_PRF_GC_GENERATION_RANGE {} |
| impl ::core::default::Default for COR_PRF_GC_GENERATION_RANGE { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| pub struct COR_PRF_METHOD { |
| pub moduleId: usize, |
| pub methodId: u32, |
| } |
| impl ::core::marker::Copy for COR_PRF_METHOD {} |
| impl ::core::clone::Clone for COR_PRF_METHOD { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for COR_PRF_METHOD { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_PRF_METHOD").field("moduleId", &self.moduleId).field("methodId", &self.methodId).finish() |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_METHOD { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::cmp::PartialEq for COR_PRF_METHOD { |
| fn eq(&self, other: &Self) -> bool { |
| self.moduleId == other.moduleId && self.methodId == other.methodId |
| } |
| } |
| impl ::core::cmp::Eq for COR_PRF_METHOD {} |
| impl ::core::default::Default for COR_PRF_METHOD { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| pub struct COR_PRF_NONGC_HEAP_RANGE { |
| pub rangeStart: usize, |
| pub rangeLength: usize, |
| pub rangeLengthReserved: usize, |
| } |
| impl ::core::marker::Copy for COR_PRF_NONGC_HEAP_RANGE {} |
| impl ::core::clone::Clone for COR_PRF_NONGC_HEAP_RANGE { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for COR_PRF_NONGC_HEAP_RANGE { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("COR_PRF_NONGC_HEAP_RANGE").field("rangeStart", &self.rangeStart).field("rangeLength", &self.rangeLength).field("rangeLengthReserved", &self.rangeLengthReserved).finish() |
| } |
| } |
| impl ::windows_core::TypeKind for COR_PRF_NONGC_HEAP_RANGE { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::cmp::PartialEq for COR_PRF_NONGC_HEAP_RANGE { |
| fn eq(&self, other: &Self) -> bool { |
| self.rangeStart == other.rangeStart && self.rangeLength == other.rangeLength && self.rangeLengthReserved == other.rangeLengthReserved |
| } |
| } |
| impl ::core::cmp::Eq for COR_PRF_NONGC_HEAP_RANGE {} |
| impl ::core::default::Default for COR_PRF_NONGC_HEAP_RANGE { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| pub union FunctionIDOrClientID { |
| pub functionID: usize, |
| pub clientID: usize, |
| } |
| impl ::core::marker::Copy for FunctionIDOrClientID {} |
| impl ::core::clone::Clone for FunctionIDOrClientID { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::windows_core::TypeKind for FunctionIDOrClientID { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::default::Default for FunctionIDOrClientID { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| pub type EventPipeProviderCallback = ::core::option::Option<unsafe extern "system" fn(source_id: *const u8, is_enabled: u32, level: u8, match_any_keywords: u64, match_all_keywords: u64, filter_data: *mut COR_PRF_FILTER_DATA, callback_data: *mut ::core::ffi::c_void) -> ()>; |
| pub type FunctionEnter = ::core::option::Option<unsafe extern "system" fn(funcid: usize) -> ()>; |
| pub type FunctionEnter2 = ::core::option::Option<unsafe extern "system" fn(funcid: usize, clientdata: usize, func: usize, argumentinfo: *mut COR_PRF_FUNCTION_ARGUMENT_INFO) -> ()>; |
| pub type FunctionEnter3 = ::core::option::Option<unsafe extern "system" fn(functionidorclientid: FunctionIDOrClientID) -> ()>; |
| pub type FunctionEnter3WithInfo = ::core::option::Option<unsafe extern "system" fn(functionidorclientid: FunctionIDOrClientID, eltinfo: usize) -> ()>; |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub type FunctionIDMapper = ::core::option::Option<unsafe extern "system" fn(funcid: usize, pbhookfunction: *mut super::super::super::Foundation::BOOL) -> usize>; |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub type FunctionIDMapper2 = ::core::option::Option<unsafe extern "system" fn(funcid: usize, clientdata: *mut ::core::ffi::c_void, pbhookfunction: *mut super::super::super::Foundation::BOOL) -> usize>; |
| pub type FunctionLeave = ::core::option::Option<unsafe extern "system" fn(funcid: usize) -> ()>; |
| pub type FunctionLeave2 = ::core::option::Option<unsafe extern "system" fn(funcid: usize, clientdata: usize, func: usize, retvalrange: *mut COR_PRF_FUNCTION_ARGUMENT_RANGE) -> ()>; |
| pub type FunctionLeave3 = ::core::option::Option<unsafe extern "system" fn(functionidorclientid: FunctionIDOrClientID) -> ()>; |
| pub type FunctionLeave3WithInfo = ::core::option::Option<unsafe extern "system" fn(functionidorclientid: FunctionIDOrClientID, eltinfo: usize) -> ()>; |
| pub type FunctionTailcall = ::core::option::Option<unsafe extern "system" fn(funcid: usize) -> ()>; |
| pub type FunctionTailcall2 = ::core::option::Option<unsafe extern "system" fn(funcid: usize, clientdata: usize, func: usize) -> ()>; |
| pub type FunctionTailcall3 = ::core::option::Option<unsafe extern "system" fn(functionidorclientid: FunctionIDOrClientID) -> ()>; |
| pub type FunctionTailcall3WithInfo = ::core::option::Option<unsafe extern "system" fn(functionidorclientid: FunctionIDOrClientID, eltinfo: usize) -> ()>; |
| #[doc = "Required features: `\"Win32_Foundation\"`"] |
| #[cfg(feature = "Win32_Foundation")] |
| pub type ObjectReferenceCallback = ::core::option::Option<unsafe extern "system" fn(root: usize, reference: *mut usize, clientdata: *mut ::core::ffi::c_void) -> super::super::super::Foundation::BOOL>; |
| pub type StackSnapshotCallback = ::core::option::Option<unsafe extern "system" fn(funcid: usize, ip: usize, frameinfo: usize, contextsize: u32, context: *mut u8, clientdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT>; |
| #[cfg(feature = "implement")] |
| ::core::include!("impl.rs"); |