Trait IWiaMiniDrv_Impl
pub trait IWiaMiniDrv_Impl: IUnknownImpl {
Show 17 methods
// Required methods
fn drvInitializeWia(
&self,
__midl__iwiaminidrv0000: *const u8,
__midl__iwiaminidrv0001: i32,
__midl__iwiaminidrv0002: &BSTR,
__midl__iwiaminidrv0003: &BSTR,
__midl__iwiaminidrv0004: Ref<'_, IUnknown>,
__midl__iwiaminidrv0005: Ref<'_, IUnknown>,
__midl__iwiaminidrv0006: OutRef<'_, IWiaDrvItem>,
__midl__iwiaminidrv0007: OutRef<'_, IUnknown>,
__midl__iwiaminidrv0008: *mut i32,
) -> Result<()>;
fn drvAcquireItemData(
&self,
__midl__iwiaminidrv0009: *const u8,
__midl__iwiaminidrv0010: i32,
__midl__iwiaminidrv0011: *mut MINIDRV_TRANSFER_CONTEXT,
__midl__iwiaminidrv0012: *mut i32,
) -> Result<()>;
fn drvInitItemProperties(
&self,
__midl__iwiaminidrv0013: *const u8,
__midl__iwiaminidrv0014: i32,
) -> Result<i32>;
fn drvValidateItemProperties(
&self,
__midl__iwiaminidrv0016: *const u8,
__midl__iwiaminidrv0017: i32,
__midl__iwiaminidrv0018: u32,
__midl__iwiaminidrv0019: *const PROPSPEC,
) -> Result<i32>;
fn drvWriteItemProperties(
&self,
__midl__iwiaminidrv0021: *const u8,
__midl__iwiaminidrv0022: i32,
__midl__iwiaminidrv0023: *const MINIDRV_TRANSFER_CONTEXT,
) -> Result<i32>;
fn drvReadItemProperties(
&self,
__midl__iwiaminidrv0025: *const u8,
__midl__iwiaminidrv0026: i32,
__midl__iwiaminidrv0027: u32,
__midl__iwiaminidrv0028: *const PROPSPEC,
) -> Result<i32>;
fn drvLockWiaDevice(
&self,
__midl__iwiaminidrv0030: *const u8,
__midl__iwiaminidrv0031: i32,
) -> Result<i32>;
fn drvUnLockWiaDevice(
&self,
__midl__iwiaminidrv0033: *const u8,
__midl__iwiaminidrv0034: i32,
) -> Result<i32>;
fn drvAnalyzeItem(
&self,
__midl__iwiaminidrv0036: *const u8,
__midl__iwiaminidrv0037: i32,
__midl__iwiaminidrv0038: *const i32,
) -> Result<()>;
fn drvGetDeviceErrorStr(
&self,
__midl__iwiaminidrv0039: i32,
__midl__iwiaminidrv0040: i32,
__midl__iwiaminidrv0041: *mut PWSTR,
__midl__iwiaminidrv0042: *mut i32,
) -> Result<()>;
fn drvDeviceCommand(
&self,
__midl__iwiaminidrv0043: *const u8,
__midl__iwiaminidrv0044: i32,
__midl__iwiaminidrv0045: *const GUID,
__midl__iwiaminidrv0046: OutRef<'_, IWiaDrvItem>,
__midl__iwiaminidrv0047: *mut i32,
) -> Result<()>;
fn drvGetCapabilities(
&self,
__midl__iwiaminidrv0048: *const u8,
__midl__iwiaminidrv0049: i32,
__midl__iwiaminidrv0050: *mut i32,
__midl__iwiaminidrv0051: *mut *mut WIA_DEV_CAP_DRV,
__midl__iwiaminidrv0052: *mut i32,
) -> Result<()>;
fn drvDeleteItem(
&self,
__midl__iwiaminidrv0053: *const u8,
__midl__iwiaminidrv0054: i32,
) -> Result<i32>;
fn drvFreeDrvItemContext(
&self,
__midl__iwiaminidrv0056: i32,
__midl__iwiaminidrv0057: *const u8,
) -> Result<i32>;
fn drvGetWiaFormatInfo(
&self,
__midl__iwiaminidrv0059: *const u8,
__midl__iwiaminidrv0060: i32,
__midl__iwiaminidrv0061: *mut i32,
__midl__iwiaminidrv0062: *mut *mut WIA_FORMAT_INFO,
__midl__iwiaminidrv0063: *mut i32,
) -> Result<()>;
fn drvNotifyPnpEvent(
&self,
peventguid: *const GUID,
bstrdeviceid: &BSTR,
ulreserved: u32,
) -> Result<()>;
fn drvUnInitializeWia(
&self,
__midl__iwiaminidrv0064: *const u8,
) -> Result<()>;
}
Required Methods§
fn drvInitializeWia( &self, __midl__iwiaminidrv0000: *const u8, __midl__iwiaminidrv0001: i32, __midl__iwiaminidrv0002: &BSTR, __midl__iwiaminidrv0003: &BSTR, __midl__iwiaminidrv0004: Ref<'_, IUnknown>, __midl__iwiaminidrv0005: Ref<'_, IUnknown>, __midl__iwiaminidrv0006: OutRef<'_, IWiaDrvItem>, __midl__iwiaminidrv0007: OutRef<'_, IUnknown>, __midl__iwiaminidrv0008: *mut i32, ) -> Result<()>
fn drvAcquireItemData( &self, __midl__iwiaminidrv0009: *const u8, __midl__iwiaminidrv0010: i32, __midl__iwiaminidrv0011: *mut MINIDRV_TRANSFER_CONTEXT, __midl__iwiaminidrv0012: *mut i32, ) -> Result<()>
fn drvInitItemProperties( &self, __midl__iwiaminidrv0013: *const u8, __midl__iwiaminidrv0014: i32, ) -> Result<i32>
fn drvValidateItemProperties( &self, __midl__iwiaminidrv0016: *const u8, __midl__iwiaminidrv0017: i32, __midl__iwiaminidrv0018: u32, __midl__iwiaminidrv0019: *const PROPSPEC, ) -> Result<i32>
fn drvWriteItemProperties( &self, __midl__iwiaminidrv0021: *const u8, __midl__iwiaminidrv0022: i32, __midl__iwiaminidrv0023: *const MINIDRV_TRANSFER_CONTEXT, ) -> Result<i32>
fn drvReadItemProperties( &self, __midl__iwiaminidrv0025: *const u8, __midl__iwiaminidrv0026: i32, __midl__iwiaminidrv0027: u32, __midl__iwiaminidrv0028: *const PROPSPEC, ) -> Result<i32>
fn drvLockWiaDevice( &self, __midl__iwiaminidrv0030: *const u8, __midl__iwiaminidrv0031: i32, ) -> Result<i32>
fn drvUnLockWiaDevice( &self, __midl__iwiaminidrv0033: *const u8, __midl__iwiaminidrv0034: i32, ) -> Result<i32>
fn drvAnalyzeItem( &self, __midl__iwiaminidrv0036: *const u8, __midl__iwiaminidrv0037: i32, __midl__iwiaminidrv0038: *const i32, ) -> Result<()>
fn drvGetDeviceErrorStr( &self, __midl__iwiaminidrv0039: i32, __midl__iwiaminidrv0040: i32, __midl__iwiaminidrv0041: *mut PWSTR, __midl__iwiaminidrv0042: *mut i32, ) -> Result<()>
fn drvDeviceCommand( &self, __midl__iwiaminidrv0043: *const u8, __midl__iwiaminidrv0044: i32, __midl__iwiaminidrv0045: *const GUID, __midl__iwiaminidrv0046: OutRef<'_, IWiaDrvItem>, __midl__iwiaminidrv0047: *mut i32, ) -> Result<()>
fn drvGetCapabilities( &self, __midl__iwiaminidrv0048: *const u8, __midl__iwiaminidrv0049: i32, __midl__iwiaminidrv0050: *mut i32, __midl__iwiaminidrv0051: *mut *mut WIA_DEV_CAP_DRV, __midl__iwiaminidrv0052: *mut i32, ) -> Result<()>
fn drvDeleteItem( &self, __midl__iwiaminidrv0053: *const u8, __midl__iwiaminidrv0054: i32, ) -> Result<i32>
fn drvFreeDrvItemContext( &self, __midl__iwiaminidrv0056: i32, __midl__iwiaminidrv0057: *const u8, ) -> Result<i32>
fn drvGetWiaFormatInfo( &self, __midl__iwiaminidrv0059: *const u8, __midl__iwiaminidrv0060: i32, __midl__iwiaminidrv0061: *mut i32, __midl__iwiaminidrv0062: *mut *mut WIA_FORMAT_INFO, __midl__iwiaminidrv0063: *mut i32, ) -> Result<()>
fn drvNotifyPnpEvent( &self, peventguid: *const GUID, bstrdeviceid: &BSTR, ulreserved: u32, ) -> Result<()>
fn drvUnInitializeWia(&self, __midl__iwiaminidrv0064: *const u8) -> 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.