Trait IHostMemoryManager_Impl
pub trait IHostMemoryManager_Impl: IUnknownImpl {
// Required methods
fn CreateMalloc(&self, dwmalloctype: u32) -> Result<IHostMalloc>;
fn VirtualAlloc(
&self,
paddress: *const c_void,
dwsize: usize,
flallocationtype: u32,
flprotect: u32,
ecriticallevel: EMemoryCriticalLevel,
ppmem: *mut *mut c_void,
) -> Result<()>;
fn VirtualFree(
&self,
lpaddress: *const c_void,
dwsize: usize,
dwfreetype: u32,
) -> Result<()>;
fn VirtualQuery(
&self,
lpaddress: *const c_void,
lpbuffer: *mut c_void,
dwlength: usize,
presult: *mut usize,
) -> Result<()>;
fn VirtualProtect(
&self,
lpaddress: *const c_void,
dwsize: usize,
flnewprotect: u32,
) -> Result<u32>;
fn GetMemoryLoad(
&self,
pmemoryload: *mut u32,
pavailablebytes: *mut usize,
) -> Result<()>;
fn RegisterMemoryNotificationCallback(
&self,
pcallback: Ref<'_, ICLRMemoryNotificationCallback>,
) -> Result<()>;
fn NeedsVirtualAddressSpace(
&self,
startaddress: *const c_void,
size: usize,
) -> Result<()>;
fn AcquiredVirtualAddressSpace(
&self,
startaddress: *const c_void,
size: usize,
) -> Result<()>;
fn ReleasedVirtualAddressSpace(
&self,
startaddress: *const c_void,
) -> Result<()>;
}
Required Methods§
fn CreateMalloc(&self, dwmalloctype: u32) -> Result<IHostMalloc>
fn VirtualAlloc( &self, paddress: *const c_void, dwsize: usize, flallocationtype: u32, flprotect: u32, ecriticallevel: EMemoryCriticalLevel, ppmem: *mut *mut c_void, ) -> Result<()>
fn VirtualFree( &self, lpaddress: *const c_void, dwsize: usize, dwfreetype: u32, ) -> Result<()>
fn VirtualQuery( &self, lpaddress: *const c_void, lpbuffer: *mut c_void, dwlength: usize, presult: *mut usize, ) -> Result<()>
fn VirtualProtect( &self, lpaddress: *const c_void, dwsize: usize, flnewprotect: u32, ) -> Result<u32>
fn GetMemoryLoad( &self, pmemoryload: *mut u32, pavailablebytes: *mut usize, ) -> Result<()>
fn RegisterMemoryNotificationCallback( &self, pcallback: Ref<'_, ICLRMemoryNotificationCallback>, ) -> Result<()>
fn NeedsVirtualAddressSpace( &self, startaddress: *const c_void, size: usize, ) -> Result<()>
fn AcquiredVirtualAddressSpace( &self, startaddress: *const c_void, size: usize, ) -> Result<()>
fn ReleasedVirtualAddressSpace(&self, startaddress: *const c_void) -> Result<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.