Trait IStiDeviceControl_Impl
pub trait IStiDeviceControl_Impl: IUnknownImpl {
// Required methods
fn Initialize(
&self,
dwdevicetype: u32,
dwmode: u32,
pwszportname: &PCWSTR,
dwflags: u32,
) -> Result<()>;
fn RawReadData(
&self,
lpbuffer: *mut c_void,
lpdwnumberofbytes: *mut u32,
lpoverlapped: *mut OVERLAPPED,
) -> Result<()>;
fn RawWriteData(
&self,
lpbuffer: *mut c_void,
nnumberofbytes: u32,
lpoverlapped: *mut OVERLAPPED,
) -> Result<()>;
fn RawReadCommand(
&self,
lpbuffer: *mut c_void,
lpdwnumberofbytes: *mut u32,
lpoverlapped: *mut OVERLAPPED,
) -> Result<()>;
fn RawWriteCommand(
&self,
lpbuffer: *mut c_void,
nnumberofbytes: u32,
lpoverlapped: *mut OVERLAPPED,
) -> Result<()>;
fn RawDeviceControl(
&self,
escapefunction: u32,
lpindata: *mut c_void,
cbindatasize: u32,
poutdata: *mut c_void,
dwoutdatasize: u32,
pdwactualdata: *mut u32,
) -> Result<()>;
fn GetLastError(&self, lpdwlasterror: *mut u32) -> Result<()>;
fn GetMyDevicePortName(
&self,
lpszdevicepath: PWSTR,
cwdevicepathsize: u32,
) -> Result<()>;
fn GetMyDeviceHandle(&self, lph: *mut HANDLE) -> Result<()>;
fn GetMyDeviceOpenMode(&self, pdwopenmode: *mut u32) -> Result<()>;
fn WriteToErrorLog(
&self,
dwmessagetype: u32,
pszmessage: &PCWSTR,
dwerrorcode: u32,
) -> Result<()>;
}
Required Methods§
fn Initialize( &self, dwdevicetype: u32, dwmode: u32, pwszportname: &PCWSTR, dwflags: u32, ) -> Result<()>
fn RawReadData( &self, lpbuffer: *mut c_void, lpdwnumberofbytes: *mut u32, lpoverlapped: *mut OVERLAPPED, ) -> Result<()>
fn RawWriteData( &self, lpbuffer: *mut c_void, nnumberofbytes: u32, lpoverlapped: *mut OVERLAPPED, ) -> Result<()>
fn RawReadCommand( &self, lpbuffer: *mut c_void, lpdwnumberofbytes: *mut u32, lpoverlapped: *mut OVERLAPPED, ) -> Result<()>
fn RawWriteCommand( &self, lpbuffer: *mut c_void, nnumberofbytes: u32, lpoverlapped: *mut OVERLAPPED, ) -> Result<()>
fn RawDeviceControl( &self, escapefunction: u32, lpindata: *mut c_void, cbindatasize: u32, poutdata: *mut c_void, dwoutdatasize: u32, pdwactualdata: *mut u32, ) -> Result<()>
fn GetLastError(&self, lpdwlasterror: *mut u32) -> Result<()>
fn GetMyDevicePortName( &self, lpszdevicepath: PWSTR, cwdevicepathsize: u32, ) -> Result<()>
fn GetMyDeviceHandle(&self, lph: *mut HANDLE) -> Result<()>
fn GetMyDeviceOpenMode(&self, pdwopenmode: *mut u32) -> Result<()>
fn WriteToErrorLog( &self, dwmessagetype: u32, pszmessage: &PCWSTR, dwerrorcode: 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.