Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      7 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      8 #endif
      9 
     10 #include "rpc.h"
     11 #include "rpcndr.h"
     12 
     13 #ifndef __RPCNDR_H_VERSION__
     14 #error This stub requires an updated version of <rpcndr.h>
     15 #endif
     16 
     17 #ifndef COM_NO_WINDOWS_H
     18 #include "windows.h"
     19 #include "ole2.h"
     20 #endif
     21 
     22 #ifndef __wia_h__
     23 #define __wia_h__
     24 
     25 #ifndef __IWiaDevMgr_FWD_DEFINED__
     26 #define __IWiaDevMgr_FWD_DEFINED__
     27 typedef struct IWiaDevMgr IWiaDevMgr;
     28 #endif
     29 
     30 #ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__
     31 #define __IEnumWIA_DEV_INFO_FWD_DEFINED__
     32 typedef struct IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO;
     33 #endif
     34 
     35 #ifndef __IWiaEventCallback_FWD_DEFINED__
     36 #define __IWiaEventCallback_FWD_DEFINED__
     37 typedef struct IWiaEventCallback IWiaEventCallback;
     38 #endif
     39 
     40 #ifndef __IWiaDataCallback_FWD_DEFINED__
     41 #define __IWiaDataCallback_FWD_DEFINED__
     42 typedef struct IWiaDataCallback IWiaDataCallback;
     43 #endif
     44 
     45 #ifndef __IWiaDataTransfer_FWD_DEFINED__
     46 #define __IWiaDataTransfer_FWD_DEFINED__
     47 typedef struct IWiaDataTransfer IWiaDataTransfer;
     48 #endif
     49 
     50 #ifndef __IWiaItem_FWD_DEFINED__
     51 #define __IWiaItem_FWD_DEFINED__
     52 typedef struct IWiaItem IWiaItem;
     53 #endif
     54 
     55 #ifndef __IWiaPropertyStorage_FWD_DEFINED__
     56 #define __IWiaPropertyStorage_FWD_DEFINED__
     57 typedef struct IWiaPropertyStorage IWiaPropertyStorage;
     58 #endif
     59 
     60 #ifndef __IEnumWiaItem_FWD_DEFINED__
     61 #define __IEnumWiaItem_FWD_DEFINED__
     62 typedef struct IEnumWiaItem IEnumWiaItem;
     63 #endif
     64 
     65 #ifndef __IEnumWIA_DEV_CAPS_FWD_DEFINED__
     66 #define __IEnumWIA_DEV_CAPS_FWD_DEFINED__
     67 typedef struct IEnumWIA_DEV_CAPS IEnumWIA_DEV_CAPS;
     68 #endif
     69 
     70 #ifndef __IEnumWIA_FORMAT_INFO_FWD_DEFINED__
     71 #define __IEnumWIA_FORMAT_INFO_FWD_DEFINED__
     72 typedef struct IEnumWIA_FORMAT_INFO IEnumWIA_FORMAT_INFO;
     73 #endif
     74 
     75 #ifndef __IWiaLog_FWD_DEFINED__
     76 #define __IWiaLog_FWD_DEFINED__
     77 typedef struct IWiaLog IWiaLog;
     78 #endif
     79 
     80 #ifndef __IWiaLogEx_FWD_DEFINED__
     81 #define __IWiaLogEx_FWD_DEFINED__
     82 typedef struct IWiaLogEx IWiaLogEx;
     83 #endif
     84 
     85 #ifndef __IWiaNotifyDevMgr_FWD_DEFINED__
     86 #define __IWiaNotifyDevMgr_FWD_DEFINED__
     87 typedef struct IWiaNotifyDevMgr IWiaNotifyDevMgr;
     88 #endif
     89 
     90 #ifndef __IWiaItemExtras_FWD_DEFINED__
     91 #define __IWiaItemExtras_FWD_DEFINED__
     92 typedef struct IWiaItemExtras IWiaItemExtras;
     93 #endif
     94 
     95 #ifndef __WiaDevMgr_FWD_DEFINED__
     96 #define __WiaDevMgr_FWD_DEFINED__
     97 
     98 #ifdef __cplusplus
     99 typedef class WiaDevMgr WiaDevMgr;
    100 #else
    101 typedef struct WiaDevMgr WiaDevMgr;
    102 #endif
    103 #endif
    104 
    105 #ifndef __WiaLog_FWD_DEFINED__
    106 #define __WiaLog_FWD_DEFINED__
    107 
    108 #ifdef __cplusplus
    109 typedef class WiaLog WiaLog;
    110 #else
    111 typedef struct WiaLog WiaLog;
    112 #endif
    113 #endif
    114 
    115 #include "unknwn.h"
    116 #include "oaidl.h"
    117 #include "propidl.h"
    118 
    119 #ifdef __cplusplus
    120 extern "C" {
    121 #endif
    122 
    123 #ifndef __MIDL_user_allocate_free_DEFINED__
    124 #define __MIDL_user_allocate_free_DEFINED__
    125   void *__RPC_API MIDL_user_allocate(size_t);
    126   void __RPC_API MIDL_user_free(void *);
    127 #endif
    128 
    129   typedef struct _WIA_DITHER_PATTERN_DATA {
    130     LONG lSize;
    131     BSTR bstrPatternName;
    132     LONG lPatternWidth;
    133     LONG lPatternLength;
    134     LONG cbPattern;
    135     BYTE *pbPattern;
    136   } WIA_DITHER_PATTERN_DATA;
    137 
    138   typedef struct _WIA_DITHER_PATTERN_DATA *PWIA_DITHER_PATTERN_DATA;
    139 
    140   typedef struct _WIA_PROPID_TO_NAME {
    141     PROPID propid;
    142     LPOLESTR pszName;
    143   } WIA_PROPID_TO_NAME;
    144 
    145   typedef struct _WIA_PROPID_TO_NAME *PWIA_PROPID_TO_NAME;
    146 
    147   typedef struct _WIA_FORMAT_INFO {
    148     GUID guidFormatID;
    149     LONG lTymed;
    150   } WIA_FORMAT_INFO;
    151 
    152   typedef struct _WIA_FORMAT_INFO *PWIA_FORMAT_INFO;
    153 
    154 #include "wiadef.h"
    155 
    156   extern RPC_IF_HANDLE __MIDL_itf_wia_0000_v0_0_c_ifspec;
    157   extern RPC_IF_HANDLE __MIDL_itf_wia_0000_v0_0_s_ifspec;
    158 #ifndef __IWiaDevMgr_INTERFACE_DEFINED__
    159 #define __IWiaDevMgr_INTERFACE_DEFINED__
    160   EXTERN_C const IID IID_IWiaDevMgr;
    161 #if defined(__cplusplus) && !defined(CINTERFACE)
    162   struct IWiaDevMgr : public IUnknown {
    163   public:
    164     virtual HRESULT WINAPI EnumDeviceInfo(LONG lFlag,IEnumWIA_DEV_INFO **ppIEnum) = 0;
    165     virtual HRESULT WINAPI CreateDevice(BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot) = 0;
    166     virtual HRESULT WINAPI SelectDeviceDlg(HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot) = 0;
    167     virtual HRESULT WINAPI SelectDeviceDlgID(HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID) = 0;
    168     virtual HRESULT WINAPI GetImageDlg(HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat) = 0;
    169     virtual HRESULT WINAPI RegisterEventCallbackProgram(LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) = 0;
    170     virtual HRESULT WINAPI RegisterEventCallbackInterface(LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject) = 0;
    171     virtual HRESULT WINAPI RegisterEventCallbackCLSID(LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) = 0;
    172     virtual HRESULT WINAPI AddDeviceDlg(HWND hwndParent,LONG lFlags) = 0;
    173   };
    174 #else
    175   typedef struct IWiaDevMgrVtbl {
    176     BEGIN_INTERFACE
    177       HRESULT (WINAPI *QueryInterface)(IWiaDevMgr *This,REFIID riid,void **ppvObject);
    178       ULONG (WINAPI *AddRef)(IWiaDevMgr *This);
    179       ULONG (WINAPI *Release)(IWiaDevMgr *This);
    180       HRESULT (WINAPI *EnumDeviceInfo)(IWiaDevMgr *This,LONG lFlag,IEnumWIA_DEV_INFO **ppIEnum);
    181       HRESULT (WINAPI *CreateDevice)(IWiaDevMgr *This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot);
    182       HRESULT (WINAPI *SelectDeviceDlg)(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot);
    183       HRESULT (WINAPI *SelectDeviceDlgID)(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID);
    184       HRESULT (WINAPI *GetImageDlg)(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat);
    185       HRESULT (WINAPI *RegisterEventCallbackProgram)(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon);
    186       HRESULT (WINAPI *RegisterEventCallbackInterface)(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject);
    187       HRESULT (WINAPI *RegisterEventCallbackCLSID)(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon);
    188       HRESULT (WINAPI *AddDeviceDlg)(IWiaDevMgr *This,HWND hwndParent,LONG lFlags);
    189     END_INTERFACE
    190   } IWiaDevMgrVtbl;
    191   struct IWiaDevMgr {
    192     CONST_VTBL struct IWiaDevMgrVtbl *lpVtbl;
    193   };
    194 #ifdef COBJMACROS
    195 #define IWiaDevMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    196 #define IWiaDevMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
    197 #define IWiaDevMgr_Release(This) (This)->lpVtbl->Release(This)
    198 #define IWiaDevMgr_EnumDeviceInfo(This,lFlag,ppIEnum) (This)->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum)
    199 #define IWiaDevMgr_CreateDevice(This,bstrDeviceID,ppWiaItemRoot) (This)->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot)
    200 #define IWiaDevMgr_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) (This)->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot)
    201 #define IWiaDevMgr_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) (This)->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID)
    202 #define IWiaDevMgr_GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) (This)->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat)
    203 #define IWiaDevMgr_RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon)
    204 #define IWiaDevMgr_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) (This)->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject)
    205 #define IWiaDevMgr_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon)
    206 #define IWiaDevMgr_AddDeviceDlg(This,hwndParent,lFlags) (This)->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags)
    207 #endif
    208 #endif
    209   HRESULT WINAPI IWiaDevMgr_EnumDeviceInfo_Proxy(IWiaDevMgr *This,LONG lFlag,IEnumWIA_DEV_INFO **ppIEnum);
    210   void __RPC_STUB IWiaDevMgr_EnumDeviceInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    211   HRESULT WINAPI IWiaDevMgr_LocalCreateDevice_Proxy(IWiaDevMgr *This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot);
    212   void __RPC_STUB IWiaDevMgr_LocalCreateDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    213   HRESULT WINAPI IWiaDevMgr_LocalSelectDeviceDlg_Proxy(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot);
    214   void __RPC_STUB IWiaDevMgr_LocalSelectDeviceDlg_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    215   HRESULT WINAPI IWiaDevMgr_LocalSelectDeviceDlgID_Proxy(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID);
    216   void __RPC_STUB IWiaDevMgr_LocalSelectDeviceDlgID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    217   HRESULT WINAPI IWiaDevMgr_LocalGetImageDlg_Proxy(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat);
    218   void __RPC_STUB IWiaDevMgr_LocalGetImageDlg_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    219   HRESULT WINAPI IWiaDevMgr_LocalRegisterEventCallbackProgram_Proxy(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon);
    220   void __RPC_STUB IWiaDevMgr_LocalRegisterEventCallbackProgram_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    221   HRESULT WINAPI IWiaDevMgr_LocalRegisterEventCallbackInterface_Proxy(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject);
    222   void __RPC_STUB IWiaDevMgr_LocalRegisterEventCallbackInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    223   HRESULT WINAPI IWiaDevMgr_LocalRegisterEventCallbackCLSID_Proxy(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon);
    224   void __RPC_STUB IWiaDevMgr_LocalRegisterEventCallbackCLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    225   HRESULT WINAPI IWiaDevMgr_AddDeviceDlg_Proxy(IWiaDevMgr *This,HWND hwndParent,LONG lFlags);
    226   void __RPC_STUB IWiaDevMgr_AddDeviceDlg_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    227 #endif
    228 
    229 #ifndef __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__
    230 #define __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__
    231   EXTERN_C const IID IID_IEnumWIA_DEV_INFO;
    232 #if defined(__cplusplus) && !defined(CINTERFACE)
    233   struct IEnumWIA_DEV_INFO : public IUnknown {
    234   public:
    235     virtual HRESULT WINAPI Next(ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched) = 0;
    236     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
    237     virtual HRESULT WINAPI Reset(void) = 0;
    238     virtual HRESULT WINAPI Clone(IEnumWIA_DEV_INFO **ppIEnum) = 0;
    239     virtual HRESULT WINAPI GetCount(ULONG *celt) = 0;
    240   };
    241 #else
    242   typedef struct IEnumWIA_DEV_INFOVtbl {
    243     BEGIN_INTERFACE
    244       HRESULT (WINAPI *QueryInterface)(IEnumWIA_DEV_INFO *This,REFIID riid,void **ppvObject);
    245       ULONG (WINAPI *AddRef)(IEnumWIA_DEV_INFO *This);
    246       ULONG (WINAPI *Release)(IEnumWIA_DEV_INFO *This);
    247       HRESULT (WINAPI *Next)(IEnumWIA_DEV_INFO *This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched);
    248       HRESULT (WINAPI *Skip)(IEnumWIA_DEV_INFO *This,ULONG celt);
    249       HRESULT (WINAPI *Reset)(IEnumWIA_DEV_INFO *This);
    250       HRESULT (WINAPI *Clone)(IEnumWIA_DEV_INFO *This,IEnumWIA_DEV_INFO **ppIEnum);
    251       HRESULT (WINAPI *GetCount)(IEnumWIA_DEV_INFO *This,ULONG *celt);
    252     END_INTERFACE
    253   } IEnumWIA_DEV_INFOVtbl;
    254   struct IEnumWIA_DEV_INFO {
    255     CONST_VTBL struct IEnumWIA_DEV_INFOVtbl *lpVtbl;
    256   };
    257 #ifdef COBJMACROS
    258 #define IEnumWIA_DEV_INFO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    259 #define IEnumWIA_DEV_INFO_AddRef(This) (This)->lpVtbl->AddRef(This)
    260 #define IEnumWIA_DEV_INFO_Release(This) (This)->lpVtbl->Release(This)
    261 #define IEnumWIA_DEV_INFO_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
    262 #define IEnumWIA_DEV_INFO_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
    263 #define IEnumWIA_DEV_INFO_Reset(This) (This)->lpVtbl->Reset(This)
    264 #define IEnumWIA_DEV_INFO_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum)
    265 #define IEnumWIA_DEV_INFO_GetCount(This,celt) (This)->lpVtbl->GetCount(This,celt)
    266 #endif
    267 #endif
    268   HRESULT WINAPI IEnumWIA_DEV_INFO_RemoteNext_Proxy(IEnumWIA_DEV_INFO *This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched);
    269   void __RPC_STUB IEnumWIA_DEV_INFO_RemoteNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    270   HRESULT WINAPI IEnumWIA_DEV_INFO_Skip_Proxy(IEnumWIA_DEV_INFO *This,ULONG celt);
    271   void __RPC_STUB IEnumWIA_DEV_INFO_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    272   HRESULT WINAPI IEnumWIA_DEV_INFO_Reset_Proxy(IEnumWIA_DEV_INFO *This);
    273   void __RPC_STUB IEnumWIA_DEV_INFO_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    274   HRESULT WINAPI IEnumWIA_DEV_INFO_Clone_Proxy(IEnumWIA_DEV_INFO *This,IEnumWIA_DEV_INFO **ppIEnum);
    275   void __RPC_STUB IEnumWIA_DEV_INFO_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    276   HRESULT WINAPI IEnumWIA_DEV_INFO_GetCount_Proxy(IEnumWIA_DEV_INFO *This,ULONG *celt);
    277   void __RPC_STUB IEnumWIA_DEV_INFO_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    278 #endif
    279 
    280 #ifndef __IWiaEventCallback_INTERFACE_DEFINED__
    281 #define __IWiaEventCallback_INTERFACE_DEFINED__
    282   EXTERN_C const IID IID_IWiaEventCallback;
    283 #if defined(__cplusplus) && !defined(CINTERFACE)
    284   struct IWiaEventCallback : public IUnknown {
    285   public:
    286     virtual HRESULT WINAPI ImageEventCallback(const GUID *pEventGUID,BSTR bstrEventDescription,BSTR bstrDeviceID,BSTR bstrDeviceDescription,DWORD dwDeviceType,BSTR bstrFullItemName,ULONG *pulEventType,ULONG ulReserved) = 0;
    287   };
    288 #else
    289   typedef struct IWiaEventCallbackVtbl {
    290     BEGIN_INTERFACE
    291       HRESULT (WINAPI *QueryInterface)(IWiaEventCallback *This,REFIID riid,void **ppvObject);
    292       ULONG (WINAPI *AddRef)(IWiaEventCallback *This);
    293       ULONG (WINAPI *Release)(IWiaEventCallback *This);
    294       HRESULT (WINAPI *ImageEventCallback)(IWiaEventCallback *This,const GUID *pEventGUID,BSTR bstrEventDescription,BSTR bstrDeviceID,BSTR bstrDeviceDescription,DWORD dwDeviceType,BSTR bstrFullItemName,ULONG *pulEventType,ULONG ulReserved);
    295     END_INTERFACE
    296   } IWiaEventCallbackVtbl;
    297   struct IWiaEventCallback {
    298     CONST_VTBL struct IWiaEventCallbackVtbl *lpVtbl;
    299   };
    300 #ifdef COBJMACROS
    301 #define IWiaEventCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    302 #define IWiaEventCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
    303 #define IWiaEventCallback_Release(This) (This)->lpVtbl->Release(This)
    304 #define IWiaEventCallback_ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) (This)->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved)
    305 #endif
    306 #endif
    307   HRESULT WINAPI IWiaEventCallback_ImageEventCallback_Proxy(IWiaEventCallback *This,const GUID *pEventGUID,BSTR bstrEventDescription,BSTR bstrDeviceID,BSTR bstrDeviceDescription,DWORD dwDeviceType,BSTR bstrFullItemName,ULONG *pulEventType,ULONG ulReserved);
    308   void __RPC_STUB IWiaEventCallback_ImageEventCallback_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    309 #endif
    310 
    311   typedef struct _WIA_DATA_CALLBACK_HEADER {
    312     LONG lSize;
    313     GUID guidFormatID;
    314     LONG lBufferSize;
    315     LONG lPageCount;
    316   } WIA_DATA_CALLBACK_HEADER;
    317 
    318   typedef struct _WIA_DATA_CALLBACK_HEADER *PWIA_DATA_CALLBACK_HEADER;
    319 
    320   extern RPC_IF_HANDLE __MIDL_itf_wia_0125_v0_0_c_ifspec;
    321   extern RPC_IF_HANDLE __MIDL_itf_wia_0125_v0_0_s_ifspec;
    322 #ifndef __IWiaDataCallback_INTERFACE_DEFINED__
    323 #define __IWiaDataCallback_INTERFACE_DEFINED__
    324   EXTERN_C const IID IID_IWiaDataCallback;
    325 #if defined(__cplusplus) && !defined(CINTERFACE)
    326   struct IWiaDataCallback : public IUnknown {
    327   public:
    328     virtual HRESULT WINAPI BandedDataCallback(LONG lMessage,LONG lStatus,LONG lPercentComplete,LONG lOffset,LONG lLength,LONG lReserved,LONG lResLength,BYTE *pbBuffer) = 0;
    329   };
    330 #else
    331   typedef struct IWiaDataCallbackVtbl {
    332     BEGIN_INTERFACE
    333       HRESULT (WINAPI *QueryInterface)(IWiaDataCallback *This,REFIID riid,void **ppvObject);
    334       ULONG (WINAPI *AddRef)(IWiaDataCallback *This);
    335       ULONG (WINAPI *Release)(IWiaDataCallback *This);
    336       HRESULT (WINAPI *BandedDataCallback)(IWiaDataCallback *This,LONG lMessage,LONG lStatus,LONG lPercentComplete,LONG lOffset,LONG lLength,LONG lReserved,LONG lResLength,BYTE *pbBuffer);
    337     END_INTERFACE
    338   } IWiaDataCallbackVtbl;
    339   struct IWiaDataCallback {
    340     CONST_VTBL struct IWiaDataCallbackVtbl *lpVtbl;
    341   };
    342 #ifdef COBJMACROS
    343 #define IWiaDataCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    344 #define IWiaDataCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
    345 #define IWiaDataCallback_Release(This) (This)->lpVtbl->Release(This)
    346 #define IWiaDataCallback_BandedDataCallback(This,lMessage,lStatus,lPercentComplete,lOffset,lLength,lReserved,lResLength,pbBuffer) (This)->lpVtbl->BandedDataCallback(This,lMessage,lStatus,lPercentComplete,lOffset,lLength,lReserved,lResLength,pbBuffer)
    347 #endif
    348 #endif
    349   HRESULT WINAPI IWiaDataCallback_RemoteBandedDataCallback_Proxy(IWiaDataCallback *This,LONG lMessage,LONG lStatus,LONG lPercentComplete,LONG lOffset,LONG lLength,LONG lReserved,LONG lResLength,BYTE *pbBuffer);
    350   void __RPC_STUB IWiaDataCallback_RemoteBandedDataCallback_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    351 #endif
    352 
    353   typedef struct _WIA_DATA_TRANSFER_INFO {
    354     ULONG ulSize;
    355     ULONG ulSection;
    356     ULONG ulBufferSize;
    357     WINBOOL bDoubleBuffer;
    358     ULONG ulReserved1;
    359     ULONG ulReserved2;
    360     ULONG ulReserved3;
    361   } WIA_DATA_TRANSFER_INFO;
    362 
    363   typedef struct _WIA_DATA_TRANSFER_INFO *PWIA_DATA_TRANSFER_INFO;
    364 
    365   typedef struct _WIA_EXTENDED_TRANSFER_INFO {
    366     ULONG ulSize;
    367     ULONG ulMinBufferSize;
    368     ULONG ulOptimalBufferSize;
    369     ULONG ulMaxBufferSize;
    370     ULONG ulNumBuffers;
    371   } WIA_EXTENDED_TRANSFER_INFO;
    372 
    373   typedef struct _WIA_EXTENDED_TRANSFER_INFO *PWIA_EXTENDED_TRANSFER_INFO;
    374 
    375   extern RPC_IF_HANDLE __MIDL_itf_wia_0126_v0_0_c_ifspec;
    376   extern RPC_IF_HANDLE __MIDL_itf_wia_0126_v0_0_s_ifspec;
    377 #ifndef __IWiaDataTransfer_INTERFACE_DEFINED__
    378 #define __IWiaDataTransfer_INTERFACE_DEFINED__
    379   EXTERN_C const IID IID_IWiaDataTransfer;
    380 #if defined(__cplusplus) && !defined(CINTERFACE)
    381   struct IWiaDataTransfer : public IUnknown {
    382   public:
    383     virtual HRESULT WINAPI idtGetData(LPSTGMEDIUM pMedium,IWiaDataCallback *pIWiaDataCallback) = 0;
    384     virtual HRESULT WINAPI idtGetBandedData(PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,IWiaDataCallback *pIWiaDataCallback) = 0;
    385     virtual HRESULT WINAPI idtQueryGetData(WIA_FORMAT_INFO *pfe) = 0;
    386     virtual HRESULT WINAPI idtEnumWIA_FORMAT_INFO(IEnumWIA_FORMAT_INFO **ppEnum) = 0;
    387     virtual HRESULT WINAPI idtGetExtendedTransferInfo(PWIA_EXTENDED_TRANSFER_INFO pExtendedTransferInfo) = 0;
    388   };
    389 #else
    390   typedef struct IWiaDataTransferVtbl {
    391     BEGIN_INTERFACE
    392       HRESULT (WINAPI *QueryInterface)(IWiaDataTransfer *This,REFIID riid,void **ppvObject);
    393       ULONG (WINAPI *AddRef)(IWiaDataTransfer *This);
    394       ULONG (WINAPI *Release)(IWiaDataTransfer *This);
    395       HRESULT (WINAPI *idtGetData)(IWiaDataTransfer *This,LPSTGMEDIUM pMedium,IWiaDataCallback *pIWiaDataCallback);
    396       HRESULT (WINAPI *idtGetBandedData)(IWiaDataTransfer *This,PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,IWiaDataCallback *pIWiaDataCallback);
    397       HRESULT (WINAPI *idtQueryGetData)(IWiaDataTransfer *This,WIA_FORMAT_INFO *pfe);
    398       HRESULT (WINAPI *idtEnumWIA_FORMAT_INFO)(IWiaDataTransfer *This,IEnumWIA_FORMAT_INFO **ppEnum);
    399       HRESULT (WINAPI *idtGetExtendedTransferInfo)(IWiaDataTransfer *This,PWIA_EXTENDED_TRANSFER_INFO pExtendedTransferInfo);
    400     END_INTERFACE
    401   } IWiaDataTransferVtbl;
    402   struct IWiaDataTransfer {
    403     CONST_VTBL struct IWiaDataTransferVtbl *lpVtbl;
    404   };
    405 #ifdef COBJMACROS
    406 #define IWiaDataTransfer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    407 #define IWiaDataTransfer_AddRef(This) (This)->lpVtbl->AddRef(This)
    408 #define IWiaDataTransfer_Release(This) (This)->lpVtbl->Release(This)
    409 #define IWiaDataTransfer_idtGetData(This,pMedium,pIWiaDataCallback) (This)->lpVtbl->idtGetData(This,pMedium,pIWiaDataCallback)
    410 #define IWiaDataTransfer_idtGetBandedData(This,pWiaDataTransInfo,pIWiaDataCallback) (This)->lpVtbl->idtGetBandedData(This,pWiaDataTransInfo,pIWiaDataCallback)
    411 #define IWiaDataTransfer_idtQueryGetData(This,pfe) (This)->lpVtbl->idtQueryGetData(This,pfe)
    412 #define IWiaDataTransfer_idtEnumWIA_FORMAT_INFO(This,ppEnum) (This)->lpVtbl->idtEnumWIA_FORMAT_INFO(This,ppEnum)
    413 #define IWiaDataTransfer_idtGetExtendedTransferInfo(This,pExtendedTransferInfo) (This)->lpVtbl->idtGetExtendedTransferInfo(This,pExtendedTransferInfo)
    414 #endif
    415 #endif
    416   HRESULT WINAPI IWiaDataTransfer_idtGetDataEx_Proxy(IWiaDataTransfer *This,LPSTGMEDIUM pMedium,IWiaDataCallback *pIWiaDataCallback);
    417   void __RPC_STUB IWiaDataTransfer_idtGetDataEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    418   HRESULT WINAPI IWiaDataTransfer_idtGetBandedDataEx_Proxy(IWiaDataTransfer *This,PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,IWiaDataCallback *pIWiaDataCallback);
    419   void __RPC_STUB IWiaDataTransfer_idtGetBandedDataEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    420   HRESULT WINAPI IWiaDataTransfer_idtQueryGetData_Proxy(IWiaDataTransfer *This,WIA_FORMAT_INFO *pfe);
    421   void __RPC_STUB IWiaDataTransfer_idtQueryGetData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    422   HRESULT WINAPI IWiaDataTransfer_idtEnumWIA_FORMAT_INFO_Proxy(IWiaDataTransfer *This,IEnumWIA_FORMAT_INFO **ppEnum);
    423   void __RPC_STUB IWiaDataTransfer_idtEnumWIA_FORMAT_INFO_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    424   HRESULT WINAPI IWiaDataTransfer_idtGetExtendedTransferInfo_Proxy(IWiaDataTransfer *This,PWIA_EXTENDED_TRANSFER_INFO pExtendedTransferInfo);
    425   void __RPC_STUB IWiaDataTransfer_idtGetExtendedTransferInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    426 #endif
    427 
    428 #ifndef __IWiaItem_INTERFACE_DEFINED__
    429 #define __IWiaItem_INTERFACE_DEFINED__
    430   EXTERN_C const IID IID_IWiaItem;
    431 #if defined(__cplusplus) && !defined(CINTERFACE)
    432   struct IWiaItem : public IUnknown {
    433   public:
    434     virtual HRESULT WINAPI GetItemType(LONG *pItemType) = 0;
    435     virtual HRESULT WINAPI AnalyzeItem(LONG lFlags) = 0;
    436     virtual HRESULT WINAPI EnumChildItems(IEnumWiaItem **ppIEnumWiaItem) = 0;
    437     virtual HRESULT WINAPI DeleteItem(LONG lFlags) = 0;
    438     virtual HRESULT WINAPI CreateChildItem(LONG lFlags,BSTR bstrItemName,BSTR bstrFullItemName,IWiaItem **ppIWiaItem) = 0;
    439     virtual HRESULT WINAPI EnumRegisterEventInfo(LONG lFlags,const GUID *pEventGUID,IEnumWIA_DEV_CAPS **ppIEnum) = 0;
    440     virtual HRESULT WINAPI FindItemByName(LONG lFlags,BSTR bstrFullItemName,IWiaItem **ppIWiaItem) = 0;
    441     virtual HRESULT WINAPI DeviceDlg(HWND hwndParent,LONG lFlags,LONG lIntent,LONG *plItemCount,IWiaItem ***ppIWiaItem) = 0;
    442     virtual HRESULT WINAPI DeviceCommand(LONG lFlags,const GUID *pCmdGUID,IWiaItem **pIWiaItem) = 0;
    443     virtual HRESULT WINAPI GetRootItem(IWiaItem **ppIWiaItem) = 0;
    444     virtual HRESULT WINAPI EnumDeviceCapabilities(LONG lFlags,IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS) = 0;
    445     virtual HRESULT WINAPI DumpItemData(BSTR *bstrData) = 0;
    446     virtual HRESULT WINAPI DumpDrvItemData(BSTR *bstrData) = 0;
    447     virtual HRESULT WINAPI DumpTreeItemData(BSTR *bstrData) = 0;
    448     virtual HRESULT WINAPI Diagnostic(ULONG ulSize,BYTE *pBuffer) = 0;
    449   };
    450 #else
    451   typedef struct IWiaItemVtbl {
    452     BEGIN_INTERFACE
    453       HRESULT (WINAPI *QueryInterface)(IWiaItem *This,REFIID riid,void **ppvObject);
    454       ULONG (WINAPI *AddRef)(IWiaItem *This);
    455       ULONG (WINAPI *Release)(IWiaItem *This);
    456       HRESULT (WINAPI *GetItemType)(IWiaItem *This,LONG *pItemType);
    457       HRESULT (WINAPI *AnalyzeItem)(IWiaItem *This,LONG lFlags);
    458       HRESULT (WINAPI *EnumChildItems)(IWiaItem *This,IEnumWiaItem **ppIEnumWiaItem);
    459       HRESULT (WINAPI *DeleteItem)(IWiaItem *This,LONG lFlags);
    460       HRESULT (WINAPI *CreateChildItem)(IWiaItem *This,LONG lFlags,BSTR bstrItemName,BSTR bstrFullItemName,IWiaItem **ppIWiaItem);
    461       HRESULT (WINAPI *EnumRegisterEventInfo)(IWiaItem *This,LONG lFlags,const GUID *pEventGUID,IEnumWIA_DEV_CAPS **ppIEnum);
    462       HRESULT (WINAPI *FindItemByName)(IWiaItem *This,LONG lFlags,BSTR bstrFullItemName,IWiaItem **ppIWiaItem);
    463       HRESULT (WINAPI *DeviceDlg)(IWiaItem *This,HWND hwndParent,LONG lFlags,LONG lIntent,LONG *plItemCount,IWiaItem ***ppIWiaItem);
    464       HRESULT (WINAPI *DeviceCommand)(IWiaItem *This,LONG lFlags,const GUID *pCmdGUID,IWiaItem **pIWiaItem);
    465       HRESULT (WINAPI *GetRootItem)(IWiaItem *This,IWiaItem **ppIWiaItem);
    466       HRESULT (WINAPI *EnumDeviceCapabilities)(IWiaItem *This,LONG lFlags,IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS);
    467       HRESULT (WINAPI *DumpItemData)(IWiaItem *This,BSTR *bstrData);
    468       HRESULT (WINAPI *DumpDrvItemData)(IWiaItem *This,BSTR *bstrData);
    469       HRESULT (WINAPI *DumpTreeItemData)(IWiaItem *This,BSTR *bstrData);
    470       HRESULT (WINAPI *Diagnostic)(IWiaItem *This,ULONG ulSize,BYTE *pBuffer);
    471     END_INTERFACE
    472   } IWiaItemVtbl;
    473   struct IWiaItem {
    474     CONST_VTBL struct IWiaItemVtbl *lpVtbl;
    475   };
    476 #ifdef COBJMACROS
    477 #define IWiaItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    478 #define IWiaItem_AddRef(This) (This)->lpVtbl->AddRef(This)
    479 #define IWiaItem_Release(This) (This)->lpVtbl->Release(This)
    480 #define IWiaItem_GetItemType(This,pItemType) (This)->lpVtbl->GetItemType(This,pItemType)
    481 #define IWiaItem_AnalyzeItem(This,lFlags) (This)->lpVtbl->AnalyzeItem(This,lFlags)
    482 #define IWiaItem_EnumChildItems(This,ppIEnumWiaItem) (This)->lpVtbl->EnumChildItems(This,ppIEnumWiaItem)
    483 #define IWiaItem_DeleteItem(This,lFlags) (This)->lpVtbl->DeleteItem(This,lFlags)
    484 #define IWiaItem_CreateChildItem(This,lFlags,bstrItemName,bstrFullItemName,ppIWiaItem) (This)->lpVtbl->CreateChildItem(This,lFlags,bstrItemName,bstrFullItemName,ppIWiaItem)
    485 #define IWiaItem_EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum) (This)->lpVtbl->EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum)
    486 #define IWiaItem_FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem) (This)->lpVtbl->FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem)
    487 #define IWiaItem_DeviceDlg(This,hwndParent,lFlags,lIntent,plItemCount,ppIWiaItem) (This)->lpVtbl->DeviceDlg(This,hwndParent,lFlags,lIntent,plItemCount,ppIWiaItem)
    488 #define IWiaItem_DeviceCommand(This,lFlags,pCmdGUID,pIWiaItem) (This)->lpVtbl->DeviceCommand(This,lFlags,pCmdGUID,pIWiaItem)
    489 #define IWiaItem_GetRootItem(This,ppIWiaItem) (This)->lpVtbl->GetRootItem(This,ppIWiaItem)
    490 #define IWiaItem_EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS) (This)->lpVtbl->EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS)
    491 #define IWiaItem_DumpItemData(This,bstrData) (This)->lpVtbl->DumpItemData(This,bstrData)
    492 #define IWiaItem_DumpDrvItemData(This,bstrData) (This)->lpVtbl->DumpDrvItemData(This,bstrData)
    493 #define IWiaItem_DumpTreeItemData(This,bstrData) (This)->lpVtbl->DumpTreeItemData(This,bstrData)
    494 #define IWiaItem_Diagnostic(This,ulSize,pBuffer) (This)->lpVtbl->Diagnostic(This,ulSize,pBuffer)
    495 #endif
    496 #endif
    497   HRESULT WINAPI IWiaItem_GetItemType_Proxy(IWiaItem *This,LONG *pItemType);
    498   void __RPC_STUB IWiaItem_GetItemType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    499   HRESULT WINAPI IWiaItem_AnalyzeItem_Proxy(IWiaItem *This,LONG lFlags);
    500   void __RPC_STUB IWiaItem_AnalyzeItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    501   HRESULT WINAPI IWiaItem_EnumChildItems_Proxy(IWiaItem *This,IEnumWiaItem **ppIEnumWiaItem);
    502   void __RPC_STUB IWiaItem_EnumChildItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    503   HRESULT WINAPI IWiaItem_DeleteItem_Proxy(IWiaItem *This,LONG lFlags);
    504   void __RPC_STUB IWiaItem_DeleteItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    505   HRESULT WINAPI IWiaItem_CreateChildItem_Proxy(IWiaItem *This,LONG lFlags,BSTR bstrItemName,BSTR bstrFullItemName,IWiaItem **ppIWiaItem);
    506   void __RPC_STUB IWiaItem_CreateChildItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    507   HRESULT WINAPI IWiaItem_EnumRegisterEventInfo_Proxy(IWiaItem *This,LONG lFlags,const GUID *pEventGUID,IEnumWIA_DEV_CAPS **ppIEnum);
    508   void __RPC_STUB IWiaItem_EnumRegisterEventInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    509   HRESULT WINAPI IWiaItem_FindItemByName_Proxy(IWiaItem *This,LONG lFlags,BSTR bstrFullItemName,IWiaItem **ppIWiaItem);
    510   void __RPC_STUB IWiaItem_FindItemByName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    511   HRESULT WINAPI IWiaItem_LocalDeviceDlg_Proxy(IWiaItem *This,HWND hwndParent,LONG lFlags,LONG lIntent,LONG *plItemCount,IWiaItem ***pIWiaItem);
    512   void __RPC_STUB IWiaItem_LocalDeviceDlg_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    513   HRESULT WINAPI IWiaItem_DeviceCommand_Proxy(IWiaItem *This,LONG lFlags,const GUID *pCmdGUID,IWiaItem **pIWiaItem);
    514   void __RPC_STUB IWiaItem_DeviceCommand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    515   HRESULT WINAPI IWiaItem_GetRootItem_Proxy(IWiaItem *This,IWiaItem **ppIWiaItem);
    516   void __RPC_STUB IWiaItem_GetRootItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    517   HRESULT WINAPI IWiaItem_EnumDeviceCapabilities_Proxy(IWiaItem *This,LONG lFlags,IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS);
    518   void __RPC_STUB IWiaItem_EnumDeviceCapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    519   HRESULT WINAPI IWiaItem_DumpItemData_Proxy(IWiaItem *This,BSTR *bstrData);
    520   void __RPC_STUB IWiaItem_DumpItemData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    521   HRESULT WINAPI IWiaItem_DumpDrvItemData_Proxy(IWiaItem *This,BSTR *bstrData);
    522   void __RPC_STUB IWiaItem_DumpDrvItemData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    523   HRESULT WINAPI IWiaItem_DumpTreeItemData_Proxy(IWiaItem *This,BSTR *bstrData);
    524   void __RPC_STUB IWiaItem_DumpTreeItemData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    525   HRESULT WINAPI IWiaItem_Diagnostic_Proxy(IWiaItem *This,ULONG ulSize,BYTE *pBuffer);
    526   void __RPC_STUB IWiaItem_Diagnostic_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    527 #endif
    528 
    529 #ifndef __IWiaPropertyStorage_INTERFACE_DEFINED__
    530 #define __IWiaPropertyStorage_INTERFACE_DEFINED__
    531   EXTERN_C const IID IID_IWiaPropertyStorage;
    532 #if defined(__cplusplus) && !defined(CINTERFACE)
    533   struct IWiaPropertyStorage : public IUnknown {
    534   public:
    535     virtual HRESULT WINAPI ReadMultiple(ULONG cpspec,const PROPSPEC rgpspec[],PROPVARIANT rgpropvar[]) = 0;
    536     virtual HRESULT WINAPI WriteMultiple(ULONG cpspec,const PROPSPEC rgpspec[],const PROPVARIANT rgpropvar[],PROPID propidNameFirst) = 0;
    537     virtual HRESULT WINAPI DeleteMultiple(ULONG cpspec,const PROPSPEC rgpspec[]) = 0;
    538     virtual HRESULT WINAPI ReadPropertyNames(ULONG cpropid,const PROPID rgpropid[],LPOLESTR rglpwstrName[]) = 0;
    539     virtual HRESULT WINAPI WritePropertyNames(ULONG cpropid,const PROPID rgpropid[],const LPOLESTR rglpwstrName[]) = 0;
    540     virtual HRESULT WINAPI DeletePropertyNames(ULONG cpropid,const PROPID rgpropid[]) = 0;
    541     virtual HRESULT WINAPI Commit(DWORD grfCommitFlags) = 0;
    542     virtual HRESULT WINAPI Revert(void) = 0;
    543     virtual HRESULT WINAPI Enum(IEnumSTATPROPSTG **ppenum) = 0;
    544     virtual HRESULT WINAPI SetTimes(const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime) = 0;
    545     virtual HRESULT WINAPI SetClass(REFCLSID clsid) = 0;
    546     virtual HRESULT WINAPI Stat(STATPROPSETSTG *pstatpsstg) = 0;
    547     virtual HRESULT WINAPI GetPropertyAttributes(ULONG cpspec,PROPSPEC rgpspec[],ULONG rgflags[],PROPVARIANT rgpropvar[]) = 0;
    548     virtual HRESULT WINAPI GetCount(ULONG *pulNumProps) = 0;
    549     virtual HRESULT WINAPI GetPropertyStream(GUID *pCompatibilityId,IStream **ppIStream) = 0;
    550     virtual HRESULT WINAPI SetPropertyStream(GUID *pCompatibilityId,IStream *pIStream) = 0;
    551   };
    552 #else
    553   typedef struct IWiaPropertyStorageVtbl {
    554     BEGIN_INTERFACE
    555       HRESULT (WINAPI *QueryInterface)(IWiaPropertyStorage *This,REFIID riid,void **ppvObject);
    556       ULONG (WINAPI *AddRef)(IWiaPropertyStorage *This);
    557       ULONG (WINAPI *Release)(IWiaPropertyStorage *This);
    558       HRESULT (WINAPI *ReadMultiple)(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[],PROPVARIANT rgpropvar[]);
    559       HRESULT (WINAPI *WriteMultiple)(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[],const PROPVARIANT rgpropvar[],PROPID propidNameFirst);
    560       HRESULT (WINAPI *DeleteMultiple)(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[]);
    561       HRESULT (WINAPI *ReadPropertyNames)(IWiaPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[],LPOLESTR rglpwstrName[]);
    562       HRESULT (WINAPI *WritePropertyNames)(IWiaPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[],const LPOLESTR rglpwstrName[]);
    563       HRESULT (WINAPI *DeletePropertyNames)(IWiaPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[]);
    564       HRESULT (WINAPI *Commit)(IWiaPropertyStorage *This,DWORD grfCommitFlags);
    565       HRESULT (WINAPI *Revert)(IWiaPropertyStorage *This);
    566       HRESULT (WINAPI *Enum)(IWiaPropertyStorage *This,IEnumSTATPROPSTG **ppenum);
    567       HRESULT (WINAPI *SetTimes)(IWiaPropertyStorage *This,const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime);
    568       HRESULT (WINAPI *SetClass)(IWiaPropertyStorage *This,REFCLSID clsid);
    569       HRESULT (WINAPI *Stat)(IWiaPropertyStorage *This,STATPROPSETSTG *pstatpsstg);
    570       HRESULT (WINAPI *GetPropertyAttributes)(IWiaPropertyStorage *This,ULONG cpspec,PROPSPEC rgpspec[],ULONG rgflags[],PROPVARIANT rgpropvar[]);
    571       HRESULT (WINAPI *GetCount)(IWiaPropertyStorage *This,ULONG *pulNumProps);
    572       HRESULT (WINAPI *GetPropertyStream)(IWiaPropertyStorage *This,GUID *pCompatibilityId,IStream **ppIStream);
    573       HRESULT (WINAPI *SetPropertyStream)(IWiaPropertyStorage *This,GUID *pCompatibilityId,IStream *pIStream);
    574     END_INTERFACE
    575   } IWiaPropertyStorageVtbl;
    576   struct IWiaPropertyStorage {
    577     CONST_VTBL struct IWiaPropertyStorageVtbl *lpVtbl;
    578   };
    579 #ifdef COBJMACROS
    580 #define IWiaPropertyStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    581 #define IWiaPropertyStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
    582 #define IWiaPropertyStorage_Release(This) (This)->lpVtbl->Release(This)
    583 #define IWiaPropertyStorage_ReadMultiple(This,cpspec,rgpspec,rgpropvar) (This)->lpVtbl->ReadMultiple(This,cpspec,rgpspec,rgpropvar)
    584 #define IWiaPropertyStorage_WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst) (This)->lpVtbl->WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst)
    585 #define IWiaPropertyStorage_DeleteMultiple(This,cpspec,rgpspec) (This)->lpVtbl->DeleteMultiple(This,cpspec,rgpspec)
    586 #define IWiaPropertyStorage_ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) (This)->lpVtbl->ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName)
    587 #define IWiaPropertyStorage_WritePropertyNames(This,cpropid,rgpropid,rglpwstrName) (This)->lpVtbl->WritePropertyNames(This,cpropid,rgpropid,rglpwstrName)
    588 #define IWiaPropertyStorage_DeletePropertyNames(This,cpropid,rgpropid) (This)->lpVtbl->DeletePropertyNames(This,cpropid,rgpropid)
    589 #define IWiaPropertyStorage_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
    590 #define IWiaPropertyStorage_Revert(This) (This)->lpVtbl->Revert(This)
    591 #define IWiaPropertyStorage_Enum(This,ppenum) (This)->lpVtbl->Enum(This,ppenum)
    592 #define IWiaPropertyStorage_SetTimes(This,pctime,patime,pmtime) (This)->lpVtbl->SetTimes(This,pctime,patime,pmtime)
    593 #define IWiaPropertyStorage_SetClass(This,clsid) (This)->lpVtbl->SetClass(This,clsid)
    594 #define IWiaPropertyStorage_Stat(This,pstatpsstg) (This)->lpVtbl->Stat(This,pstatpsstg)
    595 #define IWiaPropertyStorage_GetPropertyAttributes(This,cpspec,rgpspec,rgflags,rgpropvar) (This)->lpVtbl->GetPropertyAttributes(This,cpspec,rgpspec,rgflags,rgpropvar)
    596 #define IWiaPropertyStorage_GetCount(This,pulNumProps) (This)->lpVtbl->GetCount(This,pulNumProps)
    597 #define IWiaPropertyStorage_GetPropertyStream(This,pCompatibilityId,ppIStream) (This)->lpVtbl->GetPropertyStream(This,pCompatibilityId,ppIStream)
    598 #define IWiaPropertyStorage_SetPropertyStream(This,pCompatibilityId,pIStream) (This)->lpVtbl->SetPropertyStream(This,pCompatibilityId,pIStream)
    599 #endif
    600 #endif
    601   HRESULT WINAPI IWiaPropertyStorage_ReadMultiple_Proxy(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[],PROPVARIANT rgpropvar[]);
    602   void __RPC_STUB IWiaPropertyStorage_ReadMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    603   HRESULT WINAPI IWiaPropertyStorage_RemoteWriteMultiple_Proxy(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC *rgpspec,const PROPVARIANT *rgpropvar,PROPID propidNameFirst);
    604   void __RPC_STUB IWiaPropertyStorage_RemoteWriteMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    605   HRESULT WINAPI IWiaPropertyStorage_DeleteMultiple_Proxy(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[]);
    606   void __RPC_STUB IWiaPropertyStorage_DeleteMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    607   HRESULT WINAPI IWiaPropertyStorage_ReadPropertyNames_Proxy(IWiaPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[],LPOLESTR rglpwstrName[]);
    608   void __RPC_STUB IWiaPropertyStorage_ReadPropertyNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    609   HRESULT WINAPI IWiaPropertyStorage_WritePropertyNames_Proxy(IWiaPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[],const LPOLESTR rglpwstrName[]);
    610   void __RPC_STUB IWiaPropertyStorage_WritePropertyNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    611   HRESULT WINAPI IWiaPropertyStorage_DeletePropertyNames_Proxy(IWiaPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[]);
    612   void __RPC_STUB IWiaPropertyStorage_DeletePropertyNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    613   HRESULT WINAPI IWiaPropertyStorage_Commit_Proxy(IWiaPropertyStorage *This,DWORD grfCommitFlags);
    614   void __RPC_STUB IWiaPropertyStorage_Commit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    615   HRESULT WINAPI IWiaPropertyStorage_Revert_Proxy(IWiaPropertyStorage *This);
    616   void __RPC_STUB IWiaPropertyStorage_Revert_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    617   HRESULT WINAPI IWiaPropertyStorage_Enum_Proxy(IWiaPropertyStorage *This,IEnumSTATPROPSTG **ppenum);
    618   void __RPC_STUB IWiaPropertyStorage_Enum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    619   HRESULT WINAPI IWiaPropertyStorage_SetTimes_Proxy(IWiaPropertyStorage *This,const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime);
    620   void __RPC_STUB IWiaPropertyStorage_SetTimes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    621   HRESULT WINAPI IWiaPropertyStorage_SetClass_Proxy(IWiaPropertyStorage *This,REFCLSID clsid);
    622   void __RPC_STUB IWiaPropertyStorage_SetClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    623   HRESULT WINAPI IWiaPropertyStorage_Stat_Proxy(IWiaPropertyStorage *This,STATPROPSETSTG *pstatpsstg);
    624   void __RPC_STUB IWiaPropertyStorage_Stat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    625   HRESULT WINAPI IWiaPropertyStorage_GetPropertyAttributes_Proxy(IWiaPropertyStorage *This,ULONG cpspec,PROPSPEC rgpspec[],ULONG rgflags[],PROPVARIANT rgpropvar[]);
    626   void __RPC_STUB IWiaPropertyStorage_GetPropertyAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    627   HRESULT WINAPI IWiaPropertyStorage_GetCount_Proxy(IWiaPropertyStorage *This,ULONG *pulNumProps);
    628   void __RPC_STUB IWiaPropertyStorage_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    629   HRESULT WINAPI IWiaPropertyStorage_GetPropertyStream_Proxy(IWiaPropertyStorage *This,GUID *pCompatibilityId,IStream **ppIStream);
    630   void __RPC_STUB IWiaPropertyStorage_GetPropertyStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    631   HRESULT WINAPI IWiaPropertyStorage_RemoteSetPropertyStream_Proxy(IWiaPropertyStorage *This,GUID *pCompatibilityId,IStream *pIStream);
    632   void __RPC_STUB IWiaPropertyStorage_RemoteSetPropertyStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    633 #endif
    634 
    635 #ifndef __IEnumWiaItem_INTERFACE_DEFINED__
    636 #define __IEnumWiaItem_INTERFACE_DEFINED__
    637   EXTERN_C const IID IID_IEnumWiaItem;
    638 #if defined(__cplusplus) && !defined(CINTERFACE)
    639   struct IEnumWiaItem : public IUnknown {
    640   public:
    641     virtual HRESULT WINAPI Next(ULONG celt,IWiaItem **ppIWiaItem,ULONG *pceltFetched) = 0;
    642     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
    643     virtual HRESULT WINAPI Reset(void) = 0;
    644     virtual HRESULT WINAPI Clone(IEnumWiaItem **ppIEnum) = 0;
    645     virtual HRESULT WINAPI GetCount(ULONG *celt) = 0;
    646   };
    647 #else
    648   typedef struct IEnumWiaItemVtbl {
    649     BEGIN_INTERFACE
    650       HRESULT (WINAPI *QueryInterface)(IEnumWiaItem *This,REFIID riid,void **ppvObject);
    651       ULONG (WINAPI *AddRef)(IEnumWiaItem *This);
    652       ULONG (WINAPI *Release)(IEnumWiaItem *This);
    653       HRESULT (WINAPI *Next)(IEnumWiaItem *This,ULONG celt,IWiaItem **ppIWiaItem,ULONG *pceltFetched);
    654       HRESULT (WINAPI *Skip)(IEnumWiaItem *This,ULONG celt);
    655       HRESULT (WINAPI *Reset)(IEnumWiaItem *This);
    656       HRESULT (WINAPI *Clone)(IEnumWiaItem *This,IEnumWiaItem **ppIEnum);
    657       HRESULT (WINAPI *GetCount)(IEnumWiaItem *This,ULONG *celt);
    658     END_INTERFACE
    659   } IEnumWiaItemVtbl;
    660   struct IEnumWiaItem {
    661     CONST_VTBL struct IEnumWiaItemVtbl *lpVtbl;
    662   };
    663 #ifdef COBJMACROS
    664 #define IEnumWiaItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    665 #define IEnumWiaItem_AddRef(This) (This)->lpVtbl->AddRef(This)
    666 #define IEnumWiaItem_Release(This) (This)->lpVtbl->Release(This)
    667 #define IEnumWiaItem_Next(This,celt,ppIWiaItem,pceltFetched) (This)->lpVtbl->Next(This,celt,ppIWiaItem,pceltFetched)
    668 #define IEnumWiaItem_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
    669 #define IEnumWiaItem_Reset(This) (This)->lpVtbl->Reset(This)
    670 #define IEnumWiaItem_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum)
    671 #define IEnumWiaItem_GetCount(This,celt) (This)->lpVtbl->GetCount(This,celt)
    672 #endif
    673 #endif
    674   HRESULT WINAPI IEnumWiaItem_RemoteNext_Proxy(IEnumWiaItem *This,ULONG celt,IWiaItem **ppIWiaItem,ULONG *pceltFetched);
    675   void __RPC_STUB IEnumWiaItem_RemoteNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    676   HRESULT WINAPI IEnumWiaItem_Skip_Proxy(IEnumWiaItem *This,ULONG celt);
    677   void __RPC_STUB IEnumWiaItem_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    678   HRESULT WINAPI IEnumWiaItem_Reset_Proxy(IEnumWiaItem *This);
    679   void __RPC_STUB IEnumWiaItem_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    680   HRESULT WINAPI IEnumWiaItem_Clone_Proxy(IEnumWiaItem *This,IEnumWiaItem **ppIEnum);
    681   void __RPC_STUB IEnumWiaItem_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    682   HRESULT WINAPI IEnumWiaItem_GetCount_Proxy(IEnumWiaItem *This,ULONG *celt);
    683   void __RPC_STUB IEnumWiaItem_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    684 #endif
    685 
    686   typedef struct _WIA_DEV_CAP {
    687     GUID guid;
    688     ULONG ulFlags;
    689     BSTR bstrName;
    690     BSTR bstrDescription;
    691     BSTR bstrIcon;
    692     BSTR bstrCommandline;
    693   } WIA_DEV_CAP;
    694 
    695   typedef struct _WIA_DEV_CAP *PWIA_DEV_CAP;
    696   typedef struct _WIA_DEV_CAP WIA_EVENT_HANDLER;
    697   typedef struct _WIA_DEV_CAP *PWIA_EVENT_HANDLER;
    698 
    699   extern RPC_IF_HANDLE __MIDL_itf_wia_0130_v0_0_c_ifspec;
    700   extern RPC_IF_HANDLE __MIDL_itf_wia_0130_v0_0_s_ifspec;
    701 #ifndef __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__
    702 #define __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__
    703   EXTERN_C const IID IID_IEnumWIA_DEV_CAPS;
    704 #if defined(__cplusplus) && !defined(CINTERFACE)
    705   struct IEnumWIA_DEV_CAPS : public IUnknown {
    706   public:
    707     virtual HRESULT WINAPI Next(ULONG celt,WIA_DEV_CAP *rgelt,ULONG *pceltFetched) = 0;
    708     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
    709     virtual HRESULT WINAPI Reset(void) = 0;
    710     virtual HRESULT WINAPI Clone(IEnumWIA_DEV_CAPS **ppIEnum) = 0;
    711     virtual HRESULT WINAPI GetCount(ULONG *pcelt) = 0;
    712   };
    713 #else
    714   typedef struct IEnumWIA_DEV_CAPSVtbl {
    715     BEGIN_INTERFACE
    716       HRESULT (WINAPI *QueryInterface)(IEnumWIA_DEV_CAPS *This,REFIID riid,void **ppvObject);
    717       ULONG (WINAPI *AddRef)(IEnumWIA_DEV_CAPS *This);
    718       ULONG (WINAPI *Release)(IEnumWIA_DEV_CAPS *This);
    719       HRESULT (WINAPI *Next)(IEnumWIA_DEV_CAPS *This,ULONG celt,WIA_DEV_CAP *rgelt,ULONG *pceltFetched);
    720       HRESULT (WINAPI *Skip)(IEnumWIA_DEV_CAPS *This,ULONG celt);
    721       HRESULT (WINAPI *Reset)(IEnumWIA_DEV_CAPS *This);
    722       HRESULT (WINAPI *Clone)(IEnumWIA_DEV_CAPS *This,IEnumWIA_DEV_CAPS **ppIEnum);
    723       HRESULT (WINAPI *GetCount)(IEnumWIA_DEV_CAPS *This,ULONG *pcelt);
    724     END_INTERFACE
    725   } IEnumWIA_DEV_CAPSVtbl;
    726   struct IEnumWIA_DEV_CAPS {
    727     CONST_VTBL struct IEnumWIA_DEV_CAPSVtbl *lpVtbl;
    728   };
    729 #ifdef COBJMACROS
    730 #define IEnumWIA_DEV_CAPS_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    731 #define IEnumWIA_DEV_CAPS_AddRef(This) (This)->lpVtbl->AddRef(This)
    732 #define IEnumWIA_DEV_CAPS_Release(This) (This)->lpVtbl->Release(This)
    733 #define IEnumWIA_DEV_CAPS_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
    734 #define IEnumWIA_DEV_CAPS_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
    735 #define IEnumWIA_DEV_CAPS_Reset(This) (This)->lpVtbl->Reset(This)
    736 #define IEnumWIA_DEV_CAPS_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum)
    737 #define IEnumWIA_DEV_CAPS_GetCount(This,pcelt) (This)->lpVtbl->GetCount(This,pcelt)
    738 #endif
    739 #endif
    740   HRESULT WINAPI IEnumWIA_DEV_CAPS_RemoteNext_Proxy(IEnumWIA_DEV_CAPS *This,ULONG celt,WIA_DEV_CAP *rgelt,ULONG *pceltFetched);
    741   void __RPC_STUB IEnumWIA_DEV_CAPS_RemoteNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    742   HRESULT WINAPI IEnumWIA_DEV_CAPS_Skip_Proxy(IEnumWIA_DEV_CAPS *This,ULONG celt);
    743   void __RPC_STUB IEnumWIA_DEV_CAPS_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    744   HRESULT WINAPI IEnumWIA_DEV_CAPS_Reset_Proxy(IEnumWIA_DEV_CAPS *This);
    745   void __RPC_STUB IEnumWIA_DEV_CAPS_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    746   HRESULT WINAPI IEnumWIA_DEV_CAPS_Clone_Proxy(IEnumWIA_DEV_CAPS *This,IEnumWIA_DEV_CAPS **ppIEnum);
    747   void __RPC_STUB IEnumWIA_DEV_CAPS_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    748   HRESULT WINAPI IEnumWIA_DEV_CAPS_GetCount_Proxy(IEnumWIA_DEV_CAPS *This,ULONG *pcelt);
    749   void __RPC_STUB IEnumWIA_DEV_CAPS_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    750 #endif
    751 
    752 #ifndef __IEnumWIA_FORMAT_INFO_INTERFACE_DEFINED__
    753 #define __IEnumWIA_FORMAT_INFO_INTERFACE_DEFINED__
    754   EXTERN_C const IID IID_IEnumWIA_FORMAT_INFO;
    755 #if defined(__cplusplus) && !defined(CINTERFACE)
    756   struct IEnumWIA_FORMAT_INFO : public IUnknown {
    757   public:
    758     virtual HRESULT WINAPI Next(ULONG celt,WIA_FORMAT_INFO *rgelt,ULONG *pceltFetched) = 0;
    759     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
    760     virtual HRESULT WINAPI Reset(void) = 0;
    761     virtual HRESULT WINAPI Clone(IEnumWIA_FORMAT_INFO **ppIEnum) = 0;
    762     virtual HRESULT WINAPI GetCount(ULONG *pcelt) = 0;
    763   };
    764 #else
    765   typedef struct IEnumWIA_FORMAT_INFOVtbl {
    766     BEGIN_INTERFACE
    767       HRESULT (WINAPI *QueryInterface)(IEnumWIA_FORMAT_INFO *This,REFIID riid,void **ppvObject);
    768       ULONG (WINAPI *AddRef)(IEnumWIA_FORMAT_INFO *This);
    769       ULONG (WINAPI *Release)(IEnumWIA_FORMAT_INFO *This);
    770       HRESULT (WINAPI *Next)(IEnumWIA_FORMAT_INFO *This,ULONG celt,WIA_FORMAT_INFO *rgelt,ULONG *pceltFetched);
    771       HRESULT (WINAPI *Skip)(IEnumWIA_FORMAT_INFO *This,ULONG celt);
    772       HRESULT (WINAPI *Reset)(IEnumWIA_FORMAT_INFO *This);
    773       HRESULT (WINAPI *Clone)(IEnumWIA_FORMAT_INFO *This,IEnumWIA_FORMAT_INFO **ppIEnum);
    774       HRESULT (WINAPI *GetCount)(IEnumWIA_FORMAT_INFO *This,ULONG *pcelt);
    775     END_INTERFACE
    776   } IEnumWIA_FORMAT_INFOVtbl;
    777   struct IEnumWIA_FORMAT_INFO {
    778     CONST_VTBL struct IEnumWIA_FORMAT_INFOVtbl *lpVtbl;
    779   };
    780 #ifdef COBJMACROS
    781 #define IEnumWIA_FORMAT_INFO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    782 #define IEnumWIA_FORMAT_INFO_AddRef(This) (This)->lpVtbl->AddRef(This)
    783 #define IEnumWIA_FORMAT_INFO_Release(This) (This)->lpVtbl->Release(This)
    784 #define IEnumWIA_FORMAT_INFO_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
    785 #define IEnumWIA_FORMAT_INFO_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
    786 #define IEnumWIA_FORMAT_INFO_Reset(This) (This)->lpVtbl->Reset(This)
    787 #define IEnumWIA_FORMAT_INFO_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum)
    788 #define IEnumWIA_FORMAT_INFO_GetCount(This,pcelt) (This)->lpVtbl->GetCount(This,pcelt)
    789 #endif
    790 #endif
    791   HRESULT WINAPI IEnumWIA_FORMAT_INFO_RemoteNext_Proxy(IEnumWIA_FORMAT_INFO *This,ULONG celt,WIA_FORMAT_INFO *rgelt,ULONG *pceltFetched);
    792   void __RPC_STUB IEnumWIA_FORMAT_INFO_RemoteNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    793   HRESULT WINAPI IEnumWIA_FORMAT_INFO_Skip_Proxy(IEnumWIA_FORMAT_INFO *This,ULONG celt);
    794   void __RPC_STUB IEnumWIA_FORMAT_INFO_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    795   HRESULT WINAPI IEnumWIA_FORMAT_INFO_Reset_Proxy(IEnumWIA_FORMAT_INFO *This);
    796   void __RPC_STUB IEnumWIA_FORMAT_INFO_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    797   HRESULT WINAPI IEnumWIA_FORMAT_INFO_Clone_Proxy(IEnumWIA_FORMAT_INFO *This,IEnumWIA_FORMAT_INFO **ppIEnum);
    798   void __RPC_STUB IEnumWIA_FORMAT_INFO_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    799   HRESULT WINAPI IEnumWIA_FORMAT_INFO_GetCount_Proxy(IEnumWIA_FORMAT_INFO *This,ULONG *pcelt);
    800   void __RPC_STUB IEnumWIA_FORMAT_INFO_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    801 #endif
    802 
    803 #ifndef __IWiaLog_INTERFACE_DEFINED__
    804 #define __IWiaLog_INTERFACE_DEFINED__
    805   EXTERN_C const IID IID_IWiaLog;
    806 #if defined(__cplusplus) && !defined(CINTERFACE)
    807   struct IWiaLog : public IUnknown {
    808   public:
    809     virtual HRESULT WINAPI InitializeLog(LONG hInstance) = 0;
    810     virtual HRESULT WINAPI hResult(HRESULT hResult) = 0;
    811     virtual HRESULT WINAPI Log(LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText) = 0;
    812   };
    813 #else
    814   typedef struct IWiaLogVtbl {
    815     BEGIN_INTERFACE
    816       HRESULT (WINAPI *QueryInterface)(IWiaLog *This,REFIID riid,void **ppvObject);
    817       ULONG (WINAPI *AddRef)(IWiaLog *This);
    818       ULONG (WINAPI *Release)(IWiaLog *This);
    819       HRESULT (WINAPI *InitializeLog)(IWiaLog *This,LONG hInstance);
    820       HRESULT (WINAPI *hResult)(IWiaLog *This,HRESULT hResult);
    821       HRESULT (WINAPI *Log)(IWiaLog *This,LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText);
    822     END_INTERFACE
    823   } IWiaLogVtbl;
    824   struct IWiaLog {
    825     CONST_VTBL struct IWiaLogVtbl *lpVtbl;
    826   };
    827 #ifdef COBJMACROS
    828 #define IWiaLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    829 #define IWiaLog_AddRef(This) (This)->lpVtbl->AddRef(This)
    830 #define IWiaLog_Release(This) (This)->lpVtbl->Release(This)
    831 #define IWiaLog_InitializeLog(This,hInstance) (This)->lpVtbl->InitializeLog(This,hInstance)
    832 #define IWiaLog_hResult(This,hResult) (This)->lpVtbl->hResult(This,hResult)
    833 #define IWiaLog_Log(This,lFlags,lResID,lDetail,bstrText) (This)->lpVtbl->Log(This,lFlags,lResID,lDetail,bstrText)
    834 #endif
    835 #endif
    836   HRESULT WINAPI IWiaLog_InitializeLog_Proxy(IWiaLog *This,LONG hInstance);
    837   void __RPC_STUB IWiaLog_InitializeLog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    838   HRESULT WINAPI IWiaLog_hResult_Proxy(IWiaLog *This,HRESULT hResult);
    839   void __RPC_STUB IWiaLog_hResult_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    840   HRESULT WINAPI IWiaLog_Log_Proxy(IWiaLog *This,LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText);
    841   void __RPC_STUB IWiaLog_Log_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    842 #endif
    843 
    844 #ifndef __IWiaLogEx_INTERFACE_DEFINED__
    845 #define __IWiaLogEx_INTERFACE_DEFINED__
    846   EXTERN_C const IID IID_IWiaLogEx;
    847 #if defined(__cplusplus) && !defined(CINTERFACE)
    848   struct IWiaLogEx : public IUnknown {
    849   public:
    850     virtual HRESULT WINAPI InitializeLogEx(BYTE *hInstance) = 0;
    851     virtual HRESULT WINAPI hResult(HRESULT hResult) = 0;
    852     virtual HRESULT WINAPI Log(LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText) = 0;
    853     virtual HRESULT WINAPI hResultEx(LONG lMethodId,HRESULT hResult) = 0;
    854     virtual HRESULT WINAPI LogEx(LONG lMethodId,LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText) = 0;
    855   };
    856 #else
    857   typedef struct IWiaLogExVtbl {
    858     BEGIN_INTERFACE
    859       HRESULT (WINAPI *QueryInterface)(IWiaLogEx *This,REFIID riid,void **ppvObject);
    860       ULONG (WINAPI *AddRef)(IWiaLogEx *This);
    861       ULONG (WINAPI *Release)(IWiaLogEx *This);
    862       HRESULT (WINAPI *InitializeLogEx)(IWiaLogEx *This,BYTE *hInstance);
    863       HRESULT (WINAPI *hResult)(IWiaLogEx *This,HRESULT hResult);
    864       HRESULT (WINAPI *Log)(IWiaLogEx *This,LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText);
    865       HRESULT (WINAPI *hResultEx)(IWiaLogEx *This,LONG lMethodId,HRESULT hResult);
    866       HRESULT (WINAPI *LogEx)(IWiaLogEx *This,LONG lMethodId,LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText);
    867     END_INTERFACE
    868   } IWiaLogExVtbl;
    869   struct IWiaLogEx {
    870     CONST_VTBL struct IWiaLogExVtbl *lpVtbl;
    871   };
    872 #ifdef COBJMACROS
    873 #define IWiaLogEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    874 #define IWiaLogEx_AddRef(This) (This)->lpVtbl->AddRef(This)
    875 #define IWiaLogEx_Release(This) (This)->lpVtbl->Release(This)
    876 #define IWiaLogEx_InitializeLogEx(This,hInstance) (This)->lpVtbl->InitializeLogEx(This,hInstance)
    877 #define IWiaLogEx_hResult(This,hResult) (This)->lpVtbl->hResult(This,hResult)
    878 #define IWiaLogEx_Log(This,lFlags,lResID,lDetail,bstrText) (This)->lpVtbl->Log(This,lFlags,lResID,lDetail,bstrText)
    879 #define IWiaLogEx_hResultEx(This,lMethodId,hResult) (This)->lpVtbl->hResultEx(This,lMethodId,hResult)
    880 #define IWiaLogEx_LogEx(This,lMethodId,lFlags,lResID,lDetail,bstrText) (This)->lpVtbl->LogEx(This,lMethodId,lFlags,lResID,lDetail,bstrText)
    881 #endif
    882 #endif
    883   HRESULT WINAPI IWiaLogEx_InitializeLogEx_Proxy(IWiaLogEx *This,BYTE *hInstance);
    884   void __RPC_STUB IWiaLogEx_InitializeLogEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    885   HRESULT WINAPI IWiaLogEx_hResult_Proxy(IWiaLogEx *This,HRESULT hResult);
    886   void __RPC_STUB IWiaLogEx_hResult_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    887   HRESULT WINAPI IWiaLogEx_Log_Proxy(IWiaLogEx *This,LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText);
    888   void __RPC_STUB IWiaLogEx_Log_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    889   HRESULT WINAPI IWiaLogEx_hResultEx_Proxy(IWiaLogEx *This,LONG lMethodId,HRESULT hResult);
    890   void __RPC_STUB IWiaLogEx_hResultEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    891   HRESULT WINAPI IWiaLogEx_LogEx_Proxy(IWiaLogEx *This,LONG lMethodId,LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText);
    892   void __RPC_STUB IWiaLogEx_LogEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    893 #endif
    894 
    895 #ifndef __IWiaNotifyDevMgr_INTERFACE_DEFINED__
    896 #define __IWiaNotifyDevMgr_INTERFACE_DEFINED__
    897   EXTERN_C const IID IID_IWiaNotifyDevMgr;
    898 #if defined(__cplusplus) && !defined(CINTERFACE)
    899   struct IWiaNotifyDevMgr : public IUnknown {
    900   public:
    901     virtual HRESULT WINAPI NewDeviceArrival(void) = 0;
    902   };
    903 #else
    904   typedef struct IWiaNotifyDevMgrVtbl {
    905     BEGIN_INTERFACE
    906       HRESULT (WINAPI *QueryInterface)(IWiaNotifyDevMgr *This,REFIID riid,void **ppvObject);
    907       ULONG (WINAPI *AddRef)(IWiaNotifyDevMgr *This);
    908       ULONG (WINAPI *Release)(IWiaNotifyDevMgr *This);
    909       HRESULT (WINAPI *NewDeviceArrival)(IWiaNotifyDevMgr *This);
    910     END_INTERFACE
    911   } IWiaNotifyDevMgrVtbl;
    912   struct IWiaNotifyDevMgr {
    913     CONST_VTBL struct IWiaNotifyDevMgrVtbl *lpVtbl;
    914   };
    915 #ifdef COBJMACROS
    916 #define IWiaNotifyDevMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    917 #define IWiaNotifyDevMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
    918 #define IWiaNotifyDevMgr_Release(This) (This)->lpVtbl->Release(This)
    919 #define IWiaNotifyDevMgr_NewDeviceArrival(This) (This)->lpVtbl->NewDeviceArrival(This)
    920 #endif
    921 #endif
    922   HRESULT WINAPI IWiaNotifyDevMgr_NewDeviceArrival_Proxy(IWiaNotifyDevMgr *This);
    923   void __RPC_STUB IWiaNotifyDevMgr_NewDeviceArrival_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    924 #endif
    925 
    926 #ifndef __IWiaItemExtras_INTERFACE_DEFINED__
    927 #define __IWiaItemExtras_INTERFACE_DEFINED__
    928   EXTERN_C const IID IID_IWiaItemExtras;
    929 #if defined(__cplusplus) && !defined(CINTERFACE)
    930   struct IWiaItemExtras : public IUnknown {
    931   public:
    932     virtual HRESULT WINAPI GetExtendedErrorInfo(BSTR *bstrErrorText) = 0;
    933     virtual HRESULT WINAPI Escape(DWORD dwEscapeCode,BYTE *lpInData,DWORD cbInDataSize,BYTE *pOutData,DWORD dwOutDataSize,DWORD *pdwActualDataSize) = 0;
    934     virtual HRESULT WINAPI CancelPendingIO(void) = 0;
    935   };
    936 #else
    937   typedef struct IWiaItemExtrasVtbl {
    938     BEGIN_INTERFACE
    939       HRESULT (WINAPI *QueryInterface)(IWiaItemExtras *This,REFIID riid,void **ppvObject);
    940       ULONG (WINAPI *AddRef)(IWiaItemExtras *This);
    941       ULONG (WINAPI *Release)(IWiaItemExtras *This);
    942       HRESULT (WINAPI *GetExtendedErrorInfo)(IWiaItemExtras *This,BSTR *bstrErrorText);
    943       HRESULT (WINAPI *Escape)(IWiaItemExtras *This,DWORD dwEscapeCode,BYTE *lpInData,DWORD cbInDataSize,BYTE *pOutData,DWORD dwOutDataSize,DWORD *pdwActualDataSize);
    944       HRESULT (WINAPI *CancelPendingIO)(IWiaItemExtras *This);
    945     END_INTERFACE
    946   } IWiaItemExtrasVtbl;
    947   struct IWiaItemExtras {
    948     CONST_VTBL struct IWiaItemExtrasVtbl *lpVtbl;
    949   };
    950 #ifdef COBJMACROS
    951 #define IWiaItemExtras_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    952 #define IWiaItemExtras_AddRef(This) (This)->lpVtbl->AddRef(This)
    953 #define IWiaItemExtras_Release(This) (This)->lpVtbl->Release(This)
    954 #define IWiaItemExtras_GetExtendedErrorInfo(This,bstrErrorText) (This)->lpVtbl->GetExtendedErrorInfo(This,bstrErrorText)
    955 #define IWiaItemExtras_Escape(This,dwEscapeCode,lpInData,cbInDataSize,pOutData,dwOutDataSize,pdwActualDataSize) (This)->lpVtbl->Escape(This,dwEscapeCode,lpInData,cbInDataSize,pOutData,dwOutDataSize,pdwActualDataSize)
    956 #define IWiaItemExtras_CancelPendingIO(This) (This)->lpVtbl->CancelPendingIO(This)
    957 #endif
    958 #endif
    959   HRESULT WINAPI IWiaItemExtras_GetExtendedErrorInfo_Proxy(IWiaItemExtras *This,BSTR *bstrErrorText);
    960   void __RPC_STUB IWiaItemExtras_GetExtendedErrorInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    961   HRESULT WINAPI IWiaItemExtras_Escape_Proxy(IWiaItemExtras *This,DWORD dwEscapeCode,BYTE *lpInData,DWORD cbInDataSize,BYTE *pOutData,DWORD dwOutDataSize,DWORD *pdwActualDataSize);
    962   void __RPC_STUB IWiaItemExtras_Escape_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    963   HRESULT WINAPI IWiaItemExtras_CancelPendingIO_Proxy(IWiaItemExtras *This);
    964   void __RPC_STUB IWiaItemExtras_CancelPendingIO_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    965 #endif
    966 
    967 #ifndef __WiaDevMgr_LIBRARY_DEFINED__
    968 #define __WiaDevMgr_LIBRARY_DEFINED__
    969   EXTERN_C const IID LIBID_WiaDevMgr;
    970   EXTERN_C const CLSID CLSID_WiaDevMgr;
    971 #ifdef __cplusplus
    972   class WiaDevMgr;
    973 #endif
    974   EXTERN_C const CLSID CLSID_WiaLog;
    975 #ifdef __cplusplus
    976   class WiaLog;
    977 #endif
    978 #endif
    979 
    980   ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
    981   unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
    982   unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
    983   void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
    984   ULONG __RPC_API HWND_UserSize(ULONG *,ULONG,HWND *);
    985   unsigned char *__RPC_API HWND_UserMarshal(ULONG *,unsigned char *,HWND *);
    986   unsigned char *__RPC_API HWND_UserUnmarshal(ULONG *,unsigned char *,HWND *);
    987   void __RPC_API HWND_UserFree(ULONG *,HWND *);
    988   ULONG __RPC_API LPSAFEARRAY_UserSize(ULONG *,ULONG,LPSAFEARRAY *);
    989   unsigned char *__RPC_API LPSAFEARRAY_UserMarshal(ULONG *,unsigned char *,LPSAFEARRAY *);
    990   unsigned char *__RPC_API LPSAFEARRAY_UserUnmarshal(ULONG *,unsigned char *,LPSAFEARRAY *);
    991   void __RPC_API LPSAFEARRAY_UserFree(ULONG *,LPSAFEARRAY *);
    992   ULONG __RPC_API STGMEDIUM_UserSize(ULONG *,ULONG,STGMEDIUM *);
    993   unsigned char *__RPC_API STGMEDIUM_UserMarshal(ULONG *,unsigned char *,STGMEDIUM *);
    994   unsigned char *__RPC_API STGMEDIUM_UserUnmarshal(ULONG *,unsigned char *,STGMEDIUM *);
    995   void __RPC_API STGMEDIUM_UserFree(ULONG *,STGMEDIUM *);
    996 
    997   HRESULT WINAPI IWiaDevMgr_CreateDevice_Proxy(IWiaDevMgr *This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot);
    998   HRESULT WINAPI IWiaDevMgr_CreateDevice_Stub(IWiaDevMgr *This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot);
    999   HRESULT WINAPI IWiaDevMgr_SelectDeviceDlg_Proxy(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot);
   1000   HRESULT WINAPI IWiaDevMgr_SelectDeviceDlg_Stub(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot);
   1001   HRESULT WINAPI IWiaDevMgr_SelectDeviceDlgID_Proxy(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID);
   1002   HRESULT WINAPI IWiaDevMgr_SelectDeviceDlgID_Stub(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID);
   1003   HRESULT WINAPI IWiaDevMgr_GetImageDlg_Proxy(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat);
   1004   HRESULT WINAPI IWiaDevMgr_GetImageDlg_Stub(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat);
   1005   HRESULT WINAPI IWiaDevMgr_RegisterEventCallbackProgram_Proxy(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon);
   1006   HRESULT WINAPI IWiaDevMgr_RegisterEventCallbackProgram_Stub(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon);
   1007   HRESULT WINAPI IWiaDevMgr_RegisterEventCallbackInterface_Proxy(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject);
   1008   HRESULT WINAPI IWiaDevMgr_RegisterEventCallbackInterface_Stub(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject);
   1009   HRESULT WINAPI IWiaDevMgr_RegisterEventCallbackCLSID_Proxy(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon);
   1010   HRESULT WINAPI IWiaDevMgr_RegisterEventCallbackCLSID_Stub(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon);
   1011   HRESULT WINAPI IEnumWIA_DEV_INFO_Next_Proxy(IEnumWIA_DEV_INFO *This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched);
   1012   HRESULT WINAPI IEnumWIA_DEV_INFO_Next_Stub(IEnumWIA_DEV_INFO *This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched);
   1013   HRESULT WINAPI IWiaDataCallback_BandedDataCallback_Proxy(IWiaDataCallback *This,LONG lMessage,LONG lStatus,LONG lPercentComplete,LONG lOffset,LONG lLength,LONG lReserved,LONG lResLength,BYTE *pbBuffer);
   1014   HRESULT WINAPI IWiaDataCallback_BandedDataCallback_Stub(IWiaDataCallback *This,LONG lMessage,LONG lStatus,LONG lPercentComplete,LONG lOffset,LONG lLength,LONG lReserved,LONG lResLength,BYTE *pbBuffer);
   1015   HRESULT WINAPI IWiaDataTransfer_idtGetData_Proxy(IWiaDataTransfer *This,LPSTGMEDIUM pMedium,IWiaDataCallback *pIWiaDataCallback);
   1016   HRESULT WINAPI IWiaDataTransfer_idtGetData_Stub(IWiaDataTransfer *This,LPSTGMEDIUM pMedium,IWiaDataCallback *pIWiaDataCallback);
   1017   HRESULT WINAPI IWiaDataTransfer_idtGetBandedData_Proxy(IWiaDataTransfer *This,PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,IWiaDataCallback *pIWiaDataCallback);
   1018   HRESULT WINAPI IWiaDataTransfer_idtGetBandedData_Stub(IWiaDataTransfer *This,PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,IWiaDataCallback *pIWiaDataCallback);
   1019   HRESULT WINAPI IWiaItem_DeviceDlg_Proxy(IWiaItem *This,HWND hwndParent,LONG lFlags,LONG lIntent,LONG *plItemCount,IWiaItem ***ppIWiaItem);
   1020   HRESULT WINAPI IWiaItem_DeviceDlg_Stub(IWiaItem *This,HWND hwndParent,LONG lFlags,LONG lIntent,LONG *plItemCount,IWiaItem ***pIWiaItem);
   1021   HRESULT WINAPI IWiaPropertyStorage_WriteMultiple_Proxy(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[],const PROPVARIANT rgpropvar[],PROPID propidNameFirst);
   1022   HRESULT WINAPI IWiaPropertyStorage_WriteMultiple_Stub(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC *rgpspec,const PROPVARIANT *rgpropvar,PROPID propidNameFirst);
   1023   HRESULT WINAPI IWiaPropertyStorage_SetPropertyStream_Proxy(IWiaPropertyStorage *This,GUID *pCompatibilityId,IStream *pIStream);
   1024   HRESULT WINAPI IWiaPropertyStorage_SetPropertyStream_Stub(IWiaPropertyStorage *This,GUID *pCompatibilityId,IStream *pIStream);
   1025   HRESULT WINAPI IEnumWiaItem_Next_Proxy(IEnumWiaItem *This,ULONG celt,IWiaItem **ppIWiaItem,ULONG *pceltFetched);
   1026   HRESULT WINAPI IEnumWiaItem_Next_Stub(IEnumWiaItem *This,ULONG celt,IWiaItem **ppIWiaItem,ULONG *pceltFetched);
   1027   HRESULT WINAPI IEnumWIA_DEV_CAPS_Next_Proxy(IEnumWIA_DEV_CAPS *This,ULONG celt,WIA_DEV_CAP *rgelt,ULONG *pceltFetched);
   1028   HRESULT WINAPI IEnumWIA_DEV_CAPS_Next_Stub(IEnumWIA_DEV_CAPS *This,ULONG celt,WIA_DEV_CAP *rgelt,ULONG *pceltFetched);
   1029   HRESULT WINAPI IEnumWIA_FORMAT_INFO_Next_Proxy(IEnumWIA_FORMAT_INFO *This,ULONG celt,WIA_FORMAT_INFO *rgelt,ULONG *pceltFetched);
   1030   HRESULT WINAPI IEnumWIA_FORMAT_INFO_Next_Stub(IEnumWIA_FORMAT_INFO *This,ULONG celt,WIA_FORMAT_INFO *rgelt,ULONG *pceltFetched);
   1031 
   1032 #ifdef __cplusplus
   1033 }
   1034 #endif
   1035 #endif
   1036