pub trait IStiDeviceControl_Impl: Sized {
    // 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<()>

Object Safety§

This trait is not object safe.

Implementors§