Trait ICorThreadpool_Impl
pub trait ICorThreadpool_Impl: IUnknownImpl {
// Required methods
fn CorRegisterWaitForSingleObject(
&self,
phnewwaitobject: *const HANDLE,
hwaitobject: HANDLE,
callback: WAITORTIMERCALLBACK,
context: *const c_void,
timeout: u32,
executeonlyonce: BOOL,
) -> Result<BOOL>;
fn CorUnregisterWait(
&self,
hwaitobject: HANDLE,
completionevent: HANDLE,
) -> Result<BOOL>;
fn CorQueueUserWorkItem(
&self,
function: LPTHREAD_START_ROUTINE,
context: *const c_void,
executeonlyonce: BOOL,
) -> Result<BOOL>;
fn CorCreateTimer(
&self,
phnewtimer: *const HANDLE,
callback: WAITORTIMERCALLBACK,
parameter: *const c_void,
duetime: u32,
period: u32,
) -> Result<BOOL>;
fn CorChangeTimer(
&self,
timer: HANDLE,
duetime: u32,
period: u32,
) -> Result<BOOL>;
fn CorDeleteTimer(
&self,
timer: HANDLE,
completionevent: HANDLE,
) -> Result<BOOL>;
fn CorBindIoCompletionCallback(
&self,
filehandle: HANDLE,
callback: LPOVERLAPPED_COMPLETION_ROUTINE,
) -> Result<()>;
fn CorCallOrQueueUserWorkItem(
&self,
function: LPTHREAD_START_ROUTINE,
context: *const c_void,
) -> Result<BOOL>;
fn CorSetMaxThreads(
&self,
maxworkerthreads: u32,
maxiocompletionthreads: u32,
) -> Result<()>;
fn CorGetMaxThreads(
&self,
maxworkerthreads: *mut u32,
maxiocompletionthreads: *mut u32,
) -> Result<()>;
fn CorGetAvailableThreads(
&self,
availableworkerthreads: *mut u32,
availableiocompletionthreads: *mut u32,
) -> Result<()>;
}
Required Methods§
fn CorRegisterWaitForSingleObject( &self, phnewwaitobject: *const HANDLE, hwaitobject: HANDLE, callback: WAITORTIMERCALLBACK, context: *const c_void, timeout: u32, executeonlyonce: BOOL, ) -> Result<BOOL>
fn CorUnregisterWait( &self, hwaitobject: HANDLE, completionevent: HANDLE, ) -> Result<BOOL>
fn CorQueueUserWorkItem( &self, function: LPTHREAD_START_ROUTINE, context: *const c_void, executeonlyonce: BOOL, ) -> Result<BOOL>
fn CorCreateTimer( &self, phnewtimer: *const HANDLE, callback: WAITORTIMERCALLBACK, parameter: *const c_void, duetime: u32, period: u32, ) -> Result<BOOL>
fn CorChangeTimer( &self, timer: HANDLE, duetime: u32, period: u32, ) -> Result<BOOL>
fn CorDeleteTimer(&self, timer: HANDLE, completionevent: HANDLE) -> Result<BOOL>
fn CorBindIoCompletionCallback( &self, filehandle: HANDLE, callback: LPOVERLAPPED_COMPLETION_ROUTINE, ) -> Result<()>
fn CorCallOrQueueUserWorkItem( &self, function: LPTHREAD_START_ROUTINE, context: *const c_void, ) -> Result<BOOL>
fn CorSetMaxThreads( &self, maxworkerthreads: u32, maxiocompletionthreads: u32, ) -> Result<()>
fn CorGetMaxThreads( &self, maxworkerthreads: *mut u32, maxiocompletionthreads: *mut u32, ) -> Result<()>
fn CorGetAvailableThreads( &self, availableworkerthreads: *mut u32, availableiocompletionthreads: *mut u32, ) -> 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.