Trait IStiDevice_Impl
pub trait IStiDevice_Impl: IUnknownImpl {
Show 17 methods
// Required methods
fn Initialize(
&self,
hinst: HINSTANCE,
pwszdevicename: &PCWSTR,
dwversion: u32,
dwmode: u32,
) -> Result<()>;
fn GetCapabilities(&self, pdevcaps: *mut STI_DEV_CAPS) -> Result<()>;
fn GetStatus(&self, pdevstatus: *mut STI_DEVICE_STATUS) -> Result<()>;
fn DeviceReset(&self) -> Result<()>;
fn Diagnostic(&self, pbuffer: *mut STI_DIAG) -> Result<()>;
fn Escape(
&self,
escapefunction: u32,
lpindata: *const c_void,
cbindatasize: u32,
poutdata: *mut c_void,
dwoutdatasize: u32,
pdwactualdata: *mut u32,
) -> Result<()>;
fn GetLastError(&self) -> Result<u32>;
fn LockDevice(&self, dwtimeout: u32) -> Result<()>;
fn UnLockDevice(&self) -> Result<()>;
fn RawReadData(
&self,
lpbuffer: *mut c_void,
lpdwnumberofbytes: *mut u32,
lpoverlapped: *const OVERLAPPED,
) -> Result<()>;
fn RawWriteData(
&self,
lpbuffer: *const c_void,
nnumberofbytes: u32,
lpoverlapped: *const OVERLAPPED,
) -> Result<()>;
fn RawReadCommand(
&self,
lpbuffer: *mut c_void,
lpdwnumberofbytes: *mut u32,
lpoverlapped: *const OVERLAPPED,
) -> Result<()>;
fn RawWriteCommand(
&self,
lpbuffer: *const c_void,
nnumberofbytes: u32,
lpoverlapped: *const OVERLAPPED,
) -> Result<()>;
fn Subscribe(&self, lpsubsribe: *mut STISUBSCRIBE) -> Result<()>;
fn GetLastNotificationData(&self, lpnotify: *mut STINOTIFY) -> Result<()>;
fn UnSubscribe(&self) -> Result<()>;
fn GetLastErrorInfo(&self, plasterrorinfo: *mut _ERROR_INFOW) -> Result<()>;
}
Required Methods§
fn Initialize( &self, hinst: HINSTANCE, pwszdevicename: &PCWSTR, dwversion: u32, dwmode: u32, ) -> Result<()>
fn GetCapabilities(&self, pdevcaps: *mut STI_DEV_CAPS) -> Result<()>
fn GetStatus(&self, pdevstatus: *mut STI_DEVICE_STATUS) -> Result<()>
fn DeviceReset(&self) -> Result<()>
fn Diagnostic(&self, pbuffer: *mut STI_DIAG) -> Result<()>
fn Escape( &self, escapefunction: u32, lpindata: *const c_void, cbindatasize: u32, poutdata: *mut c_void, dwoutdatasize: u32, pdwactualdata: *mut u32, ) -> Result<()>
fn GetLastError(&self) -> Result<u32>
fn LockDevice(&self, dwtimeout: u32) -> Result<()>
fn UnLockDevice(&self) -> Result<()>
fn RawReadData( &self, lpbuffer: *mut c_void, lpdwnumberofbytes: *mut u32, lpoverlapped: *const OVERLAPPED, ) -> Result<()>
fn RawWriteData( &self, lpbuffer: *const c_void, nnumberofbytes: u32, lpoverlapped: *const OVERLAPPED, ) -> Result<()>
fn RawReadCommand( &self, lpbuffer: *mut c_void, lpdwnumberofbytes: *mut u32, lpoverlapped: *const OVERLAPPED, ) -> Result<()>
fn RawWriteCommand( &self, lpbuffer: *const c_void, nnumberofbytes: u32, lpoverlapped: *const OVERLAPPED, ) -> Result<()>
fn Subscribe(&self, lpsubsribe: *mut STISUBSCRIBE) -> Result<()>
fn GetLastNotificationData(&self, lpnotify: *mut STINOTIFY) -> Result<()>
fn UnSubscribe(&self) -> Result<()>
fn GetLastErrorInfo(&self, plasterrorinfo: *mut _ERROR_INFOW) -> 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.