| /*** Autogenerated by WIDL 10.4 from include/wia_lh.idl - Do not edit ***/ | 
 |  | 
 | #ifdef _WIN32 | 
 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 
 | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | 
 | #endif | 
 | #include <rpc.h> | 
 | #include <rpcndr.h> | 
 | #endif | 
 |  | 
 | #ifndef COM_NO_WINDOWS_H | 
 | #include <windows.h> | 
 | #include <ole2.h> | 
 | #endif | 
 |  | 
 | #ifndef __wia_lh_h__ | 
 | #define __wia_lh_h__ | 
 |  | 
 | /* Forward declarations */ | 
 |  | 
 | #ifndef __IWiaDevMgr_FWD_DEFINED__ | 
 | #define __IWiaDevMgr_FWD_DEFINED__ | 
 | typedef interface IWiaDevMgr IWiaDevMgr; | 
 | #ifdef __cplusplus | 
 | interface IWiaDevMgr; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__ | 
 | #define __IEnumWIA_DEV_INFO_FWD_DEFINED__ | 
 | typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO; | 
 | #ifdef __cplusplus | 
 | interface IEnumWIA_DEV_INFO; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IWiaPropertyStorage_FWD_DEFINED__ | 
 | #define __IWiaPropertyStorage_FWD_DEFINED__ | 
 | typedef interface IWiaPropertyStorage IWiaPropertyStorage; | 
 | #ifdef __cplusplus | 
 | interface IWiaPropertyStorage; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IWiaItem_FWD_DEFINED__ | 
 | #define __IWiaItem_FWD_DEFINED__ | 
 | typedef interface IWiaItem IWiaItem; | 
 | #ifdef __cplusplus | 
 | interface IWiaItem; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IWiaEventCallback_FWD_DEFINED__ | 
 | #define __IWiaEventCallback_FWD_DEFINED__ | 
 | typedef interface IWiaEventCallback IWiaEventCallback; | 
 | #ifdef __cplusplus | 
 | interface IWiaEventCallback; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IEnumWIA_DEV_CAPS_FWD_DEFINED__ | 
 | #define __IEnumWIA_DEV_CAPS_FWD_DEFINED__ | 
 | typedef interface IEnumWIA_DEV_CAPS IEnumWIA_DEV_CAPS; | 
 | #ifdef __cplusplus | 
 | interface IEnumWIA_DEV_CAPS; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IWiaTransferCallback_FWD_DEFINED__ | 
 | #define __IWiaTransferCallback_FWD_DEFINED__ | 
 | typedef interface IWiaTransferCallback IWiaTransferCallback; | 
 | #ifdef __cplusplus | 
 | interface IWiaTransferCallback; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IWiaPreview_FWD_DEFINED__ | 
 | #define __IWiaPreview_FWD_DEFINED__ | 
 | typedef interface IWiaPreview IWiaPreview; | 
 | #ifdef __cplusplus | 
 | interface IWiaPreview; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IEnumWiaItem2_FWD_DEFINED__ | 
 | #define __IEnumWiaItem2_FWD_DEFINED__ | 
 | typedef interface IEnumWiaItem2 IEnumWiaItem2; | 
 | #ifdef __cplusplus | 
 | interface IEnumWiaItem2; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IWiaItem2_FWD_DEFINED__ | 
 | #define __IWiaItem2_FWD_DEFINED__ | 
 | typedef interface IWiaItem2 IWiaItem2; | 
 | #ifdef __cplusplus | 
 | interface IWiaItem2; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IWiaDevMgr2_FWD_DEFINED__ | 
 | #define __IWiaDevMgr2_FWD_DEFINED__ | 
 | typedef interface IWiaDevMgr2 IWiaDevMgr2; | 
 | #ifdef __cplusplus | 
 | interface IWiaDevMgr2; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __WiaDevMgr2_FWD_DEFINED__ | 
 | #define __WiaDevMgr2_FWD_DEFINED__ | 
 | #ifdef __cplusplus | 
 | typedef class WiaDevMgr2 WiaDevMgr2; | 
 | #else | 
 | typedef struct WiaDevMgr2 WiaDevMgr2; | 
 | #endif /* defined __cplusplus */ | 
 | #endif /* defined __WiaDevMgr2_FWD_DEFINED__ */ | 
 |  | 
 | /* Headers for imported files */ | 
 |  | 
 | #include <unknwn.h> | 
 | #include <oaidl.h> | 
 | #include <propidl.h> | 
 |  | 
 | #ifdef __cplusplus | 
 | extern "C" { | 
 | #endif | 
 |  | 
 | typedef struct _WIA_DITHER_PATTERN_DATA { | 
 |     LONG lSize; | 
 |     BSTR bstrPatternName; | 
 |     LONG lPatternWidth; | 
 |     LONG lPatternLength; | 
 |     LONG cbPattern; | 
 |     BYTE *pbPattern; | 
 | } WIA_DITHER_PATTERN_DATA; | 
 | typedef struct _WIA_DITHER_PATTERN_DATA *PWIA_DITHER_PATTERN_DATA; | 
 | typedef struct _WIA_PROPID_TO_NAME { | 
 |     PROPID propid; | 
 |     LPOLESTR pszName; | 
 | } WIA_PROPID_TO_NAME; | 
 | typedef struct _WIA_PROPID_TO_NAME *PWIA_PROPID_TO_NAME; | 
 | typedef struct _WIA_FORMAT_INFO { | 
 |     GUID guidFormatID; | 
 |     LONG lTymed; | 
 | } WIA_FORMAT_INFO; | 
 | typedef struct _WIA_FORMAT_INFO *PWIA_FORMAT_INFO; | 
 | #include <wiadef.h> | 
 | #ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__ | 
 | #define __IEnumWIA_DEV_INFO_FWD_DEFINED__ | 
 | typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO; | 
 | #ifdef __cplusplus | 
 | interface IEnumWIA_DEV_INFO; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IWiaPropertyStorage_FWD_DEFINED__ | 
 | #define __IWiaPropertyStorage_FWD_DEFINED__ | 
 | typedef interface IWiaPropertyStorage IWiaPropertyStorage; | 
 | #ifdef __cplusplus | 
 | interface IWiaPropertyStorage; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IWiaItem_FWD_DEFINED__ | 
 | #define __IWiaItem_FWD_DEFINED__ | 
 | typedef interface IWiaItem IWiaItem; | 
 | #ifdef __cplusplus | 
 | interface IWiaItem; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IWiaEventCallback_FWD_DEFINED__ | 
 | #define __IWiaEventCallback_FWD_DEFINED__ | 
 | typedef interface IWiaEventCallback IWiaEventCallback; | 
 | #ifdef __cplusplus | 
 | interface IWiaEventCallback; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IEnumWIA_DEV_CAPS_FWD_DEFINED__ | 
 | #define __IEnumWIA_DEV_CAPS_FWD_DEFINED__ | 
 | typedef interface IEnumWIA_DEV_CAPS IEnumWIA_DEV_CAPS; | 
 | #ifdef __cplusplus | 
 | interface IEnumWIA_DEV_CAPS; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IWiaTransferCallback_FWD_DEFINED__ | 
 | #define __IWiaTransferCallback_FWD_DEFINED__ | 
 | typedef interface IWiaTransferCallback IWiaTransferCallback; | 
 | #ifdef __cplusplus | 
 | interface IWiaTransferCallback; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IWiaPreview_FWD_DEFINED__ | 
 | #define __IWiaPreview_FWD_DEFINED__ | 
 | typedef interface IWiaPreview IWiaPreview; | 
 | #ifdef __cplusplus | 
 | interface IWiaPreview; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IEnumWiaItem2_FWD_DEFINED__ | 
 | #define __IEnumWiaItem2_FWD_DEFINED__ | 
 | typedef interface IEnumWiaItem2 IEnumWiaItem2; | 
 | #ifdef __cplusplus | 
 | interface IEnumWiaItem2; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IWiaItem2_FWD_DEFINED__ | 
 | #define __IWiaItem2_FWD_DEFINED__ | 
 | typedef interface IWiaItem2 IWiaItem2; | 
 | #ifdef __cplusplus | 
 | interface IWiaItem2; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | #ifndef __IWiaDevMgr2_FWD_DEFINED__ | 
 | #define __IWiaDevMgr2_FWD_DEFINED__ | 
 | typedef interface IWiaDevMgr2 IWiaDevMgr2; | 
 | #ifdef __cplusplus | 
 | interface IWiaDevMgr2; | 
 | #endif /* __cplusplus */ | 
 | #endif | 
 |  | 
 | DEFINE_GUID(CLSID_WiaDevMgr, 0xa1f4e726,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11); | 
 | /***************************************************************************** | 
 |  * IWiaDevMgr interface | 
 |  */ | 
 | #ifndef __IWiaDevMgr_INTERFACE_DEFINED__ | 
 | #define __IWiaDevMgr_INTERFACE_DEFINED__ | 
 |  | 
 | DEFINE_GUID(IID_IWiaDevMgr, 0x5eb2502a, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11); | 
 | #if defined(__cplusplus) && !defined(CINTERFACE) | 
 | MIDL_INTERFACE("5eb2502a-8cf1-11d1-bf92-0060081ed811") | 
 | IWiaDevMgr : public IUnknown | 
 | { | 
 |     virtual HRESULT STDMETHODCALLTYPE EnumDeviceInfo( | 
 |         LONG lFlag, | 
 |         IEnumWIA_DEV_INFO **ppIEnum) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE CreateDevice( | 
 |         BSTR bstrDeviceID, | 
 |         IWiaItem **ppWiaItemRoot) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlg( | 
 |         HWND hwndParent, | 
 |         LONG lDeviceType, | 
 |         LONG lFlags, | 
 |         BSTR *pbstrDeviceID, | 
 |         IWiaItem **ppItemRoot) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlgID( | 
 |         HWND hwndParent, | 
 |         LONG lDeviceType, | 
 |         LONG lFlags, | 
 |         BSTR *pbstrDeviceID) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE GetImageDlg( | 
 |         HWND hwndParent, | 
 |         LONG lDeviceType, | 
 |         LONG lFlags, | 
 |         LONG lIntent, | 
 |         IWiaItem *pItemRoot, | 
 |         BSTR bstrFilename, | 
 |         GUID *pguidFormat) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackProgram( | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         const GUID *pEventGUID, | 
 |         BSTR bstrCommandline, | 
 |         BSTR bstrName, | 
 |         BSTR bstrDescription, | 
 |         BSTR bstrIcon) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackInterface( | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         const GUID *pEventGUID, | 
 |         IWiaEventCallback *pIWiaEventCallback, | 
 |         IUnknown **pEventObject) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackCLSID( | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         const GUID *pEventGUID, | 
 |         const GUID *pClsID, | 
 |         BSTR bstrName, | 
 |         BSTR bstrDescription, | 
 |         BSTR bstrIcon) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE AddDeviceDlg( | 
 |         HWND hwndParent, | 
 |         LONG lFlags) = 0; | 
 |  | 
 | }; | 
 | #ifdef __CRT_UUID_DECL | 
 | __CRT_UUID_DECL(IWiaDevMgr, 0x5eb2502a, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11) | 
 | #endif | 
 | #else | 
 | typedef struct IWiaDevMgrVtbl { | 
 |     BEGIN_INTERFACE | 
 |  | 
 |     /*** IUnknown methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
 |         IWiaDevMgr *This, | 
 |         REFIID riid, | 
 |         void **ppvObject); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *AddRef)( | 
 |         IWiaDevMgr *This); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *Release)( | 
 |         IWiaDevMgr *This); | 
 |  | 
 |     /*** IWiaDevMgr methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *EnumDeviceInfo)( | 
 |         IWiaDevMgr *This, | 
 |         LONG lFlag, | 
 |         IEnumWIA_DEV_INFO **ppIEnum); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *CreateDevice)( | 
 |         IWiaDevMgr *This, | 
 |         BSTR bstrDeviceID, | 
 |         IWiaItem **ppWiaItemRoot); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *SelectDeviceDlg)( | 
 |         IWiaDevMgr *This, | 
 |         HWND hwndParent, | 
 |         LONG lDeviceType, | 
 |         LONG lFlags, | 
 |         BSTR *pbstrDeviceID, | 
 |         IWiaItem **ppItemRoot); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *SelectDeviceDlgID)( | 
 |         IWiaDevMgr *This, | 
 |         HWND hwndParent, | 
 |         LONG lDeviceType, | 
 |         LONG lFlags, | 
 |         BSTR *pbstrDeviceID); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *GetImageDlg)( | 
 |         IWiaDevMgr *This, | 
 |         HWND hwndParent, | 
 |         LONG lDeviceType, | 
 |         LONG lFlags, | 
 |         LONG lIntent, | 
 |         IWiaItem *pItemRoot, | 
 |         BSTR bstrFilename, | 
 |         GUID *pguidFormat); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackProgram)( | 
 |         IWiaDevMgr *This, | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         const GUID *pEventGUID, | 
 |         BSTR bstrCommandline, | 
 |         BSTR bstrName, | 
 |         BSTR bstrDescription, | 
 |         BSTR bstrIcon); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackInterface)( | 
 |         IWiaDevMgr *This, | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         const GUID *pEventGUID, | 
 |         IWiaEventCallback *pIWiaEventCallback, | 
 |         IUnknown **pEventObject); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackCLSID)( | 
 |         IWiaDevMgr *This, | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         const GUID *pEventGUID, | 
 |         const GUID *pClsID, | 
 |         BSTR bstrName, | 
 |         BSTR bstrDescription, | 
 |         BSTR bstrIcon); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *AddDeviceDlg)( | 
 |         IWiaDevMgr *This, | 
 |         HWND hwndParent, | 
 |         LONG lFlags); | 
 |  | 
 |     END_INTERFACE | 
 | } IWiaDevMgrVtbl; | 
 |  | 
 | interface IWiaDevMgr { | 
 |     CONST_VTBL IWiaDevMgrVtbl* lpVtbl; | 
 | }; | 
 |  | 
 | #ifdef COBJMACROS | 
 | #ifndef WIDL_C_INLINE_WRAPPERS | 
 | /*** IUnknown methods ***/ | 
 | #define IWiaDevMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
 | #define IWiaDevMgr_AddRef(This) (This)->lpVtbl->AddRef(This) | 
 | #define IWiaDevMgr_Release(This) (This)->lpVtbl->Release(This) | 
 | /*** IWiaDevMgr methods ***/ | 
 | #define IWiaDevMgr_EnumDeviceInfo(This,lFlag,ppIEnum) (This)->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum) | 
 | #define IWiaDevMgr_CreateDevice(This,bstrDeviceID,ppWiaItemRoot) (This)->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot) | 
 | #define IWiaDevMgr_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) (This)->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) | 
 | #define IWiaDevMgr_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) (This)->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) | 
 | #define IWiaDevMgr_GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) (This)->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) | 
 | #define IWiaDevMgr_RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) | 
 | #define IWiaDevMgr_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) (This)->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) | 
 | #define IWiaDevMgr_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) | 
 | #define IWiaDevMgr_AddDeviceDlg(This,hwndParent,lFlags) (This)->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags) | 
 | #else | 
 | /*** IUnknown methods ***/ | 
 | static inline HRESULT IWiaDevMgr_QueryInterface(IWiaDevMgr* This,REFIID riid,void **ppvObject) { | 
 |     return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
 | } | 
 | static inline ULONG IWiaDevMgr_AddRef(IWiaDevMgr* This) { | 
 |     return This->lpVtbl->AddRef(This); | 
 | } | 
 | static inline ULONG IWiaDevMgr_Release(IWiaDevMgr* This) { | 
 |     return This->lpVtbl->Release(This); | 
 | } | 
 | /*** IWiaDevMgr methods ***/ | 
 | static inline HRESULT IWiaDevMgr_EnumDeviceInfo(IWiaDevMgr* This,LONG lFlag,IEnumWIA_DEV_INFO **ppIEnum) { | 
 |     return This->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum); | 
 | } | 
 | static inline HRESULT IWiaDevMgr_CreateDevice(IWiaDevMgr* This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot) { | 
 |     return This->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot); | 
 | } | 
 | static inline HRESULT IWiaDevMgr_SelectDeviceDlg(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot) { | 
 |     return This->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot); | 
 | } | 
 | static inline HRESULT IWiaDevMgr_SelectDeviceDlgID(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID) { | 
 |     return This->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID); | 
 | } | 
 | static inline HRESULT IWiaDevMgr_GetImageDlg(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat) { | 
 |     return This->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat); | 
 | } | 
 | static inline HRESULT IWiaDevMgr_RegisterEventCallbackProgram(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { | 
 |     return This->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon); | 
 | } | 
 | static inline HRESULT IWiaDevMgr_RegisterEventCallbackInterface(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject) { | 
 |     return This->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject); | 
 | } | 
 | static inline HRESULT IWiaDevMgr_RegisterEventCallbackCLSID(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { | 
 |     return This->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon); | 
 | } | 
 | static inline HRESULT IWiaDevMgr_AddDeviceDlg(IWiaDevMgr* This,HWND hwndParent,LONG lFlags) { | 
 |     return This->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags); | 
 | } | 
 | #endif | 
 | #endif | 
 |  | 
 | #endif | 
 |  | 
 |  | 
 | #endif  /* __IWiaDevMgr_INTERFACE_DEFINED__ */ | 
 |  | 
 | /***************************************************************************** | 
 |  * IEnumWIA_DEV_INFO interface | 
 |  */ | 
 | #ifndef __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ | 
 | #define __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ | 
 |  | 
 | DEFINE_GUID(IID_IEnumWIA_DEV_INFO, 0x5e38b83c, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11); | 
 | #if defined(__cplusplus) && !defined(CINTERFACE) | 
 | MIDL_INTERFACE("5e38b83c-8cf1-11d1-bf92-0060081ed811") | 
 | IEnumWIA_DEV_INFO : public IUnknown | 
 | { | 
 |     virtual HRESULT STDMETHODCALLTYPE Next( | 
 |         ULONG celt, | 
 |         IWiaPropertyStorage **rgelt, | 
 |         ULONG *pceltFetched) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE Skip( | 
 |         ULONG celt) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE Reset( | 
 |         ) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE Clone( | 
 |         IEnumWIA_DEV_INFO **ppIEnum) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE GetCount( | 
 |         ULONG *celt) = 0; | 
 |  | 
 | }; | 
 | #ifdef __CRT_UUID_DECL | 
 | __CRT_UUID_DECL(IEnumWIA_DEV_INFO, 0x5e38b83c, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11) | 
 | #endif | 
 | #else | 
 | typedef struct IEnumWIA_DEV_INFOVtbl { | 
 |     BEGIN_INTERFACE | 
 |  | 
 |     /*** IUnknown methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
 |         IEnumWIA_DEV_INFO *This, | 
 |         REFIID riid, | 
 |         void **ppvObject); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *AddRef)( | 
 |         IEnumWIA_DEV_INFO *This); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *Release)( | 
 |         IEnumWIA_DEV_INFO *This); | 
 |  | 
 |     /*** IEnumWIA_DEV_INFO methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *Next)( | 
 |         IEnumWIA_DEV_INFO *This, | 
 |         ULONG celt, | 
 |         IWiaPropertyStorage **rgelt, | 
 |         ULONG *pceltFetched); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *Skip)( | 
 |         IEnumWIA_DEV_INFO *This, | 
 |         ULONG celt); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *Reset)( | 
 |         IEnumWIA_DEV_INFO *This); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *Clone)( | 
 |         IEnumWIA_DEV_INFO *This, | 
 |         IEnumWIA_DEV_INFO **ppIEnum); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *GetCount)( | 
 |         IEnumWIA_DEV_INFO *This, | 
 |         ULONG *celt); | 
 |  | 
 |     END_INTERFACE | 
 | } IEnumWIA_DEV_INFOVtbl; | 
 |  | 
 | interface IEnumWIA_DEV_INFO { | 
 |     CONST_VTBL IEnumWIA_DEV_INFOVtbl* lpVtbl; | 
 | }; | 
 |  | 
 | #ifdef COBJMACROS | 
 | #ifndef WIDL_C_INLINE_WRAPPERS | 
 | /*** IUnknown methods ***/ | 
 | #define IEnumWIA_DEV_INFO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
 | #define IEnumWIA_DEV_INFO_AddRef(This) (This)->lpVtbl->AddRef(This) | 
 | #define IEnumWIA_DEV_INFO_Release(This) (This)->lpVtbl->Release(This) | 
 | /*** IEnumWIA_DEV_INFO methods ***/ | 
 | #define IEnumWIA_DEV_INFO_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) | 
 | #define IEnumWIA_DEV_INFO_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) | 
 | #define IEnumWIA_DEV_INFO_Reset(This) (This)->lpVtbl->Reset(This) | 
 | #define IEnumWIA_DEV_INFO_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) | 
 | #define IEnumWIA_DEV_INFO_GetCount(This,celt) (This)->lpVtbl->GetCount(This,celt) | 
 | #else | 
 | /*** IUnknown methods ***/ | 
 | static inline HRESULT IEnumWIA_DEV_INFO_QueryInterface(IEnumWIA_DEV_INFO* This,REFIID riid,void **ppvObject) { | 
 |     return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
 | } | 
 | static inline ULONG IEnumWIA_DEV_INFO_AddRef(IEnumWIA_DEV_INFO* This) { | 
 |     return This->lpVtbl->AddRef(This); | 
 | } | 
 | static inline ULONG IEnumWIA_DEV_INFO_Release(IEnumWIA_DEV_INFO* This) { | 
 |     return This->lpVtbl->Release(This); | 
 | } | 
 | /*** IEnumWIA_DEV_INFO methods ***/ | 
 | static inline HRESULT IEnumWIA_DEV_INFO_Next(IEnumWIA_DEV_INFO* This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched) { | 
 |     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); | 
 | } | 
 | static inline HRESULT IEnumWIA_DEV_INFO_Skip(IEnumWIA_DEV_INFO* This,ULONG celt) { | 
 |     return This->lpVtbl->Skip(This,celt); | 
 | } | 
 | static inline HRESULT IEnumWIA_DEV_INFO_Reset(IEnumWIA_DEV_INFO* This) { | 
 |     return This->lpVtbl->Reset(This); | 
 | } | 
 | static inline HRESULT IEnumWIA_DEV_INFO_Clone(IEnumWIA_DEV_INFO* This,IEnumWIA_DEV_INFO **ppIEnum) { | 
 |     return This->lpVtbl->Clone(This,ppIEnum); | 
 | } | 
 | static inline HRESULT IEnumWIA_DEV_INFO_GetCount(IEnumWIA_DEV_INFO* This,ULONG *celt) { | 
 |     return This->lpVtbl->GetCount(This,celt); | 
 | } | 
 | #endif | 
 | #endif | 
 |  | 
 | #endif | 
 |  | 
 |  | 
 | #endif  /* __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ */ | 
 |  | 
 | /***************************************************************************** | 
 |  * IWiaPropertyStorage interface | 
 |  */ | 
 | #ifndef __IWiaPropertyStorage_INTERFACE_DEFINED__ | 
 | #define __IWiaPropertyStorage_INTERFACE_DEFINED__ | 
 |  | 
 | DEFINE_GUID(IID_IWiaPropertyStorage, 0x98b5e8a0, 0x29cc, 0x491a, 0xaa,0xc0, 0xe6,0xdb,0x4f,0xdc,0xce,0xb6); | 
 | #if defined(__cplusplus) && !defined(CINTERFACE) | 
 | MIDL_INTERFACE("98b5e8a0-29cc-491a-aac0-e6db4fdcceb6") | 
 | IWiaPropertyStorage : public IUnknown | 
 | { | 
 | }; | 
 | #ifdef __CRT_UUID_DECL | 
 | __CRT_UUID_DECL(IWiaPropertyStorage, 0x98b5e8a0, 0x29cc, 0x491a, 0xaa,0xc0, 0xe6,0xdb,0x4f,0xdc,0xce,0xb6) | 
 | #endif | 
 | #else | 
 | typedef struct IWiaPropertyStorageVtbl { | 
 |     BEGIN_INTERFACE | 
 |  | 
 |     /*** IUnknown methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
 |         IWiaPropertyStorage *This, | 
 |         REFIID riid, | 
 |         void **ppvObject); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *AddRef)( | 
 |         IWiaPropertyStorage *This); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *Release)( | 
 |         IWiaPropertyStorage *This); | 
 |  | 
 |     END_INTERFACE | 
 | } IWiaPropertyStorageVtbl; | 
 |  | 
 | interface IWiaPropertyStorage { | 
 |     CONST_VTBL IWiaPropertyStorageVtbl* lpVtbl; | 
 | }; | 
 |  | 
 | #ifdef COBJMACROS | 
 | #ifndef WIDL_C_INLINE_WRAPPERS | 
 | /*** IUnknown methods ***/ | 
 | #define IWiaPropertyStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
 | #define IWiaPropertyStorage_AddRef(This) (This)->lpVtbl->AddRef(This) | 
 | #define IWiaPropertyStorage_Release(This) (This)->lpVtbl->Release(This) | 
 | #else | 
 | /*** IUnknown methods ***/ | 
 | static inline HRESULT IWiaPropertyStorage_QueryInterface(IWiaPropertyStorage* This,REFIID riid,void **ppvObject) { | 
 |     return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
 | } | 
 | static inline ULONG IWiaPropertyStorage_AddRef(IWiaPropertyStorage* This) { | 
 |     return This->lpVtbl->AddRef(This); | 
 | } | 
 | static inline ULONG IWiaPropertyStorage_Release(IWiaPropertyStorage* This) { | 
 |     return This->lpVtbl->Release(This); | 
 | } | 
 | #endif | 
 | #endif | 
 |  | 
 | #endif | 
 |  | 
 |  | 
 | #endif  /* __IWiaPropertyStorage_INTERFACE_DEFINED__ */ | 
 |  | 
 | /***************************************************************************** | 
 |  * IWiaItem interface | 
 |  */ | 
 | #ifndef __IWiaItem_INTERFACE_DEFINED__ | 
 | #define __IWiaItem_INTERFACE_DEFINED__ | 
 |  | 
 | DEFINE_GUID(IID_IWiaItem, 0x4db1ad10, 0x3391, 0x11d2, 0x9a,0x33, 0x00,0xc0,0x4f,0xa3,0x61,0x45); | 
 | #if defined(__cplusplus) && !defined(CINTERFACE) | 
 | MIDL_INTERFACE("4db1ad10-3391-11d2-9a33-00c04fa36145") | 
 | IWiaItem : public IUnknown | 
 | { | 
 | }; | 
 | #ifdef __CRT_UUID_DECL | 
 | __CRT_UUID_DECL(IWiaItem, 0x4db1ad10, 0x3391, 0x11d2, 0x9a,0x33, 0x00,0xc0,0x4f,0xa3,0x61,0x45) | 
 | #endif | 
 | #else | 
 | typedef struct IWiaItemVtbl { | 
 |     BEGIN_INTERFACE | 
 |  | 
 |     /*** IUnknown methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
 |         IWiaItem *This, | 
 |         REFIID riid, | 
 |         void **ppvObject); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *AddRef)( | 
 |         IWiaItem *This); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *Release)( | 
 |         IWiaItem *This); | 
 |  | 
 |     END_INTERFACE | 
 | } IWiaItemVtbl; | 
 |  | 
 | interface IWiaItem { | 
 |     CONST_VTBL IWiaItemVtbl* lpVtbl; | 
 | }; | 
 |  | 
 | #ifdef COBJMACROS | 
 | #ifndef WIDL_C_INLINE_WRAPPERS | 
 | /*** IUnknown methods ***/ | 
 | #define IWiaItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
 | #define IWiaItem_AddRef(This) (This)->lpVtbl->AddRef(This) | 
 | #define IWiaItem_Release(This) (This)->lpVtbl->Release(This) | 
 | #else | 
 | /*** IUnknown methods ***/ | 
 | static inline HRESULT IWiaItem_QueryInterface(IWiaItem* This,REFIID riid,void **ppvObject) { | 
 |     return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
 | } | 
 | static inline ULONG IWiaItem_AddRef(IWiaItem* This) { | 
 |     return This->lpVtbl->AddRef(This); | 
 | } | 
 | static inline ULONG IWiaItem_Release(IWiaItem* This) { | 
 |     return This->lpVtbl->Release(This); | 
 | } | 
 | #endif | 
 | #endif | 
 |  | 
 | #endif | 
 |  | 
 |  | 
 | #endif  /* __IWiaItem_INTERFACE_DEFINED__ */ | 
 |  | 
 | /***************************************************************************** | 
 |  * IWiaEventCallback interface | 
 |  */ | 
 | #ifndef __IWiaEventCallback_INTERFACE_DEFINED__ | 
 | #define __IWiaEventCallback_INTERFACE_DEFINED__ | 
 |  | 
 | DEFINE_GUID(IID_IWiaEventCallback, 0xae6287b0, 0x0084, 0x11d2, 0x97,0x3b, 0x00,0xa0,0xc9,0x06,0x8f,0x2e); | 
 | #if defined(__cplusplus) && !defined(CINTERFACE) | 
 | MIDL_INTERFACE("ae6287b0-0084-11d2-973b-00a0c9068f2e") | 
 | IWiaEventCallback : public IUnknown | 
 | { | 
 |     virtual HRESULT STDMETHODCALLTYPE ImageEventCallback( | 
 |         const GUID *pEventGUID, | 
 |         BSTR bstrEventDescription, | 
 |         BSTR bstrDeviceID, | 
 |         BSTR bstrDeviceDescription, | 
 |         DWORD dwDeviceType, | 
 |         BSTR bstrFullItemName, | 
 |         ULONG *pulEventType, | 
 |         ULONG ulReserved) = 0; | 
 |  | 
 | }; | 
 | #ifdef __CRT_UUID_DECL | 
 | __CRT_UUID_DECL(IWiaEventCallback, 0xae6287b0, 0x0084, 0x11d2, 0x97,0x3b, 0x00,0xa0,0xc9,0x06,0x8f,0x2e) | 
 | #endif | 
 | #else | 
 | typedef struct IWiaEventCallbackVtbl { | 
 |     BEGIN_INTERFACE | 
 |  | 
 |     /*** IUnknown methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
 |         IWiaEventCallback *This, | 
 |         REFIID riid, | 
 |         void **ppvObject); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *AddRef)( | 
 |         IWiaEventCallback *This); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *Release)( | 
 |         IWiaEventCallback *This); | 
 |  | 
 |     /*** IWiaEventCallback methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *ImageEventCallback)( | 
 |         IWiaEventCallback *This, | 
 |         const GUID *pEventGUID, | 
 |         BSTR bstrEventDescription, | 
 |         BSTR bstrDeviceID, | 
 |         BSTR bstrDeviceDescription, | 
 |         DWORD dwDeviceType, | 
 |         BSTR bstrFullItemName, | 
 |         ULONG *pulEventType, | 
 |         ULONG ulReserved); | 
 |  | 
 |     END_INTERFACE | 
 | } IWiaEventCallbackVtbl; | 
 |  | 
 | interface IWiaEventCallback { | 
 |     CONST_VTBL IWiaEventCallbackVtbl* lpVtbl; | 
 | }; | 
 |  | 
 | #ifdef COBJMACROS | 
 | #ifndef WIDL_C_INLINE_WRAPPERS | 
 | /*** IUnknown methods ***/ | 
 | #define IWiaEventCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
 | #define IWiaEventCallback_AddRef(This) (This)->lpVtbl->AddRef(This) | 
 | #define IWiaEventCallback_Release(This) (This)->lpVtbl->Release(This) | 
 | /*** IWiaEventCallback methods ***/ | 
 | #define IWiaEventCallback_ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) (This)->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) | 
 | #else | 
 | /*** IUnknown methods ***/ | 
 | static inline HRESULT IWiaEventCallback_QueryInterface(IWiaEventCallback* This,REFIID riid,void **ppvObject) { | 
 |     return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
 | } | 
 | static inline ULONG IWiaEventCallback_AddRef(IWiaEventCallback* This) { | 
 |     return This->lpVtbl->AddRef(This); | 
 | } | 
 | static inline ULONG IWiaEventCallback_Release(IWiaEventCallback* This) { | 
 |     return This->lpVtbl->Release(This); | 
 | } | 
 | /*** IWiaEventCallback methods ***/ | 
 | static inline HRESULT IWiaEventCallback_ImageEventCallback(IWiaEventCallback* This,const GUID *pEventGUID,BSTR bstrEventDescription,BSTR bstrDeviceID,BSTR bstrDeviceDescription,DWORD dwDeviceType,BSTR bstrFullItemName,ULONG *pulEventType,ULONG ulReserved) { | 
 |     return This->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved); | 
 | } | 
 | #endif | 
 | #endif | 
 |  | 
 | #endif | 
 |  | 
 |  | 
 | #endif  /* __IWiaEventCallback_INTERFACE_DEFINED__ */ | 
 |  | 
 | typedef struct _WIA_DEV_CAP { | 
 |     GUID guid; | 
 |     ULONG ulFlags; | 
 |     BSTR bstrName; | 
 |     BSTR bstrDescription; | 
 |     BSTR bstrIcon; | 
 |     BSTR bstrCommandline; | 
 | } WIA_DEV_CAP; | 
 | typedef struct _WIA_DEV_CAP *PWIA_DEV_CAP; | 
 | typedef struct _WIA_DEV_CAP WIA_EVENT_HANDLER; | 
 | typedef struct _WIA_DEV_CAP *PWIA_EVENT_HANDLER; | 
 | /***************************************************************************** | 
 |  * IEnumWIA_DEV_CAPS interface | 
 |  */ | 
 | #ifndef __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__ | 
 | #define __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__ | 
 |  | 
 | DEFINE_GUID(IID_IEnumWIA_DEV_CAPS, 0x1fcc4287, 0xaca6, 0x11d2, 0xa0,0x93, 0x00,0xc0,0x4f,0x72,0xdc,0x3c); | 
 | #if defined(__cplusplus) && !defined(CINTERFACE) | 
 | MIDL_INTERFACE("1fcc4287-aca6-11d2-a093-00c04f72dc3c") | 
 | IEnumWIA_DEV_CAPS : public IUnknown | 
 | { | 
 |     virtual HRESULT STDMETHODCALLTYPE Next( | 
 |         ULONG celt, | 
 |         WIA_DEV_CAP *rgelt, | 
 |         ULONG *pceltFetched) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE Skip( | 
 |         ULONG celt) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE Reset( | 
 |         ) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE Clone( | 
 |         IEnumWIA_DEV_CAPS **ppIEnum) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE GetCount( | 
 |         ULONG *pcelt) = 0; | 
 |  | 
 | }; | 
 | #ifdef __CRT_UUID_DECL | 
 | __CRT_UUID_DECL(IEnumWIA_DEV_CAPS, 0x1fcc4287, 0xaca6, 0x11d2, 0xa0,0x93, 0x00,0xc0,0x4f,0x72,0xdc,0x3c) | 
 | #endif | 
 | #else | 
 | typedef struct IEnumWIA_DEV_CAPSVtbl { | 
 |     BEGIN_INTERFACE | 
 |  | 
 |     /*** IUnknown methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
 |         IEnumWIA_DEV_CAPS *This, | 
 |         REFIID riid, | 
 |         void **ppvObject); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *AddRef)( | 
 |         IEnumWIA_DEV_CAPS *This); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *Release)( | 
 |         IEnumWIA_DEV_CAPS *This); | 
 |  | 
 |     /*** IEnumWIA_DEV_CAPS methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *Next)( | 
 |         IEnumWIA_DEV_CAPS *This, | 
 |         ULONG celt, | 
 |         WIA_DEV_CAP *rgelt, | 
 |         ULONG *pceltFetched); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *Skip)( | 
 |         IEnumWIA_DEV_CAPS *This, | 
 |         ULONG celt); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *Reset)( | 
 |         IEnumWIA_DEV_CAPS *This); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *Clone)( | 
 |         IEnumWIA_DEV_CAPS *This, | 
 |         IEnumWIA_DEV_CAPS **ppIEnum); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *GetCount)( | 
 |         IEnumWIA_DEV_CAPS *This, | 
 |         ULONG *pcelt); | 
 |  | 
 |     END_INTERFACE | 
 | } IEnumWIA_DEV_CAPSVtbl; | 
 |  | 
 | interface IEnumWIA_DEV_CAPS { | 
 |     CONST_VTBL IEnumWIA_DEV_CAPSVtbl* lpVtbl; | 
 | }; | 
 |  | 
 | #ifdef COBJMACROS | 
 | #ifndef WIDL_C_INLINE_WRAPPERS | 
 | /*** IUnknown methods ***/ | 
 | #define IEnumWIA_DEV_CAPS_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
 | #define IEnumWIA_DEV_CAPS_AddRef(This) (This)->lpVtbl->AddRef(This) | 
 | #define IEnumWIA_DEV_CAPS_Release(This) (This)->lpVtbl->Release(This) | 
 | /*** IEnumWIA_DEV_CAPS methods ***/ | 
 | #define IEnumWIA_DEV_CAPS_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) | 
 | #define IEnumWIA_DEV_CAPS_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) | 
 | #define IEnumWIA_DEV_CAPS_Reset(This) (This)->lpVtbl->Reset(This) | 
 | #define IEnumWIA_DEV_CAPS_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) | 
 | #define IEnumWIA_DEV_CAPS_GetCount(This,pcelt) (This)->lpVtbl->GetCount(This,pcelt) | 
 | #else | 
 | /*** IUnknown methods ***/ | 
 | static inline HRESULT IEnumWIA_DEV_CAPS_QueryInterface(IEnumWIA_DEV_CAPS* This,REFIID riid,void **ppvObject) { | 
 |     return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
 | } | 
 | static inline ULONG IEnumWIA_DEV_CAPS_AddRef(IEnumWIA_DEV_CAPS* This) { | 
 |     return This->lpVtbl->AddRef(This); | 
 | } | 
 | static inline ULONG IEnumWIA_DEV_CAPS_Release(IEnumWIA_DEV_CAPS* This) { | 
 |     return This->lpVtbl->Release(This); | 
 | } | 
 | /*** IEnumWIA_DEV_CAPS methods ***/ | 
 | static inline HRESULT IEnumWIA_DEV_CAPS_Next(IEnumWIA_DEV_CAPS* This,ULONG celt,WIA_DEV_CAP *rgelt,ULONG *pceltFetched) { | 
 |     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); | 
 | } | 
 | static inline HRESULT IEnumWIA_DEV_CAPS_Skip(IEnumWIA_DEV_CAPS* This,ULONG celt) { | 
 |     return This->lpVtbl->Skip(This,celt); | 
 | } | 
 | static inline HRESULT IEnumWIA_DEV_CAPS_Reset(IEnumWIA_DEV_CAPS* This) { | 
 |     return This->lpVtbl->Reset(This); | 
 | } | 
 | static inline HRESULT IEnumWIA_DEV_CAPS_Clone(IEnumWIA_DEV_CAPS* This,IEnumWIA_DEV_CAPS **ppIEnum) { | 
 |     return This->lpVtbl->Clone(This,ppIEnum); | 
 | } | 
 | static inline HRESULT IEnumWIA_DEV_CAPS_GetCount(IEnumWIA_DEV_CAPS* This,ULONG *pcelt) { | 
 |     return This->lpVtbl->GetCount(This,pcelt); | 
 | } | 
 | #endif | 
 | #endif | 
 |  | 
 | #endif | 
 |  | 
 |  | 
 | #endif  /* __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__ */ | 
 |  | 
 | typedef struct _WiaTransferParams { | 
 |     LONG lMessage; | 
 |     LONG lPercentComplete; | 
 |     ULONG64 ulTransferredBytes; | 
 |     HRESULT hrErrorStatus; | 
 | } WiaTransferParams; | 
 | /***************************************************************************** | 
 |  * IWiaTransferCallback interface | 
 |  */ | 
 | #ifndef __IWiaTransferCallback_INTERFACE_DEFINED__ | 
 | #define __IWiaTransferCallback_INTERFACE_DEFINED__ | 
 |  | 
 | DEFINE_GUID(IID_IWiaTransferCallback, 0x27d4eaaf, 0x28a6, 0x4ca5, 0x9a,0xab, 0xe6,0x78,0x16,0x8b,0x95,0x27); | 
 | #if defined(__cplusplus) && !defined(CINTERFACE) | 
 | MIDL_INTERFACE("27d4eaaf-28a6-4ca5-9aab-e678168b9527") | 
 | IWiaTransferCallback : public IUnknown | 
 | { | 
 |     virtual HRESULT STDMETHODCALLTYPE TransferCallback( | 
 |         LONG lFlags, | 
 |         WiaTransferParams *pWiaTransferParams) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE GetNextStream( | 
 |         LONG lFlags, | 
 |         BSTR bstrItemName, | 
 |         BSTR bstrFullItemName, | 
 |         IStream **ppDestination) = 0; | 
 |  | 
 | }; | 
 | #ifdef __CRT_UUID_DECL | 
 | __CRT_UUID_DECL(IWiaTransferCallback, 0x27d4eaaf, 0x28a6, 0x4ca5, 0x9a,0xab, 0xe6,0x78,0x16,0x8b,0x95,0x27) | 
 | #endif | 
 | #else | 
 | typedef struct IWiaTransferCallbackVtbl { | 
 |     BEGIN_INTERFACE | 
 |  | 
 |     /*** IUnknown methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
 |         IWiaTransferCallback *This, | 
 |         REFIID riid, | 
 |         void **ppvObject); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *AddRef)( | 
 |         IWiaTransferCallback *This); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *Release)( | 
 |         IWiaTransferCallback *This); | 
 |  | 
 |     /*** IWiaTransferCallback methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *TransferCallback)( | 
 |         IWiaTransferCallback *This, | 
 |         LONG lFlags, | 
 |         WiaTransferParams *pWiaTransferParams); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *GetNextStream)( | 
 |         IWiaTransferCallback *This, | 
 |         LONG lFlags, | 
 |         BSTR bstrItemName, | 
 |         BSTR bstrFullItemName, | 
 |         IStream **ppDestination); | 
 |  | 
 |     END_INTERFACE | 
 | } IWiaTransferCallbackVtbl; | 
 |  | 
 | interface IWiaTransferCallback { | 
 |     CONST_VTBL IWiaTransferCallbackVtbl* lpVtbl; | 
 | }; | 
 |  | 
 | #ifdef COBJMACROS | 
 | #ifndef WIDL_C_INLINE_WRAPPERS | 
 | /*** IUnknown methods ***/ | 
 | #define IWiaTransferCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
 | #define IWiaTransferCallback_AddRef(This) (This)->lpVtbl->AddRef(This) | 
 | #define IWiaTransferCallback_Release(This) (This)->lpVtbl->Release(This) | 
 | /*** IWiaTransferCallback methods ***/ | 
 | #define IWiaTransferCallback_TransferCallback(This,lFlags,pWiaTransferParams) (This)->lpVtbl->TransferCallback(This,lFlags,pWiaTransferParams) | 
 | #define IWiaTransferCallback_GetNextStream(This,lFlags,bstrItemName,bstrFullItemName,ppDestination) (This)->lpVtbl->GetNextStream(This,lFlags,bstrItemName,bstrFullItemName,ppDestination) | 
 | #else | 
 | /*** IUnknown methods ***/ | 
 | static inline HRESULT IWiaTransferCallback_QueryInterface(IWiaTransferCallback* This,REFIID riid,void **ppvObject) { | 
 |     return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
 | } | 
 | static inline ULONG IWiaTransferCallback_AddRef(IWiaTransferCallback* This) { | 
 |     return This->lpVtbl->AddRef(This); | 
 | } | 
 | static inline ULONG IWiaTransferCallback_Release(IWiaTransferCallback* This) { | 
 |     return This->lpVtbl->Release(This); | 
 | } | 
 | /*** IWiaTransferCallback methods ***/ | 
 | static inline HRESULT IWiaTransferCallback_TransferCallback(IWiaTransferCallback* This,LONG lFlags,WiaTransferParams *pWiaTransferParams) { | 
 |     return This->lpVtbl->TransferCallback(This,lFlags,pWiaTransferParams); | 
 | } | 
 | static inline HRESULT IWiaTransferCallback_GetNextStream(IWiaTransferCallback* This,LONG lFlags,BSTR bstrItemName,BSTR bstrFullItemName,IStream **ppDestination) { | 
 |     return This->lpVtbl->GetNextStream(This,lFlags,bstrItemName,bstrFullItemName,ppDestination); | 
 | } | 
 | #endif | 
 | #endif | 
 |  | 
 | #endif | 
 |  | 
 |  | 
 | #endif  /* __IWiaTransferCallback_INTERFACE_DEFINED__ */ | 
 |  | 
 | /***************************************************************************** | 
 |  * IWiaPreview interface | 
 |  */ | 
 | #ifndef __IWiaPreview_INTERFACE_DEFINED__ | 
 | #define __IWiaPreview_INTERFACE_DEFINED__ | 
 |  | 
 | DEFINE_GUID(IID_IWiaPreview, 0x95c2b4fd, 0x33f2, 0x4d86, 0xad,0x40, 0x94,0x31,0xf0,0xdf,0x08,0xf7); | 
 | #if defined(__cplusplus) && !defined(CINTERFACE) | 
 | MIDL_INTERFACE("95c2b4fd-33f2-4d86-ad40-9431f0df08f7") | 
 | IWiaPreview : public IUnknown | 
 | { | 
 |     virtual HRESULT STDMETHODCALLTYPE GetNewPreview( | 
 |         LONG lFlags, | 
 |         IWiaItem2 *pWiaItem2, | 
 |         IWiaTransferCallback *pWiaTransferCallback) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE UpdatePreview( | 
 |         LONG lFlags, | 
 |         IWiaItem2 *pChildWiaItem2, | 
 |         IWiaTransferCallback *pWiaTransferCallback) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE DetectRegions( | 
 |         LONG lFlags) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE Clear( | 
 |         ) = 0; | 
 |  | 
 | }; | 
 | #ifdef __CRT_UUID_DECL | 
 | __CRT_UUID_DECL(IWiaPreview, 0x95c2b4fd, 0x33f2, 0x4d86, 0xad,0x40, 0x94,0x31,0xf0,0xdf,0x08,0xf7) | 
 | #endif | 
 | #else | 
 | typedef struct IWiaPreviewVtbl { | 
 |     BEGIN_INTERFACE | 
 |  | 
 |     /*** IUnknown methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
 |         IWiaPreview *This, | 
 |         REFIID riid, | 
 |         void **ppvObject); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *AddRef)( | 
 |         IWiaPreview *This); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *Release)( | 
 |         IWiaPreview *This); | 
 |  | 
 |     /*** IWiaPreview methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *GetNewPreview)( | 
 |         IWiaPreview *This, | 
 |         LONG lFlags, | 
 |         IWiaItem2 *pWiaItem2, | 
 |         IWiaTransferCallback *pWiaTransferCallback); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *UpdatePreview)( | 
 |         IWiaPreview *This, | 
 |         LONG lFlags, | 
 |         IWiaItem2 *pChildWiaItem2, | 
 |         IWiaTransferCallback *pWiaTransferCallback); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *DetectRegions)( | 
 |         IWiaPreview *This, | 
 |         LONG lFlags); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *Clear)( | 
 |         IWiaPreview *This); | 
 |  | 
 |     END_INTERFACE | 
 | } IWiaPreviewVtbl; | 
 |  | 
 | interface IWiaPreview { | 
 |     CONST_VTBL IWiaPreviewVtbl* lpVtbl; | 
 | }; | 
 |  | 
 | #ifdef COBJMACROS | 
 | #ifndef WIDL_C_INLINE_WRAPPERS | 
 | /*** IUnknown methods ***/ | 
 | #define IWiaPreview_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
 | #define IWiaPreview_AddRef(This) (This)->lpVtbl->AddRef(This) | 
 | #define IWiaPreview_Release(This) (This)->lpVtbl->Release(This) | 
 | /*** IWiaPreview methods ***/ | 
 | #define IWiaPreview_GetNewPreview(This,lFlags,pWiaItem2,pWiaTransferCallback) (This)->lpVtbl->GetNewPreview(This,lFlags,pWiaItem2,pWiaTransferCallback) | 
 | #define IWiaPreview_UpdatePreview(This,lFlags,pChildWiaItem2,pWiaTransferCallback) (This)->lpVtbl->UpdatePreview(This,lFlags,pChildWiaItem2,pWiaTransferCallback) | 
 | #define IWiaPreview_DetectRegions(This,lFlags) (This)->lpVtbl->DetectRegions(This,lFlags) | 
 | #define IWiaPreview_Clear(This) (This)->lpVtbl->Clear(This) | 
 | #else | 
 | /*** IUnknown methods ***/ | 
 | static inline HRESULT IWiaPreview_QueryInterface(IWiaPreview* This,REFIID riid,void **ppvObject) { | 
 |     return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
 | } | 
 | static inline ULONG IWiaPreview_AddRef(IWiaPreview* This) { | 
 |     return This->lpVtbl->AddRef(This); | 
 | } | 
 | static inline ULONG IWiaPreview_Release(IWiaPreview* This) { | 
 |     return This->lpVtbl->Release(This); | 
 | } | 
 | /*** IWiaPreview methods ***/ | 
 | static inline HRESULT IWiaPreview_GetNewPreview(IWiaPreview* This,LONG lFlags,IWiaItem2 *pWiaItem2,IWiaTransferCallback *pWiaTransferCallback) { | 
 |     return This->lpVtbl->GetNewPreview(This,lFlags,pWiaItem2,pWiaTransferCallback); | 
 | } | 
 | static inline HRESULT IWiaPreview_UpdatePreview(IWiaPreview* This,LONG lFlags,IWiaItem2 *pChildWiaItem2,IWiaTransferCallback *pWiaTransferCallback) { | 
 |     return This->lpVtbl->UpdatePreview(This,lFlags,pChildWiaItem2,pWiaTransferCallback); | 
 | } | 
 | static inline HRESULT IWiaPreview_DetectRegions(IWiaPreview* This,LONG lFlags) { | 
 |     return This->lpVtbl->DetectRegions(This,lFlags); | 
 | } | 
 | static inline HRESULT IWiaPreview_Clear(IWiaPreview* This) { | 
 |     return This->lpVtbl->Clear(This); | 
 | } | 
 | #endif | 
 | #endif | 
 |  | 
 | #endif | 
 |  | 
 |  | 
 | #endif  /* __IWiaPreview_INTERFACE_DEFINED__ */ | 
 |  | 
 | /***************************************************************************** | 
 |  * IEnumWiaItem2 interface | 
 |  */ | 
 | #ifndef __IEnumWiaItem2_INTERFACE_DEFINED__ | 
 | #define __IEnumWiaItem2_INTERFACE_DEFINED__ | 
 |  | 
 | DEFINE_GUID(IID_IEnumWiaItem2, 0x59970af4, 0xcd0d, 0x44d9, 0xab,0x24, 0x52,0x29,0x56,0x30,0xe5,0x82); | 
 | #if defined(__cplusplus) && !defined(CINTERFACE) | 
 | MIDL_INTERFACE("59970af4-cd0d-44d9-ab24-52295630e582") | 
 | IEnumWiaItem2 : public IUnknown | 
 | { | 
 |     virtual HRESULT STDMETHODCALLTYPE Next( | 
 |         ULONG cElt, | 
 |         IWiaItem2 **ppIWiaItem2, | 
 |         ULONG *pcEltFetched) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE Skip( | 
 |         ULONG cElt) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE Reset( | 
 |         ) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE Clone( | 
 |         IEnumWiaItem2 **ppIEnum) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE GetCount( | 
 |         ULONG *cElt) = 0; | 
 |  | 
 | }; | 
 | #ifdef __CRT_UUID_DECL | 
 | __CRT_UUID_DECL(IEnumWiaItem2, 0x59970af4, 0xcd0d, 0x44d9, 0xab,0x24, 0x52,0x29,0x56,0x30,0xe5,0x82) | 
 | #endif | 
 | #else | 
 | typedef struct IEnumWiaItem2Vtbl { | 
 |     BEGIN_INTERFACE | 
 |  | 
 |     /*** IUnknown methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
 |         IEnumWiaItem2 *This, | 
 |         REFIID riid, | 
 |         void **ppvObject); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *AddRef)( | 
 |         IEnumWiaItem2 *This); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *Release)( | 
 |         IEnumWiaItem2 *This); | 
 |  | 
 |     /*** IEnumWiaItem2 methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *Next)( | 
 |         IEnumWiaItem2 *This, | 
 |         ULONG cElt, | 
 |         IWiaItem2 **ppIWiaItem2, | 
 |         ULONG *pcEltFetched); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *Skip)( | 
 |         IEnumWiaItem2 *This, | 
 |         ULONG cElt); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *Reset)( | 
 |         IEnumWiaItem2 *This); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *Clone)( | 
 |         IEnumWiaItem2 *This, | 
 |         IEnumWiaItem2 **ppIEnum); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *GetCount)( | 
 |         IEnumWiaItem2 *This, | 
 |         ULONG *cElt); | 
 |  | 
 |     END_INTERFACE | 
 | } IEnumWiaItem2Vtbl; | 
 |  | 
 | interface IEnumWiaItem2 { | 
 |     CONST_VTBL IEnumWiaItem2Vtbl* lpVtbl; | 
 | }; | 
 |  | 
 | #ifdef COBJMACROS | 
 | #ifndef WIDL_C_INLINE_WRAPPERS | 
 | /*** IUnknown methods ***/ | 
 | #define IEnumWiaItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
 | #define IEnumWiaItem2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
 | #define IEnumWiaItem2_Release(This) (This)->lpVtbl->Release(This) | 
 | /*** IEnumWiaItem2 methods ***/ | 
 | #define IEnumWiaItem2_Next(This,cElt,ppIWiaItem2,pcEltFetched) (This)->lpVtbl->Next(This,cElt,ppIWiaItem2,pcEltFetched) | 
 | #define IEnumWiaItem2_Skip(This,cElt) (This)->lpVtbl->Skip(This,cElt) | 
 | #define IEnumWiaItem2_Reset(This) (This)->lpVtbl->Reset(This) | 
 | #define IEnumWiaItem2_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) | 
 | #define IEnumWiaItem2_GetCount(This,cElt) (This)->lpVtbl->GetCount(This,cElt) | 
 | #else | 
 | /*** IUnknown methods ***/ | 
 | static inline HRESULT IEnumWiaItem2_QueryInterface(IEnumWiaItem2* This,REFIID riid,void **ppvObject) { | 
 |     return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
 | } | 
 | static inline ULONG IEnumWiaItem2_AddRef(IEnumWiaItem2* This) { | 
 |     return This->lpVtbl->AddRef(This); | 
 | } | 
 | static inline ULONG IEnumWiaItem2_Release(IEnumWiaItem2* This) { | 
 |     return This->lpVtbl->Release(This); | 
 | } | 
 | /*** IEnumWiaItem2 methods ***/ | 
 | static inline HRESULT IEnumWiaItem2_Next(IEnumWiaItem2* This,ULONG cElt,IWiaItem2 **ppIWiaItem2,ULONG *pcEltFetched) { | 
 |     return This->lpVtbl->Next(This,cElt,ppIWiaItem2,pcEltFetched); | 
 | } | 
 | static inline HRESULT IEnumWiaItem2_Skip(IEnumWiaItem2* This,ULONG cElt) { | 
 |     return This->lpVtbl->Skip(This,cElt); | 
 | } | 
 | static inline HRESULT IEnumWiaItem2_Reset(IEnumWiaItem2* This) { | 
 |     return This->lpVtbl->Reset(This); | 
 | } | 
 | static inline HRESULT IEnumWiaItem2_Clone(IEnumWiaItem2* This,IEnumWiaItem2 **ppIEnum) { | 
 |     return This->lpVtbl->Clone(This,ppIEnum); | 
 | } | 
 | static inline HRESULT IEnumWiaItem2_GetCount(IEnumWiaItem2* This,ULONG *cElt) { | 
 |     return This->lpVtbl->GetCount(This,cElt); | 
 | } | 
 | #endif | 
 | #endif | 
 |  | 
 | #endif | 
 |  | 
 |  | 
 | #endif  /* __IEnumWiaItem2_INTERFACE_DEFINED__ */ | 
 |  | 
 | /***************************************************************************** | 
 |  * IWiaItem2 interface | 
 |  */ | 
 | #ifndef __IWiaItem2_INTERFACE_DEFINED__ | 
 | #define __IWiaItem2_INTERFACE_DEFINED__ | 
 |  | 
 | DEFINE_GUID(IID_IWiaItem2, 0x6cba0075, 0x1287, 0x407d, 0x9b,0x77, 0xcf,0x0e,0x03,0x04,0x35,0xcc); | 
 | #if defined(__cplusplus) && !defined(CINTERFACE) | 
 | MIDL_INTERFACE("6cba0075-1287-407d-9b77-cf0e030435cc") | 
 | IWiaItem2 : public IUnknown | 
 | { | 
 |     virtual HRESULT STDMETHODCALLTYPE CreateChildItem( | 
 |         LONG lItemFlags, | 
 |         LONG lCreationFlags, | 
 |         BSTR bstrItemName, | 
 |         IWiaItem2 **ppIWiaItem2) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE DeleteItem( | 
 |         LONG lFlags) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE EnumChildItems( | 
 |         const GUID *pCategoryGUID, | 
 |         IEnumWiaItem2 **ppIEnumWiaItem2) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE FindItemByName( | 
 |         LONG lFlags, | 
 |         BSTR bstrFullItemName, | 
 |         IWiaItem2 **ppIWiaItem2) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE GetItemCategory( | 
 |         GUID *pItemCategoryGUID) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE GetItemType( | 
 |         LONG *pItemType) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE DeviceDlg( | 
 |         LONG lFlags, | 
 |         HWND hwndParent, | 
 |         BSTR bstrFolderName, | 
 |         BSTR bstrFilename, | 
 |         LONG *plNumFiles, | 
 |         BSTR **ppbstrFilePaths, | 
 |         IWiaItem2 **ppItem) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE DeviceCommand( | 
 |         LONG lFlags, | 
 |         const GUID *pCmdGUID, | 
 |         IWiaItem2 **ppIWiaItem2) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE EnumDeviceCapabilities( | 
 |         LONG lFlags, | 
 |         IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE CheckExtension( | 
 |         LONG lFlags, | 
 |         BSTR bstrName, | 
 |         REFIID riidExtensionInterface, | 
 |         WINBOOL *pbExtensionExists) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE GetExtension( | 
 |         LONG lFlags, | 
 |         BSTR bstrName, | 
 |         REFIID riidExtensionInterface, | 
 |         void **ppOut) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE GetParentItem( | 
 |         IWiaItem2 **ppIWiaItem2) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE GetRootItem( | 
 |         IWiaItem2 **ppIWiaItem2) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE GetPreviewComponent( | 
 |         LONG lFlags, | 
 |         IWiaPreview **ppWiaPreview) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE EnumRegisterEventInfo( | 
 |         LONG lFlags, | 
 |         const GUID *pEventGUID, | 
 |         IEnumWIA_DEV_CAPS **ppIEnum) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE Diagnostic( | 
 |         ULONG ulSize, | 
 |         BYTE *pBuffer) = 0; | 
 |  | 
 | }; | 
 | #ifdef __CRT_UUID_DECL | 
 | __CRT_UUID_DECL(IWiaItem2, 0x6cba0075, 0x1287, 0x407d, 0x9b,0x77, 0xcf,0x0e,0x03,0x04,0x35,0xcc) | 
 | #endif | 
 | #else | 
 | typedef struct IWiaItem2Vtbl { | 
 |     BEGIN_INTERFACE | 
 |  | 
 |     /*** IUnknown methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
 |         IWiaItem2 *This, | 
 |         REFIID riid, | 
 |         void **ppvObject); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *AddRef)( | 
 |         IWiaItem2 *This); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *Release)( | 
 |         IWiaItem2 *This); | 
 |  | 
 |     /*** IWiaItem2 methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *CreateChildItem)( | 
 |         IWiaItem2 *This, | 
 |         LONG lItemFlags, | 
 |         LONG lCreationFlags, | 
 |         BSTR bstrItemName, | 
 |         IWiaItem2 **ppIWiaItem2); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *DeleteItem)( | 
 |         IWiaItem2 *This, | 
 |         LONG lFlags); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *EnumChildItems)( | 
 |         IWiaItem2 *This, | 
 |         const GUID *pCategoryGUID, | 
 |         IEnumWiaItem2 **ppIEnumWiaItem2); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *FindItemByName)( | 
 |         IWiaItem2 *This, | 
 |         LONG lFlags, | 
 |         BSTR bstrFullItemName, | 
 |         IWiaItem2 **ppIWiaItem2); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *GetItemCategory)( | 
 |         IWiaItem2 *This, | 
 |         GUID *pItemCategoryGUID); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *GetItemType)( | 
 |         IWiaItem2 *This, | 
 |         LONG *pItemType); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *DeviceDlg)( | 
 |         IWiaItem2 *This, | 
 |         LONG lFlags, | 
 |         HWND hwndParent, | 
 |         BSTR bstrFolderName, | 
 |         BSTR bstrFilename, | 
 |         LONG *plNumFiles, | 
 |         BSTR **ppbstrFilePaths, | 
 |         IWiaItem2 **ppItem); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *DeviceCommand)( | 
 |         IWiaItem2 *This, | 
 |         LONG lFlags, | 
 |         const GUID *pCmdGUID, | 
 |         IWiaItem2 **ppIWiaItem2); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *EnumDeviceCapabilities)( | 
 |         IWiaItem2 *This, | 
 |         LONG lFlags, | 
 |         IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *CheckExtension)( | 
 |         IWiaItem2 *This, | 
 |         LONG lFlags, | 
 |         BSTR bstrName, | 
 |         REFIID riidExtensionInterface, | 
 |         WINBOOL *pbExtensionExists); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *GetExtension)( | 
 |         IWiaItem2 *This, | 
 |         LONG lFlags, | 
 |         BSTR bstrName, | 
 |         REFIID riidExtensionInterface, | 
 |         void **ppOut); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *GetParentItem)( | 
 |         IWiaItem2 *This, | 
 |         IWiaItem2 **ppIWiaItem2); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *GetRootItem)( | 
 |         IWiaItem2 *This, | 
 |         IWiaItem2 **ppIWiaItem2); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *GetPreviewComponent)( | 
 |         IWiaItem2 *This, | 
 |         LONG lFlags, | 
 |         IWiaPreview **ppWiaPreview); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *EnumRegisterEventInfo)( | 
 |         IWiaItem2 *This, | 
 |         LONG lFlags, | 
 |         const GUID *pEventGUID, | 
 |         IEnumWIA_DEV_CAPS **ppIEnum); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *Diagnostic)( | 
 |         IWiaItem2 *This, | 
 |         ULONG ulSize, | 
 |         BYTE *pBuffer); | 
 |  | 
 |     END_INTERFACE | 
 | } IWiaItem2Vtbl; | 
 |  | 
 | interface IWiaItem2 { | 
 |     CONST_VTBL IWiaItem2Vtbl* lpVtbl; | 
 | }; | 
 |  | 
 | #ifdef COBJMACROS | 
 | #ifndef WIDL_C_INLINE_WRAPPERS | 
 | /*** IUnknown methods ***/ | 
 | #define IWiaItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
 | #define IWiaItem2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
 | #define IWiaItem2_Release(This) (This)->lpVtbl->Release(This) | 
 | /*** IWiaItem2 methods ***/ | 
 | #define IWiaItem2_CreateChildItem(This,lItemFlags,lCreationFlags,bstrItemName,ppIWiaItem2) (This)->lpVtbl->CreateChildItem(This,lItemFlags,lCreationFlags,bstrItemName,ppIWiaItem2) | 
 | #define IWiaItem2_DeleteItem(This,lFlags) (This)->lpVtbl->DeleteItem(This,lFlags) | 
 | #define IWiaItem2_EnumChildItems(This,pCategoryGUID,ppIEnumWiaItem2) (This)->lpVtbl->EnumChildItems(This,pCategoryGUID,ppIEnumWiaItem2) | 
 | #define IWiaItem2_FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem2) (This)->lpVtbl->FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem2) | 
 | #define IWiaItem2_GetItemCategory(This,pItemCategoryGUID) (This)->lpVtbl->GetItemCategory(This,pItemCategoryGUID) | 
 | #define IWiaItem2_GetItemType(This,pItemType) (This)->lpVtbl->GetItemType(This,pItemType) | 
 | #define IWiaItem2_DeviceDlg(This,lFlags,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem) (This)->lpVtbl->DeviceDlg(This,lFlags,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem) | 
 | #define IWiaItem2_DeviceCommand(This,lFlags,pCmdGUID,ppIWiaItem2) (This)->lpVtbl->DeviceCommand(This,lFlags,pCmdGUID,ppIWiaItem2) | 
 | #define IWiaItem2_EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS) (This)->lpVtbl->EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS) | 
 | #define IWiaItem2_CheckExtension(This,lFlags,bstrName,riidExtensionInterface,pbExtensionExists) (This)->lpVtbl->CheckExtension(This,lFlags,bstrName,riidExtensionInterface,pbExtensionExists) | 
 | #define IWiaItem2_GetExtension(This,lFlags,bstrName,riidExtensionInterface,ppOut) (This)->lpVtbl->GetExtension(This,lFlags,bstrName,riidExtensionInterface,ppOut) | 
 | #define IWiaItem2_GetParentItem(This,ppIWiaItem2) (This)->lpVtbl->GetParentItem(This,ppIWiaItem2) | 
 | #define IWiaItem2_GetRootItem(This,ppIWiaItem2) (This)->lpVtbl->GetRootItem(This,ppIWiaItem2) | 
 | #define IWiaItem2_GetPreviewComponent(This,lFlags,ppWiaPreview) (This)->lpVtbl->GetPreviewComponent(This,lFlags,ppWiaPreview) | 
 | #define IWiaItem2_EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum) (This)->lpVtbl->EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum) | 
 | #define IWiaItem2_Diagnostic(This,ulSize,pBuffer) (This)->lpVtbl->Diagnostic(This,ulSize,pBuffer) | 
 | #else | 
 | /*** IUnknown methods ***/ | 
 | static inline HRESULT IWiaItem2_QueryInterface(IWiaItem2* This,REFIID riid,void **ppvObject) { | 
 |     return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
 | } | 
 | static inline ULONG IWiaItem2_AddRef(IWiaItem2* This) { | 
 |     return This->lpVtbl->AddRef(This); | 
 | } | 
 | static inline ULONG IWiaItem2_Release(IWiaItem2* This) { | 
 |     return This->lpVtbl->Release(This); | 
 | } | 
 | /*** IWiaItem2 methods ***/ | 
 | static inline HRESULT IWiaItem2_CreateChildItem(IWiaItem2* This,LONG lItemFlags,LONG lCreationFlags,BSTR bstrItemName,IWiaItem2 **ppIWiaItem2) { | 
 |     return This->lpVtbl->CreateChildItem(This,lItemFlags,lCreationFlags,bstrItemName,ppIWiaItem2); | 
 | } | 
 | static inline HRESULT IWiaItem2_DeleteItem(IWiaItem2* This,LONG lFlags) { | 
 |     return This->lpVtbl->DeleteItem(This,lFlags); | 
 | } | 
 | static inline HRESULT IWiaItem2_EnumChildItems(IWiaItem2* This,const GUID *pCategoryGUID,IEnumWiaItem2 **ppIEnumWiaItem2) { | 
 |     return This->lpVtbl->EnumChildItems(This,pCategoryGUID,ppIEnumWiaItem2); | 
 | } | 
 | static inline HRESULT IWiaItem2_FindItemByName(IWiaItem2* This,LONG lFlags,BSTR bstrFullItemName,IWiaItem2 **ppIWiaItem2) { | 
 |     return This->lpVtbl->FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem2); | 
 | } | 
 | static inline HRESULT IWiaItem2_GetItemCategory(IWiaItem2* This,GUID *pItemCategoryGUID) { | 
 |     return This->lpVtbl->GetItemCategory(This,pItemCategoryGUID); | 
 | } | 
 | static inline HRESULT IWiaItem2_GetItemType(IWiaItem2* This,LONG *pItemType) { | 
 |     return This->lpVtbl->GetItemType(This,pItemType); | 
 | } | 
 | static inline HRESULT IWiaItem2_DeviceDlg(IWiaItem2* This,LONG lFlags,HWND hwndParent,BSTR bstrFolderName,BSTR bstrFilename,LONG *plNumFiles,BSTR **ppbstrFilePaths,IWiaItem2 **ppItem) { | 
 |     return This->lpVtbl->DeviceDlg(This,lFlags,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem); | 
 | } | 
 | static inline HRESULT IWiaItem2_DeviceCommand(IWiaItem2* This,LONG lFlags,const GUID *pCmdGUID,IWiaItem2 **ppIWiaItem2) { | 
 |     return This->lpVtbl->DeviceCommand(This,lFlags,pCmdGUID,ppIWiaItem2); | 
 | } | 
 | static inline HRESULT IWiaItem2_EnumDeviceCapabilities(IWiaItem2* This,LONG lFlags,IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS) { | 
 |     return This->lpVtbl->EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS); | 
 | } | 
 | static inline HRESULT IWiaItem2_CheckExtension(IWiaItem2* This,LONG lFlags,BSTR bstrName,REFIID riidExtensionInterface,WINBOOL *pbExtensionExists) { | 
 |     return This->lpVtbl->CheckExtension(This,lFlags,bstrName,riidExtensionInterface,pbExtensionExists); | 
 | } | 
 | static inline HRESULT IWiaItem2_GetExtension(IWiaItem2* This,LONG lFlags,BSTR bstrName,REFIID riidExtensionInterface,void **ppOut) { | 
 |     return This->lpVtbl->GetExtension(This,lFlags,bstrName,riidExtensionInterface,ppOut); | 
 | } | 
 | static inline HRESULT IWiaItem2_GetParentItem(IWiaItem2* This,IWiaItem2 **ppIWiaItem2) { | 
 |     return This->lpVtbl->GetParentItem(This,ppIWiaItem2); | 
 | } | 
 | static inline HRESULT IWiaItem2_GetRootItem(IWiaItem2* This,IWiaItem2 **ppIWiaItem2) { | 
 |     return This->lpVtbl->GetRootItem(This,ppIWiaItem2); | 
 | } | 
 | static inline HRESULT IWiaItem2_GetPreviewComponent(IWiaItem2* This,LONG lFlags,IWiaPreview **ppWiaPreview) { | 
 |     return This->lpVtbl->GetPreviewComponent(This,lFlags,ppWiaPreview); | 
 | } | 
 | static inline HRESULT IWiaItem2_EnumRegisterEventInfo(IWiaItem2* This,LONG lFlags,const GUID *pEventGUID,IEnumWIA_DEV_CAPS **ppIEnum) { | 
 |     return This->lpVtbl->EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum); | 
 | } | 
 | static inline HRESULT IWiaItem2_Diagnostic(IWiaItem2* This,ULONG ulSize,BYTE *pBuffer) { | 
 |     return This->lpVtbl->Diagnostic(This,ulSize,pBuffer); | 
 | } | 
 | #endif | 
 | #endif | 
 |  | 
 | #endif | 
 |  | 
 |  | 
 | #endif  /* __IWiaItem2_INTERFACE_DEFINED__ */ | 
 |  | 
 | /***************************************************************************** | 
 |  * IWiaDevMgr2 interface | 
 |  */ | 
 | #ifndef __IWiaDevMgr2_INTERFACE_DEFINED__ | 
 | #define __IWiaDevMgr2_INTERFACE_DEFINED__ | 
 |  | 
 | DEFINE_GUID(IID_IWiaDevMgr2, 0x79c07cf1, 0xcbdd, 0x41ee, 0x8e,0xc3, 0xf0,0x00,0x80,0xca,0xda,0x7a); | 
 | #if defined(__cplusplus) && !defined(CINTERFACE) | 
 | MIDL_INTERFACE("79c07cf1-cbdd-41ee-8ec3-f00080cada7a") | 
 | IWiaDevMgr2 : public IUnknown | 
 | { | 
 |     virtual HRESULT STDMETHODCALLTYPE EnumDeviceInfo( | 
 |         LONG lFlags, | 
 |         IEnumWIA_DEV_INFO **ppIEnum) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE CreateDevice( | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         IWiaItem2 **ppWiaItem2Root) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlg( | 
 |         HWND hwndParent, | 
 |         LONG lDeviceType, | 
 |         LONG lFlags, | 
 |         BSTR *pbstrDeviceID, | 
 |         IWiaItem2 **ppItemRoot) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlgID( | 
 |         HWND hwndParent, | 
 |         LONG lDeviceType, | 
 |         LONG lFlags, | 
 |         BSTR *pbstrDeviceID) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackInterface( | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         const GUID *pEventGUID, | 
 |         IWiaEventCallback *pIWiaEventCallback, | 
 |         IUnknown **pEventObject) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackProgram( | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         const GUID *pEventGUID, | 
 |         BSTR bstrFullAppName, | 
 |         BSTR bstrCommandLineArg, | 
 |         BSTR bstrName, | 
 |         BSTR bstrDescription, | 
 |         BSTR bstrIcon) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackCLSID( | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         const GUID *pEventGUID, | 
 |         const GUID *pClsID, | 
 |         BSTR bstrName, | 
 |         BSTR bstrDescription, | 
 |         BSTR bstrIcon) = 0; | 
 |  | 
 |     virtual HRESULT STDMETHODCALLTYPE GetImageDlg( | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         HWND hwndParent, | 
 |         BSTR bstrFolderName, | 
 |         BSTR bstrFilename, | 
 |         LONG *plNumFiles, | 
 |         BSTR **ppbstrFilePaths, | 
 |         IWiaItem2 **ppItem) = 0; | 
 |  | 
 | }; | 
 | #ifdef __CRT_UUID_DECL | 
 | __CRT_UUID_DECL(IWiaDevMgr2, 0x79c07cf1, 0xcbdd, 0x41ee, 0x8e,0xc3, 0xf0,0x00,0x80,0xca,0xda,0x7a) | 
 | #endif | 
 | #else | 
 | typedef struct IWiaDevMgr2Vtbl { | 
 |     BEGIN_INTERFACE | 
 |  | 
 |     /*** IUnknown methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
 |         IWiaDevMgr2 *This, | 
 |         REFIID riid, | 
 |         void **ppvObject); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *AddRef)( | 
 |         IWiaDevMgr2 *This); | 
 |  | 
 |     ULONG (STDMETHODCALLTYPE *Release)( | 
 |         IWiaDevMgr2 *This); | 
 |  | 
 |     /*** IWiaDevMgr2 methods ***/ | 
 |     HRESULT (STDMETHODCALLTYPE *EnumDeviceInfo)( | 
 |         IWiaDevMgr2 *This, | 
 |         LONG lFlags, | 
 |         IEnumWIA_DEV_INFO **ppIEnum); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *CreateDevice)( | 
 |         IWiaDevMgr2 *This, | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         IWiaItem2 **ppWiaItem2Root); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *SelectDeviceDlg)( | 
 |         IWiaDevMgr2 *This, | 
 |         HWND hwndParent, | 
 |         LONG lDeviceType, | 
 |         LONG lFlags, | 
 |         BSTR *pbstrDeviceID, | 
 |         IWiaItem2 **ppItemRoot); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *SelectDeviceDlgID)( | 
 |         IWiaDevMgr2 *This, | 
 |         HWND hwndParent, | 
 |         LONG lDeviceType, | 
 |         LONG lFlags, | 
 |         BSTR *pbstrDeviceID); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackInterface)( | 
 |         IWiaDevMgr2 *This, | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         const GUID *pEventGUID, | 
 |         IWiaEventCallback *pIWiaEventCallback, | 
 |         IUnknown **pEventObject); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackProgram)( | 
 |         IWiaDevMgr2 *This, | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         const GUID *pEventGUID, | 
 |         BSTR bstrFullAppName, | 
 |         BSTR bstrCommandLineArg, | 
 |         BSTR bstrName, | 
 |         BSTR bstrDescription, | 
 |         BSTR bstrIcon); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackCLSID)( | 
 |         IWiaDevMgr2 *This, | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         const GUID *pEventGUID, | 
 |         const GUID *pClsID, | 
 |         BSTR bstrName, | 
 |         BSTR bstrDescription, | 
 |         BSTR bstrIcon); | 
 |  | 
 |     HRESULT (STDMETHODCALLTYPE *GetImageDlg)( | 
 |         IWiaDevMgr2 *This, | 
 |         LONG lFlags, | 
 |         BSTR bstrDeviceID, | 
 |         HWND hwndParent, | 
 |         BSTR bstrFolderName, | 
 |         BSTR bstrFilename, | 
 |         LONG *plNumFiles, | 
 |         BSTR **ppbstrFilePaths, | 
 |         IWiaItem2 **ppItem); | 
 |  | 
 |     END_INTERFACE | 
 | } IWiaDevMgr2Vtbl; | 
 |  | 
 | interface IWiaDevMgr2 { | 
 |     CONST_VTBL IWiaDevMgr2Vtbl* lpVtbl; | 
 | }; | 
 |  | 
 | #ifdef COBJMACROS | 
 | #ifndef WIDL_C_INLINE_WRAPPERS | 
 | /*** IUnknown methods ***/ | 
 | #define IWiaDevMgr2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
 | #define IWiaDevMgr2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
 | #define IWiaDevMgr2_Release(This) (This)->lpVtbl->Release(This) | 
 | /*** IWiaDevMgr2 methods ***/ | 
 | #define IWiaDevMgr2_EnumDeviceInfo(This,lFlags,ppIEnum) (This)->lpVtbl->EnumDeviceInfo(This,lFlags,ppIEnum) | 
 | #define IWiaDevMgr2_CreateDevice(This,lFlags,bstrDeviceID,ppWiaItem2Root) (This)->lpVtbl->CreateDevice(This,lFlags,bstrDeviceID,ppWiaItem2Root) | 
 | #define IWiaDevMgr2_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) (This)->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) | 
 | #define IWiaDevMgr2_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) (This)->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) | 
 | #define IWiaDevMgr2_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) (This)->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) | 
 | #define IWiaDevMgr2_RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrFullAppName,bstrCommandLineArg,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrFullAppName,bstrCommandLineArg,bstrName,bstrDescription,bstrIcon) | 
 | #define IWiaDevMgr2_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) | 
 | #define IWiaDevMgr2_GetImageDlg(This,lFlags,bstrDeviceID,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem) (This)->lpVtbl->GetImageDlg(This,lFlags,bstrDeviceID,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem) | 
 | #else | 
 | /*** IUnknown methods ***/ | 
 | static inline HRESULT IWiaDevMgr2_QueryInterface(IWiaDevMgr2* This,REFIID riid,void **ppvObject) { | 
 |     return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
 | } | 
 | static inline ULONG IWiaDevMgr2_AddRef(IWiaDevMgr2* This) { | 
 |     return This->lpVtbl->AddRef(This); | 
 | } | 
 | static inline ULONG IWiaDevMgr2_Release(IWiaDevMgr2* This) { | 
 |     return This->lpVtbl->Release(This); | 
 | } | 
 | /*** IWiaDevMgr2 methods ***/ | 
 | static inline HRESULT IWiaDevMgr2_EnumDeviceInfo(IWiaDevMgr2* This,LONG lFlags,IEnumWIA_DEV_INFO **ppIEnum) { | 
 |     return This->lpVtbl->EnumDeviceInfo(This,lFlags,ppIEnum); | 
 | } | 
 | static inline HRESULT IWiaDevMgr2_CreateDevice(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,IWiaItem2 **ppWiaItem2Root) { | 
 |     return This->lpVtbl->CreateDevice(This,lFlags,bstrDeviceID,ppWiaItem2Root); | 
 | } | 
 | static inline HRESULT IWiaDevMgr2_SelectDeviceDlg(IWiaDevMgr2* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem2 **ppItemRoot) { | 
 |     return This->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot); | 
 | } | 
 | static inline HRESULT IWiaDevMgr2_SelectDeviceDlgID(IWiaDevMgr2* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID) { | 
 |     return This->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID); | 
 | } | 
 | static inline HRESULT IWiaDevMgr2_RegisterEventCallbackInterface(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject) { | 
 |     return This->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject); | 
 | } | 
 | static inline HRESULT IWiaDevMgr2_RegisterEventCallbackProgram(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrFullAppName,BSTR bstrCommandLineArg,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { | 
 |     return This->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrFullAppName,bstrCommandLineArg,bstrName,bstrDescription,bstrIcon); | 
 | } | 
 | static inline HRESULT IWiaDevMgr2_RegisterEventCallbackCLSID(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { | 
 |     return This->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon); | 
 | } | 
 | static inline HRESULT IWiaDevMgr2_GetImageDlg(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,HWND hwndParent,BSTR bstrFolderName,BSTR bstrFilename,LONG *plNumFiles,BSTR **ppbstrFilePaths,IWiaItem2 **ppItem) { | 
 |     return This->lpVtbl->GetImageDlg(This,lFlags,bstrDeviceID,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem); | 
 | } | 
 | #endif | 
 | #endif | 
 |  | 
 | #endif | 
 |  | 
 |  | 
 | #endif  /* __IWiaDevMgr2_INTERFACE_DEFINED__ */ | 
 |  | 
 | /***************************************************************************** | 
 |  * WiaDevMgr2 coclass | 
 |  */ | 
 |  | 
 | DEFINE_GUID(CLSID_WiaDevMgr2, 0xb6c292bc, 0x7c88, 0x41ee, 0x8b,0x54, 0x8e,0xc9,0x26,0x17,0xe5,0x99); | 
 |  | 
 | #ifdef __cplusplus | 
 | class DECLSPEC_UUID("b6c292bc-7c88-41ee-8b54-8ec92617e599") WiaDevMgr2; | 
 | #ifdef __CRT_UUID_DECL | 
 | __CRT_UUID_DECL(WiaDevMgr2, 0xb6c292bc, 0x7c88, 0x41ee, 0x8b,0x54, 0x8e,0xc9,0x26,0x17,0xe5,0x99) | 
 | #endif | 
 | #endif | 
 |  | 
 | /* Begin additional prototypes for all interfaces */ | 
 |  | 
 | ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *); | 
 | unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *); | 
 | unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); | 
 | void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *); | 
 | ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *); | 
 | unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *); | 
 | unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); | 
 | void            __RPC_USER HWND_UserFree     (ULONG *, HWND *); | 
 |  | 
 | /* End additional prototypes */ | 
 |  | 
 | #ifdef __cplusplus | 
 | } | 
 | #endif | 
 |  | 
 | #endif /* __wia_lh_h__ */ |