home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / wia.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  85.2 KB  |  2,542 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  2.  
  3. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  4.  
  5. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  6.  
  7.  
  8.  /* File created by MIDL compiler version 5.03.0268 */
  9. /* at Fri Aug 13 14:26:31 1999
  10.  */
  11. /* Compiler settings for wia.idl, wia.acf:
  12.     Os (OptLev=s), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext
  13.     error checks: allocation ref bounds_check enum stub_data 
  14.     VC __declspec() decoration level: 
  15.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  16.          DECLSPEC_UUID(), MIDL_INTERFACE()
  17. */
  18. //@@MIDL_FILE_HEADING(  )
  19.  
  20.  
  21. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  22. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  23. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  24. #endif
  25.  
  26. #include "rpc.h"
  27. #include "rpcndr.h"
  28.  
  29. #ifndef __RPCNDR_H_VERSION__
  30. #error this stub requires an updated version of <rpcndr.h>
  31. #endif // __RPCNDR_H_VERSION__
  32.  
  33. #ifndef COM_NO_WINDOWS_H
  34. #include "windows.h"
  35. #include "ole2.h"
  36. #endif /*COM_NO_WINDOWS_H*/
  37.  
  38. #ifndef __wia_h__
  39. #define __wia_h__
  40.  
  41. /* Forward Declarations */ 
  42.  
  43. #ifndef __IWiaDevMgr_FWD_DEFINED__
  44. #define __IWiaDevMgr_FWD_DEFINED__
  45. typedef interface IWiaDevMgr IWiaDevMgr;
  46. #endif     /* __IWiaDevMgr_FWD_DEFINED__ */
  47.  
  48.  
  49. #ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__
  50. #define __IEnumWIA_DEV_INFO_FWD_DEFINED__
  51. typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO;
  52. #endif     /* __IEnumWIA_DEV_INFO_FWD_DEFINED__ */
  53.  
  54.  
  55. #ifndef __IWiaEventCallback_FWD_DEFINED__
  56. #define __IWiaEventCallback_FWD_DEFINED__
  57. typedef interface IWiaEventCallback IWiaEventCallback;
  58. #endif     /* __IWiaEventCallback_FWD_DEFINED__ */
  59.  
  60.  
  61. #ifndef __IWiaDataCallback_FWD_DEFINED__
  62. #define __IWiaDataCallback_FWD_DEFINED__
  63. typedef interface IWiaDataCallback IWiaDataCallback;
  64. #endif     /* __IWiaDataCallback_FWD_DEFINED__ */
  65.  
  66.  
  67. #ifndef __IWiaDataTransfer_FWD_DEFINED__
  68. #define __IWiaDataTransfer_FWD_DEFINED__
  69. typedef interface IWiaDataTransfer IWiaDataTransfer;
  70. #endif     /* __IWiaDataTransfer_FWD_DEFINED__ */
  71.  
  72.  
  73. #ifndef __IWiaItem_FWD_DEFINED__
  74. #define __IWiaItem_FWD_DEFINED__
  75. typedef interface IWiaItem IWiaItem;
  76. #endif     /* __IWiaItem_FWD_DEFINED__ */
  77.  
  78.  
  79. #ifndef __IWiaPropertyStorage_FWD_DEFINED__
  80. #define __IWiaPropertyStorage_FWD_DEFINED__
  81. typedef interface IWiaPropertyStorage IWiaPropertyStorage;
  82. #endif     /* __IWiaPropertyStorage_FWD_DEFINED__ */
  83.  
  84.  
  85. #ifndef __IEnumWiaItem_FWD_DEFINED__
  86. #define __IEnumWiaItem_FWD_DEFINED__
  87. typedef interface IEnumWiaItem IEnumWiaItem;
  88. #endif     /* __IEnumWiaItem_FWD_DEFINED__ */
  89.  
  90.  
  91. #ifndef __IEnumWIA_DEV_CAPS_FWD_DEFINED__
  92. #define __IEnumWIA_DEV_CAPS_FWD_DEFINED__
  93. typedef interface IEnumWIA_DEV_CAPS IEnumWIA_DEV_CAPS;
  94. #endif     /* __IEnumWIA_DEV_CAPS_FWD_DEFINED__ */
  95.  
  96.  
  97. #ifndef __IEnumWIA_FORMAT_INFO_FWD_DEFINED__
  98. #define __IEnumWIA_FORMAT_INFO_FWD_DEFINED__
  99. typedef interface IEnumWIA_FORMAT_INFO IEnumWIA_FORMAT_INFO;
  100. #endif     /* __IEnumWIA_FORMAT_INFO_FWD_DEFINED__ */
  101.  
  102.  
  103. #ifndef __WiaDevMgr_FWD_DEFINED__
  104. #define __WiaDevMgr_FWD_DEFINED__
  105.  
  106. #ifdef __cplusplus
  107. typedef class WiaDevMgr WiaDevMgr;
  108. #else
  109. typedef struct WiaDevMgr WiaDevMgr;
  110. #endif /* __cplusplus */
  111.  
  112. #endif     /* __WiaDevMgr_FWD_DEFINED__ */
  113.  
  114.  
  115. /* header files for imported files */
  116. #include "unknwn.h"
  117. #include "oaidl.h"
  118. #include "propidl.h"
  119.  
  120. #ifdef __cplusplus
  121. extern "C"{
  122. #endif 
  123.  
  124. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  125. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  126.  
  127. /* interface __MIDL_itf_wia_0000 */
  128. /* [local] */ 
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140. typedef struct _WIA_DITHER_PATTERN_DATA
  141.     {
  142.     LONG lSize;
  143.     BSTR bstrPatternName;
  144.     LONG lPatternWidth;
  145.     LONG lPatternLength;
  146.     LONG cbPattern;
  147.     /* [size_is] */ BYTE __RPC_FAR *pbPattern;
  148.     }    WIA_DITHER_PATTERN_DATA;
  149.  
  150. typedef struct _WIA_DITHER_PATTERN_DATA __RPC_FAR *PWIA_DITHER_PATTERN_DATA;
  151.  
  152. typedef struct _WIA_PROPID_TO_NAME
  153.     {
  154.     PROPID propid;
  155.     LPOLESTR pszName;
  156.     }    WIA_PROPID_TO_NAME;
  157.  
  158. typedef struct _WIA_PROPID_TO_NAME __RPC_FAR *PWIA_PROPID_TO_NAME;
  159.  
  160. typedef struct _WIA_FORMAT_INFO
  161.     {
  162.     GUID guidFormatID;
  163.     LONG lTymed;
  164.     }    WIA_FORMAT_INFO;
  165.  
  166. typedef struct _WIA_FORMAT_INFO __RPC_FAR *PWIA_FORMAT_INFO;
  167.  
  168. #include "wiadef.h"
  169.  
  170.  
  171. extern RPC_IF_HANDLE __MIDL_itf_wia_0000_v0_0_c_ifspec;
  172. extern RPC_IF_HANDLE __MIDL_itf_wia_0000_v0_0_s_ifspec;
  173.  
  174. #ifndef __IWiaDevMgr_INTERFACE_DEFINED__
  175. #define __IWiaDevMgr_INTERFACE_DEFINED__
  176.  
  177. /* interface IWiaDevMgr */
  178. /* [unique][helpstring][uuid][object] */ 
  179.  
  180.  
  181. EXTERN_C const IID IID_IWiaDevMgr;
  182.  
  183. #if defined(__cplusplus) && !defined(CINTERFACE)
  184.     
  185.     MIDL_INTERFACE("5eb2502a-8cf1-11d1-bf92-0060081ed811")
  186.     IWiaDevMgr : public IUnknown
  187.     {
  188.     public:
  189.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnumDeviceInfo( 
  190.             /* [in] */ LONG lFlag,
  191.             /* [retval][out] */ IEnumWIA_DEV_INFO __RPC_FAR *__RPC_FAR *ppIEnum) = 0;
  192.         
  193.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateDevice( 
  194.             /* [in] */ BSTR bstrDeviceID,
  195.             /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppWiaItemRoot) = 0;
  196.         
  197.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SelectDeviceDlg( 
  198.             /* [in] */ HWND hwndParent,
  199.             /* [in] */ LONG lDeviceType,
  200.             /* [in] */ LONG lFlags,
  201.             /* [out][in] */ BSTR __RPC_FAR *pbstrDeviceID,
  202.             /* [retval][out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppItemRoot) = 0;
  203.         
  204.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SelectDeviceDlgID( 
  205.             /* [in] */ HWND hwndParent,
  206.             /* [in] */ LONG lDeviceType,
  207.             /* [in] */ LONG lFlags,
  208.             /* [retval][out] */ BSTR __RPC_FAR *pbstrDeviceID) = 0;
  209.         
  210.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetImageDlg( 
  211.             /* [in] */ HWND hwndParent,
  212.             /* [in] */ LONG lDeviceType,
  213.             /* [in] */ LONG lFlags,
  214.             /* [in] */ LONG lIntent,
  215.             /* [in] */ IWiaItem __RPC_FAR *pItemRoot,
  216.             /* [in] */ BSTR bstrFilename,
  217.             /* [out][in] */ GUID __RPC_FAR *pguidFormat) = 0;
  218.         
  219.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RegisterEventLaunch( 
  220.             /* [in] */ LONG lFlags,
  221.             /* [in] */ LONG lIntent,
  222.             /* [unique][in] */ IWiaItem __RPC_FAR *pItemRoot,
  223.             /* [in] */ const GUID pEventGUID,
  224.             /* [in] */ BSTR bstrAppName,
  225.             /* [in] */ BSTR bstrCommandLine) = 0;
  226.         
  227.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RegisterEventCallbackInterface( 
  228.             /* [in] */ LONG lFlags,
  229.             /* [in] */ BSTR bstrDeviceID,
  230.             /* [in] */ const GUID __RPC_FAR *pEventGUID,
  231.             /* [unique][in] */ IWiaEventCallback __RPC_FAR *pIWiaEventCallback,
  232.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *pEventObject) = 0;
  233.         
  234.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RegisterEventCallbackCLSID( 
  235.             /* [in] */ LONG lFlags,
  236.             /* [in] */ BSTR bstrDeviceID,
  237.             /* [in] */ const GUID __RPC_FAR *pEventGUID,
  238.             /* [unique][in] */ const GUID __RPC_FAR *pClsID,
  239.             /* [in] */ BSTR bstrName,
  240.             /* [in] */ BSTR bstrDescription,
  241.             /* [in] */ BSTR bstrIcon) = 0;
  242.         
  243.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddDeviceDlg( 
  244.             /* [in] */ HWND hwndParent,
  245.             /* [in] */ LONG lFlags) = 0;
  246.         
  247.     };
  248.     
  249. #else     /* C style interface */
  250.  
  251.     typedef struct IWiaDevMgrVtbl
  252.     {
  253.         BEGIN_INTERFACE
  254.         
  255.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  256.             IWiaDevMgr __RPC_FAR * This,
  257.             /* [in] */ REFIID riid,
  258.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  259.         
  260.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  261.             IWiaDevMgr __RPC_FAR * This);
  262.         
  263.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  264.             IWiaDevMgr __RPC_FAR * This);
  265.         
  266.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumDeviceInfo )( 
  267.             IWiaDevMgr __RPC_FAR * This,
  268.             /* [in] */ LONG lFlag,
  269.             /* [retval][out] */ IEnumWIA_DEV_INFO __RPC_FAR *__RPC_FAR *ppIEnum);
  270.         
  271.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateDevice )( 
  272.             IWiaDevMgr __RPC_FAR * This,
  273.             /* [in] */ BSTR bstrDeviceID,
  274.             /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppWiaItemRoot);
  275.         
  276.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SelectDeviceDlg )( 
  277.             IWiaDevMgr __RPC_FAR * This,
  278.             /* [in] */ HWND hwndParent,
  279.             /* [in] */ LONG lDeviceType,
  280.             /* [in] */ LONG lFlags,
  281.             /* [out][in] */ BSTR __RPC_FAR *pbstrDeviceID,
  282.             /* [retval][out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppItemRoot);
  283.         
  284.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SelectDeviceDlgID )( 
  285.             IWiaDevMgr __RPC_FAR * This,
  286.             /* [in] */ HWND hwndParent,
  287.             /* [in] */ LONG lDeviceType,
  288.             /* [in] */ LONG lFlags,
  289.             /* [retval][out] */ BSTR __RPC_FAR *pbstrDeviceID);
  290.         
  291.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetImageDlg )( 
  292.             IWiaDevMgr __RPC_FAR * This,
  293.             /* [in] */ HWND hwndParent,
  294.             /* [in] */ LONG lDeviceType,
  295.             /* [in] */ LONG lFlags,
  296.             /* [in] */ LONG lIntent,
  297.             /* [in] */ IWiaItem __RPC_FAR *pItemRoot,
  298.             /* [in] */ BSTR bstrFilename,
  299.             /* [out][in] */ GUID __RPC_FAR *pguidFormat);
  300.         
  301.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterEventLaunch )( 
  302.             IWiaDevMgr __RPC_FAR * This,
  303.             /* [in] */ LONG lFlags,
  304.             /* [in] */ LONG lIntent,
  305.             /* [unique][in] */ IWiaItem __RPC_FAR *pItemRoot,
  306.             /* [in] */ const GUID pEventGUID,
  307.             /* [in] */ BSTR bstrAppName,
  308.             /* [in] */ BSTR bstrCommandLine);
  309.         
  310.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterEventCallbackInterface )( 
  311.             IWiaDevMgr __RPC_FAR * This,
  312.             /* [in] */ LONG lFlags,
  313.             /* [in] */ BSTR bstrDeviceID,
  314.             /* [in] */ const GUID __RPC_FAR *pEventGUID,
  315.             /* [unique][in] */ IWiaEventCallback __RPC_FAR *pIWiaEventCallback,
  316.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *pEventObject);
  317.         
  318.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterEventCallbackCLSID )( 
  319.             IWiaDevMgr __RPC_FAR * This,
  320.             /* [in] */ LONG lFlags,
  321.             /* [in] */ BSTR bstrDeviceID,
  322.             /* [in] */ const GUID __RPC_FAR *pEventGUID,
  323.             /* [unique][in] */ const GUID __RPC_FAR *pClsID,
  324.             /* [in] */ BSTR bstrName,
  325.             /* [in] */ BSTR bstrDescription,
  326.             /* [in] */ BSTR bstrIcon);
  327.         
  328.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDeviceDlg )( 
  329.             IWiaDevMgr __RPC_FAR * This,
  330.             /* [in] */ HWND hwndParent,
  331.             /* [in] */ LONG lFlags);
  332.         
  333.         END_INTERFACE
  334.     } IWiaDevMgrVtbl;
  335.  
  336.     interface IWiaDevMgr
  337.     {
  338.         CONST_VTBL struct IWiaDevMgrVtbl __RPC_FAR *lpVtbl;
  339.     };
  340.  
  341.     
  342.  
  343. #ifdef COBJMACROS
  344.  
  345.  
  346. #define IWiaDevMgr_QueryInterface(This,riid,ppvObject)    \
  347.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  348.  
  349. #define IWiaDevMgr_AddRef(This)    \
  350.     (This)->lpVtbl -> AddRef(This)
  351.  
  352. #define IWiaDevMgr_Release(This)    \
  353.     (This)->lpVtbl -> Release(This)
  354.  
  355.  
  356. #define IWiaDevMgr_EnumDeviceInfo(This,lFlag,ppIEnum)    \
  357.     (This)->lpVtbl -> EnumDeviceInfo(This,lFlag,ppIEnum)
  358.  
  359. #define IWiaDevMgr_CreateDevice(This,bstrDeviceID,ppWiaItemRoot)    \
  360.     (This)->lpVtbl -> CreateDevice(This,bstrDeviceID,ppWiaItemRoot)
  361.  
  362. #define IWiaDevMgr_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot)    \
  363.     (This)->lpVtbl -> SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot)
  364.  
  365. #define IWiaDevMgr_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID)    \
  366.     (This)->lpVtbl -> SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID)
  367.  
  368. #define IWiaDevMgr_GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat)    \
  369.     (This)->lpVtbl -> GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat)
  370.  
  371. #define IWiaDevMgr_RegisterEventLaunch(This,lFlags,lIntent,pItemRoot,pEventGUID,bstrAppName,bstrCommandLine)    \
  372.     (This)->lpVtbl -> RegisterEventLaunch(This,lFlags,lIntent,pItemRoot,pEventGUID,bstrAppName,bstrCommandLine)
  373.  
  374. #define IWiaDevMgr_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject)    \
  375.     (This)->lpVtbl -> RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject)
  376.  
  377. #define IWiaDevMgr_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon)    \
  378.     (This)->lpVtbl -> RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon)
  379.  
  380. #define IWiaDevMgr_AddDeviceDlg(This,hwndParent,lFlags)    \
  381.     (This)->lpVtbl -> AddDeviceDlg(This,hwndParent,lFlags)
  382.  
  383. #endif /* COBJMACROS */
  384.  
  385.  
  386. #endif     /* C style interface */
  387.  
  388.  
  389.  
  390. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_EnumDeviceInfo_Proxy( 
  391.     IWiaDevMgr __RPC_FAR * This,
  392.     /* [in] */ LONG lFlag,
  393.     /* [retval][out] */ IEnumWIA_DEV_INFO __RPC_FAR *__RPC_FAR *ppIEnum);
  394.  
  395.  
  396. void __RPC_STUB IWiaDevMgr_EnumDeviceInfo_Stub(
  397.     IRpcStubBuffer *This,
  398.     IRpcChannelBuffer *_pRpcChannelBuffer,
  399.     PRPC_MESSAGE _pRpcMessage,
  400.     DWORD *_pdwStubPhase);
  401.  
  402.  
  403. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_CreateDevice_Proxy( 
  404.     IWiaDevMgr __RPC_FAR * This,
  405.     /* [in] */ BSTR bstrDeviceID,
  406.     /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppWiaItemRoot);
  407.  
  408.  
  409. void __RPC_STUB IWiaDevMgr_CreateDevice_Stub(
  410.     IRpcStubBuffer *This,
  411.     IRpcChannelBuffer *_pRpcChannelBuffer,
  412.     PRPC_MESSAGE _pRpcMessage,
  413.     DWORD *_pdwStubPhase);
  414.  
  415.  
  416. /* [nocode][helpstring][call_as][id] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_LocalSelectDeviceDlg_Proxy( 
  417.     IWiaDevMgr __RPC_FAR * This,
  418.     /* [in] */ HWND hwndParent,
  419.     /* [in] */ LONG lDeviceType,
  420.     /* [in] */ LONG lFlags,
  421.     /* [out][in] */ BSTR __RPC_FAR *pbstrDeviceID,
  422.     /* [retval][out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppItemRoot);
  423.  
  424.  
  425. void __RPC_STUB IWiaDevMgr_LocalSelectDeviceDlg_Stub(
  426.     IRpcStubBuffer *This,
  427.     IRpcChannelBuffer *_pRpcChannelBuffer,
  428.     PRPC_MESSAGE _pRpcMessage,
  429.     DWORD *_pdwStubPhase);
  430.  
  431.  
  432. /* [nocode][helpstring][call_as][id] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_LocalSelectDeviceDlgID_Proxy( 
  433.     IWiaDevMgr __RPC_FAR * This,
  434.     /* [in] */ HWND hwndParent,
  435.     /* [in] */ LONG lDeviceType,
  436.     /* [in] */ LONG lFlags,
  437.     /* [retval][out] */ BSTR __RPC_FAR *pbstrDeviceID);
  438.  
  439.  
  440. void __RPC_STUB IWiaDevMgr_LocalSelectDeviceDlgID_Stub(
  441.     IRpcStubBuffer *This,
  442.     IRpcChannelBuffer *_pRpcChannelBuffer,
  443.     PRPC_MESSAGE _pRpcMessage,
  444.     DWORD *_pdwStubPhase);
  445.  
  446.  
  447. /* [nocode][helpstring][call_as][id] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_LocalGetImageDlg_Proxy( 
  448.     IWiaDevMgr __RPC_FAR * This,
  449.     /* [in] */ HWND hwndParent,
  450.     /* [in] */ LONG lDeviceType,
  451.     /* [in] */ LONG lFlags,
  452.     /* [in] */ LONG lIntent,
  453.     /* [in] */ IWiaItem __RPC_FAR *pItemRoot,
  454.     /* [in] */ BSTR bstrFilename,
  455.     /* [out][in] */ GUID __RPC_FAR *pguidFormat);
  456.  
  457.  
  458. void __RPC_STUB IWiaDevMgr_LocalGetImageDlg_Stub(
  459.     IRpcStubBuffer *This,
  460.     IRpcChannelBuffer *_pRpcChannelBuffer,
  461.     PRPC_MESSAGE _pRpcMessage,
  462.     DWORD *_pdwStubPhase);
  463.  
  464.  
  465. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_RegisterEventLaunch_Proxy( 
  466.     IWiaDevMgr __RPC_FAR * This,
  467.     /* [in] */ LONG lFlags,
  468.     /* [in] */ LONG lIntent,
  469.     /* [unique][in] */ IWiaItem __RPC_FAR *pItemRoot,
  470.     /* [in] */ const GUID pEventGUID,
  471.     /* [in] */ BSTR bstrAppName,
  472.     /* [in] */ BSTR bstrCommandLine);
  473.  
  474.  
  475. void __RPC_STUB IWiaDevMgr_RegisterEventLaunch_Stub(
  476.     IRpcStubBuffer *This,
  477.     IRpcChannelBuffer *_pRpcChannelBuffer,
  478.     PRPC_MESSAGE _pRpcMessage,
  479.     DWORD *_pdwStubPhase);
  480.  
  481.  
  482. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_RegisterEventCallbackInterface_Proxy( 
  483.     IWiaDevMgr __RPC_FAR * This,
  484.     /* [in] */ LONG lFlags,
  485.     /* [in] */ BSTR bstrDeviceID,
  486.     /* [in] */ const GUID __RPC_FAR *pEventGUID,
  487.     /* [unique][in] */ IWiaEventCallback __RPC_FAR *pIWiaEventCallback,
  488.     /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *pEventObject);
  489.  
  490.  
  491. void __RPC_STUB IWiaDevMgr_RegisterEventCallbackInterface_Stub(
  492.     IRpcStubBuffer *This,
  493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  494.     PRPC_MESSAGE _pRpcMessage,
  495.     DWORD *_pdwStubPhase);
  496.  
  497.  
  498. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_RegisterEventCallbackCLSID_Proxy( 
  499.     IWiaDevMgr __RPC_FAR * This,
  500.     /* [in] */ LONG lFlags,
  501.     /* [in] */ BSTR bstrDeviceID,
  502.     /* [in] */ const GUID __RPC_FAR *pEventGUID,
  503.     /* [unique][in] */ const GUID __RPC_FAR *pClsID,
  504.     /* [in] */ BSTR bstrName,
  505.     /* [in] */ BSTR bstrDescription,
  506.     /* [in] */ BSTR bstrIcon);
  507.  
  508.  
  509. void __RPC_STUB IWiaDevMgr_RegisterEventCallbackCLSID_Stub(
  510.     IRpcStubBuffer *This,
  511.     IRpcChannelBuffer *_pRpcChannelBuffer,
  512.     PRPC_MESSAGE _pRpcMessage,
  513.     DWORD *_pdwStubPhase);
  514.  
  515.  
  516. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_AddDeviceDlg_Proxy( 
  517.     IWiaDevMgr __RPC_FAR * This,
  518.     /* [in] */ HWND hwndParent,
  519.     /* [in] */ LONG lFlags);
  520.  
  521.  
  522. void __RPC_STUB IWiaDevMgr_AddDeviceDlg_Stub(
  523.     IRpcStubBuffer *This,
  524.     IRpcChannelBuffer *_pRpcChannelBuffer,
  525.     PRPC_MESSAGE _pRpcMessage,
  526.     DWORD *_pdwStubPhase);
  527.  
  528.  
  529.  
  530. #endif     /* __IWiaDevMgr_INTERFACE_DEFINED__ */
  531.  
  532.  
  533. #ifndef __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__
  534. #define __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__
  535.  
  536. /* interface IEnumWIA_DEV_INFO */
  537. /* [unique][helpstring][uuid][object] */ 
  538.  
  539.  
  540. EXTERN_C const IID IID_IEnumWIA_DEV_INFO;
  541.  
  542. #if defined(__cplusplus) && !defined(CINTERFACE)
  543.     
  544.     MIDL_INTERFACE("5e38b83c-8cf1-11d1-bf92-0060081ed811")
  545.     IEnumWIA_DEV_INFO : public IUnknown
  546.     {
  547.     public:
  548.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Next( 
  549.             /* [in] */ ULONG celt,
  550.             /* [length_is][size_is][out] */ IWiaPropertyStorage __RPC_FAR *__RPC_FAR *rgelt,
  551.             /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  552.         
  553.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Skip( 
  554.             /* [in] */ ULONG celt) = 0;
  555.         
  556.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  557.         
  558.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clone( 
  559.             /* [out] */ IEnumWIA_DEV_INFO __RPC_FAR *__RPC_FAR *ppIEnum) = 0;
  560.         
  561.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCount( 
  562.             /* [out] */ ULONG __RPC_FAR *celt) = 0;
  563.         
  564.     };
  565.     
  566. #else     /* C style interface */
  567.  
  568.     typedef struct IEnumWIA_DEV_INFOVtbl
  569.     {
  570.         BEGIN_INTERFACE
  571.         
  572.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  573.             IEnumWIA_DEV_INFO __RPC_FAR * This,
  574.             /* [in] */ REFIID riid,
  575.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  576.         
  577.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  578.             IEnumWIA_DEV_INFO __RPC_FAR * This);
  579.         
  580.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  581.             IEnumWIA_DEV_INFO __RPC_FAR * This);
  582.         
  583.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  584.             IEnumWIA_DEV_INFO __RPC_FAR * This,
  585.             /* [in] */ ULONG celt,
  586.             /* [length_is][size_is][out] */ IWiaPropertyStorage __RPC_FAR *__RPC_FAR *rgelt,
  587.             /* [out] */ ULONG __RPC_FAR *pceltFetched);
  588.         
  589.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  590.             IEnumWIA_DEV_INFO __RPC_FAR * This,
  591.             /* [in] */ ULONG celt);
  592.         
  593.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  594.             IEnumWIA_DEV_INFO __RPC_FAR * This);
  595.         
  596.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  597.             IEnumWIA_DEV_INFO __RPC_FAR * This,
  598.             /* [out] */ IEnumWIA_DEV_INFO __RPC_FAR *__RPC_FAR *ppIEnum);
  599.         
  600.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
  601.             IEnumWIA_DEV_INFO __RPC_FAR * This,
  602.             /* [out] */ ULONG __RPC_FAR *celt);
  603.         
  604.         END_INTERFACE
  605.     } IEnumWIA_DEV_INFOVtbl;
  606.  
  607.     interface IEnumWIA_DEV_INFO
  608.     {
  609.         CONST_VTBL struct IEnumWIA_DEV_INFOVtbl __RPC_FAR *lpVtbl;
  610.     };
  611.  
  612.     
  613.  
  614. #ifdef COBJMACROS
  615.  
  616.  
  617. #define IEnumWIA_DEV_INFO_QueryInterface(This,riid,ppvObject)    \
  618.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  619.  
  620. #define IEnumWIA_DEV_INFO_AddRef(This)    \
  621.     (This)->lpVtbl -> AddRef(This)
  622.  
  623. #define IEnumWIA_DEV_INFO_Release(This)    \
  624.     (This)->lpVtbl -> Release(This)
  625.  
  626.  
  627. #define IEnumWIA_DEV_INFO_Next(This,celt,rgelt,pceltFetched)    \
  628.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  629.  
  630. #define IEnumWIA_DEV_INFO_Skip(This,celt)    \
  631.     (This)->lpVtbl -> Skip(This,celt)
  632.  
  633. #define IEnumWIA_DEV_INFO_Reset(This)    \
  634.     (This)->lpVtbl -> Reset(This)
  635.  
  636. #define IEnumWIA_DEV_INFO_Clone(This,ppIEnum)    \
  637.     (This)->lpVtbl -> Clone(This,ppIEnum)
  638.  
  639. #define IEnumWIA_DEV_INFO_GetCount(This,celt)    \
  640.     (This)->lpVtbl -> GetCount(This,celt)
  641.  
  642. #endif /* COBJMACROS */
  643.  
  644.  
  645. #endif     /* C style interface */
  646.  
  647.  
  648.  
  649. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_INFO_Next_Proxy( 
  650.     IEnumWIA_DEV_INFO __RPC_FAR * This,
  651.     /* [in] */ ULONG celt,
  652.     /* [length_is][size_is][out] */ IWiaPropertyStorage __RPC_FAR *__RPC_FAR *rgelt,
  653.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  654.  
  655.  
  656. void __RPC_STUB IEnumWIA_DEV_INFO_Next_Stub(
  657.     IRpcStubBuffer *This,
  658.     IRpcChannelBuffer *_pRpcChannelBuffer,
  659.     PRPC_MESSAGE _pRpcMessage,
  660.     DWORD *_pdwStubPhase);
  661.  
  662.  
  663. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_INFO_Skip_Proxy( 
  664.     IEnumWIA_DEV_INFO __RPC_FAR * This,
  665.     /* [in] */ ULONG celt);
  666.  
  667.  
  668. void __RPC_STUB IEnumWIA_DEV_INFO_Skip_Stub(
  669.     IRpcStubBuffer *This,
  670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  671.     PRPC_MESSAGE _pRpcMessage,
  672.     DWORD *_pdwStubPhase);
  673.  
  674.  
  675. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_INFO_Reset_Proxy( 
  676.     IEnumWIA_DEV_INFO __RPC_FAR * This);
  677.  
  678.  
  679. void __RPC_STUB IEnumWIA_DEV_INFO_Reset_Stub(
  680.     IRpcStubBuffer *This,
  681.     IRpcChannelBuffer *_pRpcChannelBuffer,
  682.     PRPC_MESSAGE _pRpcMessage,
  683.     DWORD *_pdwStubPhase);
  684.  
  685.  
  686. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_INFO_Clone_Proxy( 
  687.     IEnumWIA_DEV_INFO __RPC_FAR * This,
  688.     /* [out] */ IEnumWIA_DEV_INFO __RPC_FAR *__RPC_FAR *ppIEnum);
  689.  
  690.  
  691. void __RPC_STUB IEnumWIA_DEV_INFO_Clone_Stub(
  692.     IRpcStubBuffer *This,
  693.     IRpcChannelBuffer *_pRpcChannelBuffer,
  694.     PRPC_MESSAGE _pRpcMessage,
  695.     DWORD *_pdwStubPhase);
  696.  
  697.  
  698. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_INFO_GetCount_Proxy( 
  699.     IEnumWIA_DEV_INFO __RPC_FAR * This,
  700.     /* [out] */ ULONG __RPC_FAR *celt);
  701.  
  702.  
  703. void __RPC_STUB IEnumWIA_DEV_INFO_GetCount_Stub(
  704.     IRpcStubBuffer *This,
  705.     IRpcChannelBuffer *_pRpcChannelBuffer,
  706.     PRPC_MESSAGE _pRpcMessage,
  707.     DWORD *_pdwStubPhase);
  708.  
  709.  
  710.  
  711. #endif     /* __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ */
  712.  
  713.  
  714. #ifndef __IWiaEventCallback_INTERFACE_DEFINED__
  715. #define __IWiaEventCallback_INTERFACE_DEFINED__
  716.  
  717. /* interface IWiaEventCallback */
  718. /* [unique][helpstring][uuid][object] */ 
  719.  
  720.  
  721. EXTERN_C const IID IID_IWiaEventCallback;
  722.  
  723. #if defined(__cplusplus) && !defined(CINTERFACE)
  724.     
  725.     MIDL_INTERFACE("ae6287b0-0084-11d2-973b-00a0c9068f2e")
  726.     IWiaEventCallback : public IUnknown
  727.     {
  728.     public:
  729.         virtual HRESULT STDMETHODCALLTYPE ImageEventCallback( 
  730.             /* [in] */ const GUID __RPC_FAR *pEventGUID,
  731.             /* [in] */ BSTR bstrEventDescription,
  732.             /* [in] */ BSTR bstrDeviceID,
  733.             /* [in] */ BSTR bstrDeviceDescription,
  734.             /* [in] */ DWORD dwDeviceType,
  735.             /* [out][in] */ ULONG __RPC_FAR *pulEventType,
  736.             /* [in] */ ULONG ulReserved) = 0;
  737.         
  738.     };
  739.     
  740. #else     /* C style interface */
  741.  
  742.     typedef struct IWiaEventCallbackVtbl
  743.     {
  744.         BEGIN_INTERFACE
  745.         
  746.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  747.             IWiaEventCallback __RPC_FAR * This,
  748.             /* [in] */ REFIID riid,
  749.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  750.         
  751.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  752.             IWiaEventCallback __RPC_FAR * This);
  753.         
  754.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  755.             IWiaEventCallback __RPC_FAR * This);
  756.         
  757.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ImageEventCallback )( 
  758.             IWiaEventCallback __RPC_FAR * This,
  759.             /* [in] */ const GUID __RPC_FAR *pEventGUID,
  760.             /* [in] */ BSTR bstrEventDescription,
  761.             /* [in] */ BSTR bstrDeviceID,
  762.             /* [in] */ BSTR bstrDeviceDescription,
  763.             /* [in] */ DWORD dwDeviceType,
  764.             /* [out][in] */ ULONG __RPC_FAR *pulEventType,
  765.             /* [in] */ ULONG ulReserved);
  766.         
  767.         END_INTERFACE
  768.     } IWiaEventCallbackVtbl;
  769.  
  770.     interface IWiaEventCallback
  771.     {
  772.         CONST_VTBL struct IWiaEventCallbackVtbl __RPC_FAR *lpVtbl;
  773.     };
  774.  
  775.     
  776.  
  777. #ifdef COBJMACROS
  778.  
  779.  
  780. #define IWiaEventCallback_QueryInterface(This,riid,ppvObject)    \
  781.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  782.  
  783. #define IWiaEventCallback_AddRef(This)    \
  784.     (This)->lpVtbl -> AddRef(This)
  785.  
  786. #define IWiaEventCallback_Release(This)    \
  787.     (This)->lpVtbl -> Release(This)
  788.  
  789.  
  790. #define IWiaEventCallback_ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,pulEventType,ulReserved)    \
  791.     (This)->lpVtbl -> ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,pulEventType,ulReserved)
  792.  
  793. #endif /* COBJMACROS */
  794.  
  795.  
  796. #endif     /* C style interface */
  797.  
  798.  
  799.  
  800. HRESULT STDMETHODCALLTYPE IWiaEventCallback_ImageEventCallback_Proxy( 
  801.     IWiaEventCallback __RPC_FAR * This,
  802.     /* [in] */ const GUID __RPC_FAR *pEventGUID,
  803.     /* [in] */ BSTR bstrEventDescription,
  804.     /* [in] */ BSTR bstrDeviceID,
  805.     /* [in] */ BSTR bstrDeviceDescription,
  806.     /* [in] */ DWORD dwDeviceType,
  807.     /* [out][in] */ ULONG __RPC_FAR *pulEventType,
  808.     /* [in] */ ULONG ulReserved);
  809.  
  810.  
  811. void __RPC_STUB IWiaEventCallback_ImageEventCallback_Stub(
  812.     IRpcStubBuffer *This,
  813.     IRpcChannelBuffer *_pRpcChannelBuffer,
  814.     PRPC_MESSAGE _pRpcMessage,
  815.     DWORD *_pdwStubPhase);
  816.  
  817.  
  818.  
  819. #endif     /* __IWiaEventCallback_INTERFACE_DEFINED__ */
  820.  
  821.  
  822. /* interface __MIDL_itf_wia_0115 */
  823. /* [local] */ 
  824.  
  825. typedef struct _WIA_DATA_CALLBACK_HEADER
  826.     {
  827.     LONG lSize;
  828.     GUID guidFormatID;
  829.     LONG lBufferSize;
  830.     LONG lPageCount;
  831.     }    WIA_DATA_CALLBACK_HEADER;
  832.  
  833. typedef struct _WIA_DATA_CALLBACK_HEADER __RPC_FAR *PWIA_DATA_CALLBACK_HEADER;
  834.  
  835.  
  836.  
  837. extern RPC_IF_HANDLE __MIDL_itf_wia_0115_v0_0_c_ifspec;
  838. extern RPC_IF_HANDLE __MIDL_itf_wia_0115_v0_0_s_ifspec;
  839.  
  840. #ifndef __IWiaDataCallback_INTERFACE_DEFINED__
  841. #define __IWiaDataCallback_INTERFACE_DEFINED__
  842.  
  843. /* interface IWiaDataCallback */
  844. /* [unique][helpstring][uuid][object] */ 
  845.  
  846.  
  847. EXTERN_C const IID IID_IWiaDataCallback;
  848.  
  849. #if defined(__cplusplus) && !defined(CINTERFACE)
  850.     
  851.     MIDL_INTERFACE("a558a866-a5b0-11d2-a08f-00c04f72dc3c")
  852.     IWiaDataCallback : public IUnknown
  853.     {
  854.     public:
  855.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE BandedDataCallback( 
  856.             /* [in] */ LONG lMessage,
  857.             /* [in] */ LONG lStatus,
  858.             /* [in] */ LONG lPercentComplete,
  859.             /* [in] */ LONG lOffset,
  860.             /* [in] */ LONG lLength,
  861.             /* [in] */ LONG lReserved,
  862.             /* [in] */ LONG lResLength,
  863.             /* [size_is][in] */ BYTE __RPC_FAR *pbBuffer) = 0;
  864.         
  865.     };
  866.     
  867. #else     /* C style interface */
  868.  
  869.     typedef struct IWiaDataCallbackVtbl
  870.     {
  871.         BEGIN_INTERFACE
  872.         
  873.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  874.             IWiaDataCallback __RPC_FAR * This,
  875.             /* [in] */ REFIID riid,
  876.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  877.         
  878.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  879.             IWiaDataCallback __RPC_FAR * This);
  880.         
  881.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  882.             IWiaDataCallback __RPC_FAR * This);
  883.         
  884.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BandedDataCallback )( 
  885.             IWiaDataCallback __RPC_FAR * This,
  886.             /* [in] */ LONG lMessage,
  887.             /* [in] */ LONG lStatus,
  888.             /* [in] */ LONG lPercentComplete,
  889.             /* [in] */ LONG lOffset,
  890.             /* [in] */ LONG lLength,
  891.             /* [in] */ LONG lReserved,
  892.             /* [in] */ LONG lResLength,
  893.             /* [size_is][in] */ BYTE __RPC_FAR *pbBuffer);
  894.         
  895.         END_INTERFACE
  896.     } IWiaDataCallbackVtbl;
  897.  
  898.     interface IWiaDataCallback
  899.     {
  900.         CONST_VTBL struct IWiaDataCallbackVtbl __RPC_FAR *lpVtbl;
  901.     };
  902.  
  903.     
  904.  
  905. #ifdef COBJMACROS
  906.  
  907.  
  908. #define IWiaDataCallback_QueryInterface(This,riid,ppvObject)    \
  909.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  910.  
  911. #define IWiaDataCallback_AddRef(This)    \
  912.     (This)->lpVtbl -> AddRef(This)
  913.  
  914. #define IWiaDataCallback_Release(This)    \
  915.     (This)->lpVtbl -> Release(This)
  916.  
  917.  
  918. #define IWiaDataCallback_BandedDataCallback(This,lMessage,lStatus,lPercentComplete,lOffset,lLength,lReserved,lResLength,pbBuffer)    \
  919.     (This)->lpVtbl -> BandedDataCallback(This,lMessage,lStatus,lPercentComplete,lOffset,lLength,lReserved,lResLength,pbBuffer)
  920.  
  921. #endif /* COBJMACROS */
  922.  
  923.  
  924. #endif     /* C style interface */
  925.  
  926.  
  927.  
  928. /* [helpstring][call_as][id] */ HRESULT STDMETHODCALLTYPE IWiaDataCallback_RemoteBandedDataCallback_Proxy( 
  929.     IWiaDataCallback __RPC_FAR * This,
  930.     /* [in] */ LONG lMessage,
  931.     /* [in] */ LONG lStatus,
  932.     /* [in] */ LONG lPercentComplete,
  933.     /* [in] */ LONG lOffset,
  934.     /* [in] */ LONG lLength,
  935.     /* [in] */ LONG lReserved,
  936.     /* [in] */ LONG lResLength,
  937.     /* [unique][size_is][in] */ BYTE __RPC_FAR *pbBuffer);
  938.  
  939.  
  940. void __RPC_STUB IWiaDataCallback_RemoteBandedDataCallback_Stub(
  941.     IRpcStubBuffer *This,
  942.     IRpcChannelBuffer *_pRpcChannelBuffer,
  943.     PRPC_MESSAGE _pRpcMessage,
  944.     DWORD *_pdwStubPhase);
  945.  
  946.  
  947.  
  948. #endif     /* __IWiaDataCallback_INTERFACE_DEFINED__ */
  949.  
  950.  
  951. /* interface __MIDL_itf_wia_0116 */
  952. /* [local] */ 
  953.  
  954. typedef struct _WIA_DATA_TRANSFER_INFO
  955.     {
  956.     ULONG ulSize;
  957.     ULONG ulSection;
  958.     ULONG ulBufferSize;
  959.     BOOL bDoubleBuffer;
  960.     ULONG ulReserved1;
  961.     ULONG ulReserved2;
  962.     ULONG ulReserved3;
  963.     }    WIA_DATA_TRANSFER_INFO;
  964.  
  965. typedef struct _WIA_DATA_TRANSFER_INFO __RPC_FAR *PWIA_DATA_TRANSFER_INFO;
  966.  
  967.  
  968.  
  969. extern RPC_IF_HANDLE __MIDL_itf_wia_0116_v0_0_c_ifspec;
  970. extern RPC_IF_HANDLE __MIDL_itf_wia_0116_v0_0_s_ifspec;
  971.  
  972. #ifndef __IWiaDataTransfer_INTERFACE_DEFINED__
  973. #define __IWiaDataTransfer_INTERFACE_DEFINED__
  974.  
  975. /* interface IWiaDataTransfer */
  976. /* [unique][helpstring][uuid][object] */ 
  977.  
  978.  
  979. EXTERN_C const IID IID_IWiaDataTransfer;
  980.  
  981. #if defined(__cplusplus) && !defined(CINTERFACE)
  982.     
  983.     MIDL_INTERFACE("a6cef998-a5b0-11d2-a08f-00c04f72dc3c")
  984.     IWiaDataTransfer : public IUnknown
  985.     {
  986.     public:
  987.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE idtGetData( 
  988.             /* [out] */ LPSTGMEDIUM pMedium,
  989.             /* [unique][in] */ IWiaDataCallback __RPC_FAR *pIWiaDataCallback) = 0;
  990.         
  991.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE idtGetBandedData( 
  992.             /* [unique][in] */ PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,
  993.             /* [unique][in] */ IWiaDataCallback __RPC_FAR *pIWiaDataCallback) = 0;
  994.         
  995.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE idtQueryGetData( 
  996.             /* [unique][in] */ WIA_FORMAT_INFO __RPC_FAR *pfe) = 0;
  997.         
  998.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE idtEnumWIA_FORMAT_INFO( 
  999.             /* [out] */ IEnumWIA_FORMAT_INFO __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  1000.         
  1001.     };
  1002.     
  1003. #else     /* C style interface */
  1004.  
  1005.     typedef struct IWiaDataTransferVtbl
  1006.     {
  1007.         BEGIN_INTERFACE
  1008.         
  1009.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1010.             IWiaDataTransfer __RPC_FAR * This,
  1011.             /* [in] */ REFIID riid,
  1012.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1013.         
  1014.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1015.             IWiaDataTransfer __RPC_FAR * This);
  1016.         
  1017.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1018.             IWiaDataTransfer __RPC_FAR * This);
  1019.         
  1020.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *idtGetData )( 
  1021.             IWiaDataTransfer __RPC_FAR * This,
  1022.             /* [out] */ LPSTGMEDIUM pMedium,
  1023.             /* [unique][in] */ IWiaDataCallback __RPC_FAR *pIWiaDataCallback);
  1024.         
  1025.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *idtGetBandedData )( 
  1026.             IWiaDataTransfer __RPC_FAR * This,
  1027.             /* [unique][in] */ PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,
  1028.             /* [unique][in] */ IWiaDataCallback __RPC_FAR *pIWiaDataCallback);
  1029.         
  1030.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *idtQueryGetData )( 
  1031.             IWiaDataTransfer __RPC_FAR * This,
  1032.             /* [unique][in] */ WIA_FORMAT_INFO __RPC_FAR *pfe);
  1033.         
  1034.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *idtEnumWIA_FORMAT_INFO )( 
  1035.             IWiaDataTransfer __RPC_FAR * This,
  1036.             /* [out] */ IEnumWIA_FORMAT_INFO __RPC_FAR *__RPC_FAR *ppEnum);
  1037.         
  1038.         END_INTERFACE
  1039.     } IWiaDataTransferVtbl;
  1040.  
  1041.     interface IWiaDataTransfer
  1042.     {
  1043.         CONST_VTBL struct IWiaDataTransferVtbl __RPC_FAR *lpVtbl;
  1044.     };
  1045.  
  1046.     
  1047.  
  1048. #ifdef COBJMACROS
  1049.  
  1050.  
  1051. #define IWiaDataTransfer_QueryInterface(This,riid,ppvObject)    \
  1052.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1053.  
  1054. #define IWiaDataTransfer_AddRef(This)    \
  1055.     (This)->lpVtbl -> AddRef(This)
  1056.  
  1057. #define IWiaDataTransfer_Release(This)    \
  1058.     (This)->lpVtbl -> Release(This)
  1059.  
  1060.  
  1061. #define IWiaDataTransfer_idtGetData(This,pMedium,pIWiaDataCallback)    \
  1062.     (This)->lpVtbl -> idtGetData(This,pMedium,pIWiaDataCallback)
  1063.  
  1064. #define IWiaDataTransfer_idtGetBandedData(This,pWiaDataTransInfo,pIWiaDataCallback)    \
  1065.     (This)->lpVtbl -> idtGetBandedData(This,pWiaDataTransInfo,pIWiaDataCallback)
  1066.  
  1067. #define IWiaDataTransfer_idtQueryGetData(This,pfe)    \
  1068.     (This)->lpVtbl -> idtQueryGetData(This,pfe)
  1069.  
  1070. #define IWiaDataTransfer_idtEnumWIA_FORMAT_INFO(This,ppEnum)    \
  1071.     (This)->lpVtbl -> idtEnumWIA_FORMAT_INFO(This,ppEnum)
  1072.  
  1073. #endif /* COBJMACROS */
  1074.  
  1075.  
  1076. #endif     /* C style interface */
  1077.  
  1078.  
  1079.  
  1080. /* [helpstring][call_as][id] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtGetDataEx_Proxy( 
  1081.     IWiaDataTransfer __RPC_FAR * This,
  1082.     /* [out] */ LPSTGMEDIUM pMedium,
  1083.     /* [unique][in] */ IWiaDataCallback __RPC_FAR *pIWiaDataCallback);
  1084.  
  1085.  
  1086. void __RPC_STUB IWiaDataTransfer_idtGetDataEx_Stub(
  1087.     IRpcStubBuffer *This,
  1088.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1089.     PRPC_MESSAGE _pRpcMessage,
  1090.     DWORD *_pdwStubPhase);
  1091.  
  1092.  
  1093. /* [helpstring][call_as][id] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtGetBandedDataEx_Proxy( 
  1094.     IWiaDataTransfer __RPC_FAR * This,
  1095.     /* [unique][in] */ PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,
  1096.     /* [unique][in] */ IWiaDataCallback __RPC_FAR *pIWiaDataCallback);
  1097.  
  1098.  
  1099. void __RPC_STUB IWiaDataTransfer_idtGetBandedDataEx_Stub(
  1100.     IRpcStubBuffer *This,
  1101.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1102.     PRPC_MESSAGE _pRpcMessage,
  1103.     DWORD *_pdwStubPhase);
  1104.  
  1105.  
  1106. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtQueryGetData_Proxy( 
  1107.     IWiaDataTransfer __RPC_FAR * This,
  1108.     /* [unique][in] */ WIA_FORMAT_INFO __RPC_FAR *pfe);
  1109.  
  1110.  
  1111. void __RPC_STUB IWiaDataTransfer_idtQueryGetData_Stub(
  1112.     IRpcStubBuffer *This,
  1113.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1114.     PRPC_MESSAGE _pRpcMessage,
  1115.     DWORD *_pdwStubPhase);
  1116.  
  1117.  
  1118. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtEnumWIA_FORMAT_INFO_Proxy( 
  1119.     IWiaDataTransfer __RPC_FAR * This,
  1120.     /* [out] */ IEnumWIA_FORMAT_INFO __RPC_FAR *__RPC_FAR *ppEnum);
  1121.  
  1122.  
  1123. void __RPC_STUB IWiaDataTransfer_idtEnumWIA_FORMAT_INFO_Stub(
  1124.     IRpcStubBuffer *This,
  1125.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1126.     PRPC_MESSAGE _pRpcMessage,
  1127.     DWORD *_pdwStubPhase);
  1128.  
  1129.  
  1130.  
  1131. #endif     /* __IWiaDataTransfer_INTERFACE_DEFINED__ */
  1132.  
  1133.  
  1134. #ifndef __IWiaItem_INTERFACE_DEFINED__
  1135. #define __IWiaItem_INTERFACE_DEFINED__
  1136.  
  1137. /* interface IWiaItem */
  1138. /* [unique][helpstring][uuid][object] */ 
  1139.  
  1140.  
  1141. EXTERN_C const IID IID_IWiaItem;
  1142.  
  1143. #if defined(__cplusplus) && !defined(CINTERFACE)
  1144.     
  1145.     MIDL_INTERFACE("4db1ad10-3391-11d2-9a33-00c04fa36145")
  1146.     IWiaItem : public IUnknown
  1147.     {
  1148.     public:
  1149.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetItemType( 
  1150.             /* [out] */ LONG __RPC_FAR *pItemType) = 0;
  1151.         
  1152.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AnalyzeItem( 
  1153.             /* [in] */ LONG lFlags) = 0;
  1154.         
  1155.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnumChildItems( 
  1156.             /* [out] */ IEnumWiaItem __RPC_FAR *__RPC_FAR *ppIEnumWiaItem) = 0;
  1157.         
  1158.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeleteItem( 
  1159.             /* [in] */ LONG lFlags) = 0;
  1160.         
  1161.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateChildItem( 
  1162.             /* [in] */ LONG lFlags,
  1163.             /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppIWiaItem) = 0;
  1164.         
  1165.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnumRegisterEventInfo( 
  1166.             /* [in] */ LONG lFlags,
  1167.             /* [in] */ const GUID __RPC_FAR *pEventGUID,
  1168.             /* [out] */ IEnumWIA_DEV_CAPS __RPC_FAR *__RPC_FAR *ppIEnum) = 0;
  1169.         
  1170.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FindItemByName( 
  1171.             /* [in] */ LONG lFlags,
  1172.             /* [in] */ BSTR bstrFullItemName,
  1173.             /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppIWiaItem) = 0;
  1174.         
  1175.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DeviceDlg( 
  1176.             /* [in] */ HWND hwndParent,
  1177.             /* [in] */ LONG lFlags,
  1178.             /* [in] */ LONG lIntent,
  1179.             /* [out] */ LONG __RPC_FAR *plItemCount,
  1180.             /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *__RPC_FAR *ppIWiaItem) = 0;
  1181.         
  1182.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeviceCommand( 
  1183.             /* [in] */ LONG lFlags,
  1184.             /* [in] */ const GUID __RPC_FAR *pCmdGUID,
  1185.             /* [out][in] */ IWiaItem __RPC_FAR *__RPC_FAR *pIWiaItem) = 0;
  1186.         
  1187.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetRootItem( 
  1188.             /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppIWiaItem) = 0;
  1189.         
  1190.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnumDeviceCapabilities( 
  1191.             /* [in] */ LONG lFlags,
  1192.             /* [out] */ IEnumWIA_DEV_CAPS __RPC_FAR *__RPC_FAR *ppIEnumWIA_DEV_CAPS) = 0;
  1193.         
  1194.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DumpItemData( 
  1195.             /* [out] */ BSTR __RPC_FAR *bstrData) = 0;
  1196.         
  1197.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DumpDrvItemData( 
  1198.             /* [out] */ BSTR __RPC_FAR *bstrData) = 0;
  1199.         
  1200.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DumpTreeItemData( 
  1201.             /* [out] */ BSTR __RPC_FAR *bstrData) = 0;
  1202.         
  1203.     };
  1204.     
  1205. #else     /* C style interface */
  1206.  
  1207.     typedef struct IWiaItemVtbl
  1208.     {
  1209.         BEGIN_INTERFACE
  1210.         
  1211.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1212.             IWiaItem __RPC_FAR * This,
  1213.             /* [in] */ REFIID riid,
  1214.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1215.         
  1216.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1217.             IWiaItem __RPC_FAR * This);
  1218.         
  1219.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1220.             IWiaItem __RPC_FAR * This);
  1221.         
  1222.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetItemType )( 
  1223.             IWiaItem __RPC_FAR * This,
  1224.             /* [out] */ LONG __RPC_FAR *pItemType);
  1225.         
  1226.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AnalyzeItem )( 
  1227.             IWiaItem __RPC_FAR * This,
  1228.             /* [in] */ LONG lFlags);
  1229.         
  1230.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumChildItems )( 
  1231.             IWiaItem __RPC_FAR * This,
  1232.             /* [out] */ IEnumWiaItem __RPC_FAR *__RPC_FAR *ppIEnumWiaItem);
  1233.         
  1234.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteItem )( 
  1235.             IWiaItem __RPC_FAR * This,
  1236.             /* [in] */ LONG lFlags);
  1237.         
  1238.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateChildItem )( 
  1239.             IWiaItem __RPC_FAR * This,
  1240.             /* [in] */ LONG lFlags,
  1241.             /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppIWiaItem);
  1242.         
  1243.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumRegisterEventInfo )( 
  1244.             IWiaItem __RPC_FAR * This,
  1245.             /* [in] */ LONG lFlags,
  1246.             /* [in] */ const GUID __RPC_FAR *pEventGUID,
  1247.             /* [out] */ IEnumWIA_DEV_CAPS __RPC_FAR *__RPC_FAR *ppIEnum);
  1248.         
  1249.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindItemByName )( 
  1250.             IWiaItem __RPC_FAR * This,
  1251.             /* [in] */ LONG lFlags,
  1252.             /* [in] */ BSTR bstrFullItemName,
  1253.             /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppIWiaItem);
  1254.         
  1255.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeviceDlg )( 
  1256.             IWiaItem __RPC_FAR * This,
  1257.             /* [in] */ HWND hwndParent,
  1258.             /* [in] */ LONG lFlags,
  1259.             /* [in] */ LONG lIntent,
  1260.             /* [out] */ LONG __RPC_FAR *plItemCount,
  1261.             /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *__RPC_FAR *ppIWiaItem);
  1262.         
  1263.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeviceCommand )( 
  1264.             IWiaItem __RPC_FAR * This,
  1265.             /* [in] */ LONG lFlags,
  1266.             /* [in] */ const GUID __RPC_FAR *pCmdGUID,
  1267.             /* [out][in] */ IWiaItem __RPC_FAR *__RPC_FAR *pIWiaItem);
  1268.         
  1269.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRootItem )( 
  1270.             IWiaItem __RPC_FAR * This,
  1271.             /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppIWiaItem);
  1272.         
  1273.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumDeviceCapabilities )( 
  1274.             IWiaItem __RPC_FAR * This,
  1275.             /* [in] */ LONG lFlags,
  1276.             /* [out] */ IEnumWIA_DEV_CAPS __RPC_FAR *__RPC_FAR *ppIEnumWIA_DEV_CAPS);
  1277.         
  1278.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DumpItemData )( 
  1279.             IWiaItem __RPC_FAR * This,
  1280.             /* [out] */ BSTR __RPC_FAR *bstrData);
  1281.         
  1282.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DumpDrvItemData )( 
  1283.             IWiaItem __RPC_FAR * This,
  1284.             /* [out] */ BSTR __RPC_FAR *bstrData);
  1285.         
  1286.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DumpTreeItemData )( 
  1287.             IWiaItem __RPC_FAR * This,
  1288.             /* [out] */ BSTR __RPC_FAR *bstrData);
  1289.         
  1290.         END_INTERFACE
  1291.     } IWiaItemVtbl;
  1292.  
  1293.     interface IWiaItem
  1294.     {
  1295.         CONST_VTBL struct IWiaItemVtbl __RPC_FAR *lpVtbl;
  1296.     };
  1297.  
  1298.     
  1299.  
  1300. #ifdef COBJMACROS
  1301.  
  1302.  
  1303. #define IWiaItem_QueryInterface(This,riid,ppvObject)    \
  1304.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1305.  
  1306. #define IWiaItem_AddRef(This)    \
  1307.     (This)->lpVtbl -> AddRef(This)
  1308.  
  1309. #define IWiaItem_Release(This)    \
  1310.     (This)->lpVtbl -> Release(This)
  1311.  
  1312.  
  1313. #define IWiaItem_GetItemType(This,pItemType)    \
  1314.     (This)->lpVtbl -> GetItemType(This,pItemType)
  1315.  
  1316. #define IWiaItem_AnalyzeItem(This,lFlags)    \
  1317.     (This)->lpVtbl -> AnalyzeItem(This,lFlags)
  1318.  
  1319. #define IWiaItem_EnumChildItems(This,ppIEnumWiaItem)    \
  1320.     (This)->lpVtbl -> EnumChildItems(This,ppIEnumWiaItem)
  1321.  
  1322. #define IWiaItem_DeleteItem(This,lFlags)    \
  1323.     (This)->lpVtbl -> DeleteItem(This,lFlags)
  1324.  
  1325. #define IWiaItem_CreateChildItem(This,lFlags,ppIWiaItem)    \
  1326.     (This)->lpVtbl -> CreateChildItem(This,lFlags,ppIWiaItem)
  1327.  
  1328. #define IWiaItem_EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum)    \
  1329.     (This)->lpVtbl -> EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum)
  1330.  
  1331. #define IWiaItem_FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem)    \
  1332.     (This)->lpVtbl -> FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem)
  1333.  
  1334. #define IWiaItem_DeviceDlg(This,hwndParent,lFlags,lIntent,plItemCount,ppIWiaItem)    \
  1335.     (This)->lpVtbl -> DeviceDlg(This,hwndParent,lFlags,lIntent,plItemCount,ppIWiaItem)
  1336.  
  1337. #define IWiaItem_DeviceCommand(This,lFlags,pCmdGUID,pIWiaItem)    \
  1338.     (This)->lpVtbl -> DeviceCommand(This,lFlags,pCmdGUID,pIWiaItem)
  1339.  
  1340. #define IWiaItem_GetRootItem(This,ppIWiaItem)    \
  1341.     (This)->lpVtbl -> GetRootItem(This,ppIWiaItem)
  1342.  
  1343. #define IWiaItem_EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS)    \
  1344.     (This)->lpVtbl -> EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS)
  1345.  
  1346. #define IWiaItem_DumpItemData(This,bstrData)    \
  1347.     (This)->lpVtbl -> DumpItemData(This,bstrData)
  1348.  
  1349. #define IWiaItem_DumpDrvItemData(This,bstrData)    \
  1350.     (This)->lpVtbl -> DumpDrvItemData(This,bstrData)
  1351.  
  1352. #define IWiaItem_DumpTreeItemData(This,bstrData)    \
  1353.     (This)->lpVtbl -> DumpTreeItemData(This,bstrData)
  1354.  
  1355. #endif /* COBJMACROS */
  1356.  
  1357.  
  1358. #endif     /* C style interface */
  1359.  
  1360.  
  1361.  
  1362. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_GetItemType_Proxy( 
  1363.     IWiaItem __RPC_FAR * This,
  1364.     /* [out] */ LONG __RPC_FAR *pItemType);
  1365.  
  1366.  
  1367. void __RPC_STUB IWiaItem_GetItemType_Stub(
  1368.     IRpcStubBuffer *This,
  1369.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1370.     PRPC_MESSAGE _pRpcMessage,
  1371.     DWORD *_pdwStubPhase);
  1372.  
  1373.  
  1374. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_AnalyzeItem_Proxy( 
  1375.     IWiaItem __RPC_FAR * This,
  1376.     /* [in] */ LONG lFlags);
  1377.  
  1378.  
  1379. void __RPC_STUB IWiaItem_AnalyzeItem_Stub(
  1380.     IRpcStubBuffer *This,
  1381.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1382.     PRPC_MESSAGE _pRpcMessage,
  1383.     DWORD *_pdwStubPhase);
  1384.  
  1385.  
  1386. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_EnumChildItems_Proxy( 
  1387.     IWiaItem __RPC_FAR * This,
  1388.     /* [out] */ IEnumWiaItem __RPC_FAR *__RPC_FAR *ppIEnumWiaItem);
  1389.  
  1390.  
  1391. void __RPC_STUB IWiaItem_EnumChildItems_Stub(
  1392.     IRpcStubBuffer *This,
  1393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1394.     PRPC_MESSAGE _pRpcMessage,
  1395.     DWORD *_pdwStubPhase);
  1396.  
  1397.  
  1398. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_DeleteItem_Proxy( 
  1399.     IWiaItem __RPC_FAR * This,
  1400.     /* [in] */ LONG lFlags);
  1401.  
  1402.  
  1403. void __RPC_STUB IWiaItem_DeleteItem_Stub(
  1404.     IRpcStubBuffer *This,
  1405.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1406.     PRPC_MESSAGE _pRpcMessage,
  1407.     DWORD *_pdwStubPhase);
  1408.  
  1409.  
  1410. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_CreateChildItem_Proxy( 
  1411.     IWiaItem __RPC_FAR * This,
  1412.     /* [in] */ LONG lFlags,
  1413.     /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppIWiaItem);
  1414.  
  1415.  
  1416. void __RPC_STUB IWiaItem_CreateChildItem_Stub(
  1417.     IRpcStubBuffer *This,
  1418.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1419.     PRPC_MESSAGE _pRpcMessage,
  1420.     DWORD *_pdwStubPhase);
  1421.  
  1422.  
  1423. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_EnumRegisterEventInfo_Proxy( 
  1424.     IWiaItem __RPC_FAR * This,
  1425.     /* [in] */ LONG lFlags,
  1426.     /* [in] */ const GUID __RPC_FAR *pEventGUID,
  1427.     /* [out] */ IEnumWIA_DEV_CAPS __RPC_FAR *__RPC_FAR *ppIEnum);
  1428.  
  1429.  
  1430. void __RPC_STUB IWiaItem_EnumRegisterEventInfo_Stub(
  1431.     IRpcStubBuffer *This,
  1432.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1433.     PRPC_MESSAGE _pRpcMessage,
  1434.     DWORD *_pdwStubPhase);
  1435.  
  1436.  
  1437. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_FindItemByName_Proxy( 
  1438.     IWiaItem __RPC_FAR * This,
  1439.     /* [in] */ LONG lFlags,
  1440.     /* [in] */ BSTR bstrFullItemName,
  1441.     /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppIWiaItem);
  1442.  
  1443.  
  1444. void __RPC_STUB IWiaItem_FindItemByName_Stub(
  1445.     IRpcStubBuffer *This,
  1446.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1447.     PRPC_MESSAGE _pRpcMessage,
  1448.     DWORD *_pdwStubPhase);
  1449.  
  1450.  
  1451. /* [nocode][helpstring][call_as][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_LocalDeviceDlg_Proxy( 
  1452.     IWiaItem __RPC_FAR * This,
  1453.     /* [in] */ HWND hwndParent,
  1454.     /* [in] */ LONG lFlags,
  1455.     /* [in] */ LONG lIntent,
  1456.     /* [out] */ LONG __RPC_FAR *plItemCount,
  1457.     /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *__RPC_FAR *pIWiaItem);
  1458.  
  1459.  
  1460. void __RPC_STUB IWiaItem_LocalDeviceDlg_Stub(
  1461.     IRpcStubBuffer *This,
  1462.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1463.     PRPC_MESSAGE _pRpcMessage,
  1464.     DWORD *_pdwStubPhase);
  1465.  
  1466.  
  1467. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_DeviceCommand_Proxy( 
  1468.     IWiaItem __RPC_FAR * This,
  1469.     /* [in] */ LONG lFlags,
  1470.     /* [in] */ const GUID __RPC_FAR *pCmdGUID,
  1471.     /* [out][in] */ IWiaItem __RPC_FAR *__RPC_FAR *pIWiaItem);
  1472.  
  1473.  
  1474. void __RPC_STUB IWiaItem_DeviceCommand_Stub(
  1475.     IRpcStubBuffer *This,
  1476.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1477.     PRPC_MESSAGE _pRpcMessage,
  1478.     DWORD *_pdwStubPhase);
  1479.  
  1480.  
  1481. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_GetRootItem_Proxy( 
  1482.     IWiaItem __RPC_FAR * This,
  1483.     /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppIWiaItem);
  1484.  
  1485.  
  1486. void __RPC_STUB IWiaItem_GetRootItem_Stub(
  1487.     IRpcStubBuffer *This,
  1488.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1489.     PRPC_MESSAGE _pRpcMessage,
  1490.     DWORD *_pdwStubPhase);
  1491.  
  1492.  
  1493. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_EnumDeviceCapabilities_Proxy( 
  1494.     IWiaItem __RPC_FAR * This,
  1495.     /* [in] */ LONG lFlags,
  1496.     /* [out] */ IEnumWIA_DEV_CAPS __RPC_FAR *__RPC_FAR *ppIEnumWIA_DEV_CAPS);
  1497.  
  1498.  
  1499. void __RPC_STUB IWiaItem_EnumDeviceCapabilities_Stub(
  1500.     IRpcStubBuffer *This,
  1501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1502.     PRPC_MESSAGE _pRpcMessage,
  1503.     DWORD *_pdwStubPhase);
  1504.  
  1505.  
  1506. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_DumpItemData_Proxy( 
  1507.     IWiaItem __RPC_FAR * This,
  1508.     /* [out] */ BSTR __RPC_FAR *bstrData);
  1509.  
  1510.  
  1511. void __RPC_STUB IWiaItem_DumpItemData_Stub(
  1512.     IRpcStubBuffer *This,
  1513.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1514.     PRPC_MESSAGE _pRpcMessage,
  1515.     DWORD *_pdwStubPhase);
  1516.  
  1517.  
  1518. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_DumpDrvItemData_Proxy( 
  1519.     IWiaItem __RPC_FAR * This,
  1520.     /* [out] */ BSTR __RPC_FAR *bstrData);
  1521.  
  1522.  
  1523. void __RPC_STUB IWiaItem_DumpDrvItemData_Stub(
  1524.     IRpcStubBuffer *This,
  1525.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1526.     PRPC_MESSAGE _pRpcMessage,
  1527.     DWORD *_pdwStubPhase);
  1528.  
  1529.  
  1530. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_DumpTreeItemData_Proxy( 
  1531.     IWiaItem __RPC_FAR * This,
  1532.     /* [out] */ BSTR __RPC_FAR *bstrData);
  1533.  
  1534.  
  1535. void __RPC_STUB IWiaItem_DumpTreeItemData_Stub(
  1536.     IRpcStubBuffer *This,
  1537.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1538.     PRPC_MESSAGE _pRpcMessage,
  1539.     DWORD *_pdwStubPhase);
  1540.  
  1541.  
  1542.  
  1543. #endif     /* __IWiaItem_INTERFACE_DEFINED__ */
  1544.  
  1545.  
  1546. #ifndef __IWiaPropertyStorage_INTERFACE_DEFINED__
  1547. #define __IWiaPropertyStorage_INTERFACE_DEFINED__
  1548.  
  1549. /* interface IWiaPropertyStorage */
  1550. /* [unique][helpstring][uuid][object] */ 
  1551.  
  1552.  
  1553. EXTERN_C const IID IID_IWiaPropertyStorage;
  1554.  
  1555. #if defined(__cplusplus) && !defined(CINTERFACE)
  1556.     
  1557.     MIDL_INTERFACE("98B5E8A0-29CC-491a-AAC0-E6DB4FDCCEB6")
  1558.     IWiaPropertyStorage : public IPropertyStorage
  1559.     {
  1560.     public:
  1561.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPropertyAttributes( 
  1562.             /* [in] */ ULONG cpspec,
  1563.             /* [size_is][in] */ PROPSPEC __RPC_FAR rgpspec[  ],
  1564.             /* [size_is][out] */ ULONG __RPC_FAR rgflags[  ],
  1565.             /* [size_is][out] */ PROPVARIANT __RPC_FAR rgpropvar[  ]) = 0;
  1566.         
  1567.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCount( 
  1568.             /* [out] */ ULONG __RPC_FAR *pulNumProps) = 0;
  1569.         
  1570.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPropertyStream( 
  1571.             /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppIStream) = 0;
  1572.         
  1573.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPropertyStream( 
  1574.             /* [in] */ IStream __RPC_FAR *pIStream) = 0;
  1575.         
  1576.     };
  1577.     
  1578. #else     /* C style interface */
  1579.  
  1580.     typedef struct IWiaPropertyStorageVtbl
  1581.     {
  1582.         BEGIN_INTERFACE
  1583.         
  1584.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1585.             IWiaPropertyStorage __RPC_FAR * This,
  1586.             /* [in] */ REFIID riid,
  1587.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1588.         
  1589.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1590.             IWiaPropertyStorage __RPC_FAR * This);
  1591.         
  1592.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1593.             IWiaPropertyStorage __RPC_FAR * This);
  1594.         
  1595.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadMultiple )( 
  1596.             IWiaPropertyStorage __RPC_FAR * This,
  1597.             /* [in] */ ULONG cpspec,
  1598.             /* [size_is][in] */ const PROPSPEC __RPC_FAR rgpspec[  ],
  1599.             /* [size_is][out] */ PROPVARIANT __RPC_FAR rgpropvar[  ]);
  1600.         
  1601.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteMultiple )( 
  1602.             IWiaPropertyStorage __RPC_FAR * This,
  1603.             /* [in] */ ULONG cpspec,
  1604.             /* [size_is][in] */ const PROPSPEC __RPC_FAR rgpspec[  ],
  1605.             /* [size_is][in] */ const PROPVARIANT __RPC_FAR rgpropvar[  ],
  1606.             /* [in] */ PROPID propidNameFirst);
  1607.         
  1608.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteMultiple )( 
  1609.             IWiaPropertyStorage __RPC_FAR * This,
  1610.             /* [in] */ ULONG cpspec,
  1611.             /* [size_is][in] */ const PROPSPEC __RPC_FAR rgpspec[  ]);
  1612.         
  1613.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadPropertyNames )( 
  1614.             IWiaPropertyStorage __RPC_FAR * This,
  1615.             /* [in] */ ULONG cpropid,
  1616.             /* [size_is][in] */ const PROPID __RPC_FAR rgpropid[  ],
  1617.             /* [size_is][out] */ LPOLESTR __RPC_FAR rglpwstrName[  ]);
  1618.         
  1619.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WritePropertyNames )( 
  1620.             IWiaPropertyStorage __RPC_FAR * This,
  1621.             /* [in] */ ULONG cpropid,
  1622.             /* [size_is][in] */ const PROPID __RPC_FAR rgpropid[  ],
  1623.             /* [size_is][in] */ const LPOLESTR __RPC_FAR rglpwstrName[  ]);
  1624.         
  1625.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeletePropertyNames )( 
  1626.             IWiaPropertyStorage __RPC_FAR * This,
  1627.             /* [in] */ ULONG cpropid,
  1628.             /* [size_is][in] */ const PROPID __RPC_FAR rgpropid[  ]);
  1629.         
  1630.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )( 
  1631.             IWiaPropertyStorage __RPC_FAR * This,
  1632.             /* [in] */ DWORD grfCommitFlags);
  1633.         
  1634.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Revert )( 
  1635.             IWiaPropertyStorage __RPC_FAR * This);
  1636.         
  1637.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Enum )( 
  1638.             IWiaPropertyStorage __RPC_FAR * This,
  1639.             /* [out] */ IEnumSTATPROPSTG __RPC_FAR *__RPC_FAR *ppenum);
  1640.         
  1641.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTimes )( 
  1642.             IWiaPropertyStorage __RPC_FAR * This,
  1643.             /* [in] */ const FILETIME __RPC_FAR *pctime,
  1644.             /* [in] */ const FILETIME __RPC_FAR *patime,
  1645.             /* [in] */ const FILETIME __RPC_FAR *pmtime);
  1646.         
  1647.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetClass )( 
  1648.             IWiaPropertyStorage __RPC_FAR * This,
  1649.             /* [in] */ REFCLSID clsid);
  1650.         
  1651.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stat )( 
  1652.             IWiaPropertyStorage __RPC_FAR * This,
  1653.             /* [out] */ STATPROPSETSTG __RPC_FAR *pstatpsstg);
  1654.         
  1655.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropertyAttributes )( 
  1656.             IWiaPropertyStorage __RPC_FAR * This,
  1657.             /* [in] */ ULONG cpspec,
  1658.             /* [size_is][in] */ PROPSPEC __RPC_FAR rgpspec[  ],
  1659.             /* [size_is][out] */ ULONG __RPC_FAR rgflags[  ],
  1660.             /* [size_is][out] */ PROPVARIANT __RPC_FAR rgpropvar[  ]);
  1661.         
  1662.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
  1663.             IWiaPropertyStorage __RPC_FAR * This,
  1664.             /* [out] */ ULONG __RPC_FAR *pulNumProps);
  1665.         
  1666.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropertyStream )( 
  1667.             IWiaPropertyStorage __RPC_FAR * This,
  1668.             /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppIStream);
  1669.         
  1670.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPropertyStream )( 
  1671.             IWiaPropertyStorage __RPC_FAR * This,
  1672.             /* [in] */ IStream __RPC_FAR *pIStream);
  1673.         
  1674.         END_INTERFACE
  1675.     } IWiaPropertyStorageVtbl;
  1676.  
  1677.     interface IWiaPropertyStorage
  1678.     {
  1679.         CONST_VTBL struct IWiaPropertyStorageVtbl __RPC_FAR *lpVtbl;
  1680.     };
  1681.  
  1682.     
  1683.  
  1684. #ifdef COBJMACROS
  1685.  
  1686.  
  1687. #define IWiaPropertyStorage_QueryInterface(This,riid,ppvObject)    \
  1688.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1689.  
  1690. #define IWiaPropertyStorage_AddRef(This)    \
  1691.     (This)->lpVtbl -> AddRef(This)
  1692.  
  1693. #define IWiaPropertyStorage_Release(This)    \
  1694.     (This)->lpVtbl -> Release(This)
  1695.  
  1696.  
  1697. #define IWiaPropertyStorage_ReadMultiple(This,cpspec,rgpspec,rgpropvar)    \
  1698.     (This)->lpVtbl -> ReadMultiple(This,cpspec,rgpspec,rgpropvar)
  1699.  
  1700. #define IWiaPropertyStorage_WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst)    \
  1701.     (This)->lpVtbl -> WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst)
  1702.  
  1703. #define IWiaPropertyStorage_DeleteMultiple(This,cpspec,rgpspec)    \
  1704.     (This)->lpVtbl -> DeleteMultiple(This,cpspec,rgpspec)
  1705.  
  1706. #define IWiaPropertyStorage_ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName)    \
  1707.     (This)->lpVtbl -> ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName)
  1708.  
  1709. #define IWiaPropertyStorage_WritePropertyNames(This,cpropid,rgpropid,rglpwstrName)    \
  1710.     (This)->lpVtbl -> WritePropertyNames(This,cpropid,rgpropid,rglpwstrName)
  1711.  
  1712. #define IWiaPropertyStorage_DeletePropertyNames(This,cpropid,rgpropid)    \
  1713.     (This)->lpVtbl -> DeletePropertyNames(This,cpropid,rgpropid)
  1714.  
  1715. #define IWiaPropertyStorage_Commit(This,grfCommitFlags)    \
  1716.     (This)->lpVtbl -> Commit(This,grfCommitFlags)
  1717.  
  1718. #define IWiaPropertyStorage_Revert(This)    \
  1719.     (This)->lpVtbl -> Revert(This)
  1720.  
  1721. #define IWiaPropertyStorage_Enum(This,ppenum)    \
  1722.     (This)->lpVtbl -> Enum(This,ppenum)
  1723.  
  1724. #define IWiaPropertyStorage_SetTimes(This,pctime,patime,pmtime)    \
  1725.     (This)->lpVtbl -> SetTimes(This,pctime,patime,pmtime)
  1726.  
  1727. #define IWiaPropertyStorage_SetClass(This,clsid)    \
  1728.     (This)->lpVtbl -> SetClass(This,clsid)
  1729.  
  1730. #define IWiaPropertyStorage_Stat(This,pstatpsstg)    \
  1731.     (This)->lpVtbl -> Stat(This,pstatpsstg)
  1732.  
  1733.  
  1734. #define IWiaPropertyStorage_GetPropertyAttributes(This,cpspec,rgpspec,rgflags,rgpropvar)    \
  1735.     (This)->lpVtbl -> GetPropertyAttributes(This,cpspec,rgpspec,rgflags,rgpropvar)
  1736.  
  1737. #define IWiaPropertyStorage_GetCount(This,pulNumProps)    \
  1738.     (This)->lpVtbl -> GetCount(This,pulNumProps)
  1739.  
  1740. #define IWiaPropertyStorage_GetPropertyStream(This,ppIStream)    \
  1741.     (This)->lpVtbl -> GetPropertyStream(This,ppIStream)
  1742.  
  1743. #define IWiaPropertyStorage_SetPropertyStream(This,pIStream)    \
  1744.     (This)->lpVtbl -> SetPropertyStream(This,pIStream)
  1745.  
  1746. #endif /* COBJMACROS */
  1747.  
  1748.  
  1749. #endif     /* C style interface */
  1750.  
  1751.  
  1752.  
  1753. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_GetPropertyAttributes_Proxy( 
  1754.     IWiaPropertyStorage __RPC_FAR * This,
  1755.     /* [in] */ ULONG cpspec,
  1756.     /* [size_is][in] */ PROPSPEC __RPC_FAR rgpspec[  ],
  1757.     /* [size_is][out] */ ULONG __RPC_FAR rgflags[  ],
  1758.     /* [size_is][out] */ PROPVARIANT __RPC_FAR rgpropvar[  ]);
  1759.  
  1760.  
  1761. void __RPC_STUB IWiaPropertyStorage_GetPropertyAttributes_Stub(
  1762.     IRpcStubBuffer *This,
  1763.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1764.     PRPC_MESSAGE _pRpcMessage,
  1765.     DWORD *_pdwStubPhase);
  1766.  
  1767.  
  1768. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_GetCount_Proxy( 
  1769.     IWiaPropertyStorage __RPC_FAR * This,
  1770.     /* [out] */ ULONG __RPC_FAR *pulNumProps);
  1771.  
  1772.  
  1773. void __RPC_STUB IWiaPropertyStorage_GetCount_Stub(
  1774.     IRpcStubBuffer *This,
  1775.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1776.     PRPC_MESSAGE _pRpcMessage,
  1777.     DWORD *_pdwStubPhase);
  1778.  
  1779.  
  1780. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_GetPropertyStream_Proxy( 
  1781.     IWiaPropertyStorage __RPC_FAR * This,
  1782.     /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppIStream);
  1783.  
  1784.  
  1785. void __RPC_STUB IWiaPropertyStorage_GetPropertyStream_Stub(
  1786.     IRpcStubBuffer *This,
  1787.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1788.     PRPC_MESSAGE _pRpcMessage,
  1789.     DWORD *_pdwStubPhase);
  1790.  
  1791.  
  1792. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWiaPropertyStorage_SetPropertyStream_Proxy( 
  1793.     IWiaPropertyStorage __RPC_FAR * This,
  1794.     /* [in] */ IStream __RPC_FAR *pIStream);
  1795.  
  1796.  
  1797. void __RPC_STUB IWiaPropertyStorage_SetPropertyStream_Stub(
  1798.     IRpcStubBuffer *This,
  1799.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1800.     PRPC_MESSAGE _pRpcMessage,
  1801.     DWORD *_pdwStubPhase);
  1802.  
  1803.  
  1804.  
  1805. #endif     /* __IWiaPropertyStorage_INTERFACE_DEFINED__ */
  1806.  
  1807.  
  1808. #ifndef __IEnumWiaItem_INTERFACE_DEFINED__
  1809. #define __IEnumWiaItem_INTERFACE_DEFINED__
  1810.  
  1811. /* interface IEnumWiaItem */
  1812. /* [unique][helpstring][uuid][object] */ 
  1813.  
  1814.  
  1815. EXTERN_C const IID IID_IEnumWiaItem;
  1816.  
  1817. #if defined(__cplusplus) && !defined(CINTERFACE)
  1818.     
  1819.     MIDL_INTERFACE("5e8383fc-3391-11d2-9a33-00c04fa36145")
  1820.     IEnumWiaItem : public IUnknown
  1821.     {
  1822.     public:
  1823.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Next( 
  1824.             /* [in] */ ULONG celt,
  1825.             /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppIWiaItem,
  1826.             /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  1827.         
  1828.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Skip( 
  1829.             /* [in] */ ULONG celt) = 0;
  1830.         
  1831.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1832.         
  1833.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clone( 
  1834.             /* [out] */ IEnumWiaItem __RPC_FAR *__RPC_FAR *ppIEnum) = 0;
  1835.         
  1836.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCount( 
  1837.             /* [out] */ ULONG __RPC_FAR *celt) = 0;
  1838.         
  1839.     };
  1840.     
  1841. #else     /* C style interface */
  1842.  
  1843.     typedef struct IEnumWiaItemVtbl
  1844.     {
  1845.         BEGIN_INTERFACE
  1846.         
  1847.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1848.             IEnumWiaItem __RPC_FAR * This,
  1849.             /* [in] */ REFIID riid,
  1850.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1851.         
  1852.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1853.             IEnumWiaItem __RPC_FAR * This);
  1854.         
  1855.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1856.             IEnumWiaItem __RPC_FAR * This);
  1857.         
  1858.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  1859.             IEnumWiaItem __RPC_FAR * This,
  1860.             /* [in] */ ULONG celt,
  1861.             /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppIWiaItem,
  1862.             /* [out] */ ULONG __RPC_FAR *pceltFetched);
  1863.         
  1864.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  1865.             IEnumWiaItem __RPC_FAR * This,
  1866.             /* [in] */ ULONG celt);
  1867.         
  1868.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  1869.             IEnumWiaItem __RPC_FAR * This);
  1870.         
  1871.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  1872.             IEnumWiaItem __RPC_FAR * This,
  1873.             /* [out] */ IEnumWiaItem __RPC_FAR *__RPC_FAR *ppIEnum);
  1874.         
  1875.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
  1876.             IEnumWiaItem __RPC_FAR * This,
  1877.             /* [out] */ ULONG __RPC_FAR *celt);
  1878.         
  1879.         END_INTERFACE
  1880.     } IEnumWiaItemVtbl;
  1881.  
  1882.     interface IEnumWiaItem
  1883.     {
  1884.         CONST_VTBL struct IEnumWiaItemVtbl __RPC_FAR *lpVtbl;
  1885.     };
  1886.  
  1887.     
  1888.  
  1889. #ifdef COBJMACROS
  1890.  
  1891.  
  1892. #define IEnumWiaItem_QueryInterface(This,riid,ppvObject)    \
  1893.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1894.  
  1895. #define IEnumWiaItem_AddRef(This)    \
  1896.     (This)->lpVtbl -> AddRef(This)
  1897.  
  1898. #define IEnumWiaItem_Release(This)    \
  1899.     (This)->lpVtbl -> Release(This)
  1900.  
  1901.  
  1902. #define IEnumWiaItem_Next(This,celt,ppIWiaItem,pceltFetched)    \
  1903.     (This)->lpVtbl -> Next(This,celt,ppIWiaItem,pceltFetched)
  1904.  
  1905. #define IEnumWiaItem_Skip(This,celt)    \
  1906.     (This)->lpVtbl -> Skip(This,celt)
  1907.  
  1908. #define IEnumWiaItem_Reset(This)    \
  1909.     (This)->lpVtbl -> Reset(This)
  1910.  
  1911. #define IEnumWiaItem_Clone(This,ppIEnum)    \
  1912.     (This)->lpVtbl -> Clone(This,ppIEnum)
  1913.  
  1914. #define IEnumWiaItem_GetCount(This,celt)    \
  1915.     (This)->lpVtbl -> GetCount(This,celt)
  1916.  
  1917. #endif /* COBJMACROS */
  1918.  
  1919.  
  1920. #endif     /* C style interface */
  1921.  
  1922.  
  1923.  
  1924. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWiaItem_Next_Proxy( 
  1925.     IEnumWiaItem __RPC_FAR * This,
  1926.     /* [in] */ ULONG celt,
  1927.     /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppIWiaItem,
  1928.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  1929.  
  1930.  
  1931. void __RPC_STUB IEnumWiaItem_Next_Stub(
  1932.     IRpcStubBuffer *This,
  1933.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1934.     PRPC_MESSAGE _pRpcMessage,
  1935.     DWORD *_pdwStubPhase);
  1936.  
  1937.  
  1938. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWiaItem_Skip_Proxy( 
  1939.     IEnumWiaItem __RPC_FAR * This,
  1940.     /* [in] */ ULONG celt);
  1941.  
  1942.  
  1943. void __RPC_STUB IEnumWiaItem_Skip_Stub(
  1944.     IRpcStubBuffer *This,
  1945.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1946.     PRPC_MESSAGE _pRpcMessage,
  1947.     DWORD *_pdwStubPhase);
  1948.  
  1949.  
  1950. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWiaItem_Reset_Proxy( 
  1951.     IEnumWiaItem __RPC_FAR * This);
  1952.  
  1953.  
  1954. void __RPC_STUB IEnumWiaItem_Reset_Stub(
  1955.     IRpcStubBuffer *This,
  1956.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1957.     PRPC_MESSAGE _pRpcMessage,
  1958.     DWORD *_pdwStubPhase);
  1959.  
  1960.  
  1961. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWiaItem_Clone_Proxy( 
  1962.     IEnumWiaItem __RPC_FAR * This,
  1963.     /* [out] */ IEnumWiaItem __RPC_FAR *__RPC_FAR *ppIEnum);
  1964.  
  1965.  
  1966. void __RPC_STUB IEnumWiaItem_Clone_Stub(
  1967.     IRpcStubBuffer *This,
  1968.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1969.     PRPC_MESSAGE _pRpcMessage,
  1970.     DWORD *_pdwStubPhase);
  1971.  
  1972.  
  1973. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWiaItem_GetCount_Proxy( 
  1974.     IEnumWiaItem __RPC_FAR * This,
  1975.     /* [out] */ ULONG __RPC_FAR *celt);
  1976.  
  1977.  
  1978. void __RPC_STUB IEnumWiaItem_GetCount_Stub(
  1979.     IRpcStubBuffer *This,
  1980.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1981.     PRPC_MESSAGE _pRpcMessage,
  1982.     DWORD *_pdwStubPhase);
  1983.  
  1984.  
  1985.  
  1986. #endif     /* __IEnumWiaItem_INTERFACE_DEFINED__ */
  1987.  
  1988.  
  1989. /* interface __MIDL_itf_wia_0120 */
  1990. /* [local] */ 
  1991.  
  1992. typedef struct _WIA_DEV_CAP
  1993.     {
  1994.     GUID guid;
  1995.     ULONG ulFlags;
  1996.     BSTR bstrName;
  1997.     BSTR bstrDescription;
  1998.     BSTR bstrIcon;
  1999.     }    WIA_DEV_CAP;
  2000.  
  2001. typedef struct _WIA_DEV_CAP __RPC_FAR *PWIA_DEV_CAP;
  2002.  
  2003. typedef struct _WIA_DEV_CAP WIA_EVENT_HANDLER;
  2004.  
  2005. typedef struct _WIA_DEV_CAP __RPC_FAR *PWIA_EVENT_HANDLER;
  2006.  
  2007.  
  2008.  
  2009. extern RPC_IF_HANDLE __MIDL_itf_wia_0120_v0_0_c_ifspec;
  2010. extern RPC_IF_HANDLE __MIDL_itf_wia_0120_v0_0_s_ifspec;
  2011.  
  2012. #ifndef __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__
  2013. #define __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__
  2014.  
  2015. /* interface IEnumWIA_DEV_CAPS */
  2016. /* [unique][helpstring][uuid][object] */ 
  2017.  
  2018.  
  2019. EXTERN_C const IID IID_IEnumWIA_DEV_CAPS;
  2020.  
  2021. #if defined(__cplusplus) && !defined(CINTERFACE)
  2022.     
  2023.     MIDL_INTERFACE("1fcc4287-aca6-11d2-a093-00c04f72dc3c")
  2024.     IEnumWIA_DEV_CAPS : public IUnknown
  2025.     {
  2026.     public:
  2027.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Next( 
  2028.             /* [in] */ ULONG celt,
  2029.             /* [length_is][size_is][out] */ WIA_DEV_CAP __RPC_FAR *rgelt,
  2030.             /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  2031.         
  2032.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Skip( 
  2033.             /* [in] */ ULONG celt) = 0;
  2034.         
  2035.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2036.         
  2037.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clone( 
  2038.             /* [out] */ IEnumWIA_DEV_CAPS __RPC_FAR *__RPC_FAR *ppIEnum) = 0;
  2039.         
  2040.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCount( 
  2041.             /* [out] */ ULONG __RPC_FAR *pcelt) = 0;
  2042.         
  2043.     };
  2044.     
  2045. #else     /* C style interface */
  2046.  
  2047.     typedef struct IEnumWIA_DEV_CAPSVtbl
  2048.     {
  2049.         BEGIN_INTERFACE
  2050.         
  2051.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2052.             IEnumWIA_DEV_CAPS __RPC_FAR * This,
  2053.             /* [in] */ REFIID riid,
  2054.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2055.         
  2056.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2057.             IEnumWIA_DEV_CAPS __RPC_FAR * This);
  2058.         
  2059.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2060.             IEnumWIA_DEV_CAPS __RPC_FAR * This);
  2061.         
  2062.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  2063.             IEnumWIA_DEV_CAPS __RPC_FAR * This,
  2064.             /* [in] */ ULONG celt,
  2065.             /* [length_is][size_is][out] */ WIA_DEV_CAP __RPC_FAR *rgelt,
  2066.             /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2067.         
  2068.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  2069.             IEnumWIA_DEV_CAPS __RPC_FAR * This,
  2070.             /* [in] */ ULONG celt);
  2071.         
  2072.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  2073.             IEnumWIA_DEV_CAPS __RPC_FAR * This);
  2074.         
  2075.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  2076.             IEnumWIA_DEV_CAPS __RPC_FAR * This,
  2077.             /* [out] */ IEnumWIA_DEV_CAPS __RPC_FAR *__RPC_FAR *ppIEnum);
  2078.         
  2079.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
  2080.             IEnumWIA_DEV_CAPS __RPC_FAR * This,
  2081.             /* [out] */ ULONG __RPC_FAR *pcelt);
  2082.         
  2083.         END_INTERFACE
  2084.     } IEnumWIA_DEV_CAPSVtbl;
  2085.  
  2086.     interface IEnumWIA_DEV_CAPS
  2087.     {
  2088.         CONST_VTBL struct IEnumWIA_DEV_CAPSVtbl __RPC_FAR *lpVtbl;
  2089.     };
  2090.  
  2091.     
  2092.  
  2093. #ifdef COBJMACROS
  2094.  
  2095.  
  2096. #define IEnumWIA_DEV_CAPS_QueryInterface(This,riid,ppvObject)    \
  2097.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2098.  
  2099. #define IEnumWIA_DEV_CAPS_AddRef(This)    \
  2100.     (This)->lpVtbl -> AddRef(This)
  2101.  
  2102. #define IEnumWIA_DEV_CAPS_Release(This)    \
  2103.     (This)->lpVtbl -> Release(This)
  2104.  
  2105.  
  2106. #define IEnumWIA_DEV_CAPS_Next(This,celt,rgelt,pceltFetched)    \
  2107.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  2108.  
  2109. #define IEnumWIA_DEV_CAPS_Skip(This,celt)    \
  2110.     (This)->lpVtbl -> Skip(This,celt)
  2111.  
  2112. #define IEnumWIA_DEV_CAPS_Reset(This)    \
  2113.     (This)->lpVtbl -> Reset(This)
  2114.  
  2115. #define IEnumWIA_DEV_CAPS_Clone(This,ppIEnum)    \
  2116.     (This)->lpVtbl -> Clone(This,ppIEnum)
  2117.  
  2118. #define IEnumWIA_DEV_CAPS_GetCount(This,pcelt)    \
  2119.     (This)->lpVtbl -> GetCount(This,pcelt)
  2120.  
  2121. #endif /* COBJMACROS */
  2122.  
  2123.  
  2124. #endif     /* C style interface */
  2125.  
  2126.  
  2127.  
  2128. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_CAPS_Next_Proxy( 
  2129.     IEnumWIA_DEV_CAPS __RPC_FAR * This,
  2130.     /* [in] */ ULONG celt,
  2131.     /* [length_is][size_is][out] */ WIA_DEV_CAP __RPC_FAR *rgelt,
  2132.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2133.  
  2134.  
  2135. void __RPC_STUB IEnumWIA_DEV_CAPS_Next_Stub(
  2136.     IRpcStubBuffer *This,
  2137.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2138.     PRPC_MESSAGE _pRpcMessage,
  2139.     DWORD *_pdwStubPhase);
  2140.  
  2141.  
  2142. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_CAPS_Skip_Proxy( 
  2143.     IEnumWIA_DEV_CAPS __RPC_FAR * This,
  2144.     /* [in] */ ULONG celt);
  2145.  
  2146.  
  2147. void __RPC_STUB IEnumWIA_DEV_CAPS_Skip_Stub(
  2148.     IRpcStubBuffer *This,
  2149.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2150.     PRPC_MESSAGE _pRpcMessage,
  2151.     DWORD *_pdwStubPhase);
  2152.  
  2153.  
  2154. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_CAPS_Reset_Proxy( 
  2155.     IEnumWIA_DEV_CAPS __RPC_FAR * This);
  2156.  
  2157.  
  2158. void __RPC_STUB IEnumWIA_DEV_CAPS_Reset_Stub(
  2159.     IRpcStubBuffer *This,
  2160.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2161.     PRPC_MESSAGE _pRpcMessage,
  2162.     DWORD *_pdwStubPhase);
  2163.  
  2164.  
  2165. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_CAPS_Clone_Proxy( 
  2166.     IEnumWIA_DEV_CAPS __RPC_FAR * This,
  2167.     /* [out] */ IEnumWIA_DEV_CAPS __RPC_FAR *__RPC_FAR *ppIEnum);
  2168.  
  2169.  
  2170. void __RPC_STUB IEnumWIA_DEV_CAPS_Clone_Stub(
  2171.     IRpcStubBuffer *This,
  2172.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2173.     PRPC_MESSAGE _pRpcMessage,
  2174.     DWORD *_pdwStubPhase);
  2175.  
  2176.  
  2177. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_DEV_CAPS_GetCount_Proxy( 
  2178.     IEnumWIA_DEV_CAPS __RPC_FAR * This,
  2179.     /* [out] */ ULONG __RPC_FAR *pcelt);
  2180.  
  2181.  
  2182. void __RPC_STUB IEnumWIA_DEV_CAPS_GetCount_Stub(
  2183.     IRpcStubBuffer *This,
  2184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2185.     PRPC_MESSAGE _pRpcMessage,
  2186.     DWORD *_pdwStubPhase);
  2187.  
  2188.  
  2189.  
  2190. #endif     /* __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__ */
  2191.  
  2192.  
  2193. #ifndef __IEnumWIA_FORMAT_INFO_INTERFACE_DEFINED__
  2194. #define __IEnumWIA_FORMAT_INFO_INTERFACE_DEFINED__
  2195.  
  2196. /* interface IEnumWIA_FORMAT_INFO */
  2197. /* [unique][helpstring][uuid][object] */ 
  2198.  
  2199.  
  2200. EXTERN_C const IID IID_IEnumWIA_FORMAT_INFO;
  2201.  
  2202. #if defined(__cplusplus) && !defined(CINTERFACE)
  2203.     
  2204.     MIDL_INTERFACE("81BEFC5B-656D-44f1-B24C-D41D51B4DC81")
  2205.     IEnumWIA_FORMAT_INFO : public IUnknown
  2206.     {
  2207.     public:
  2208.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Next( 
  2209.             /* [in] */ ULONG celt,
  2210.             /* [length_is][size_is][out] */ WIA_FORMAT_INFO __RPC_FAR *rgelt,
  2211.             /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  2212.         
  2213.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Skip( 
  2214.             /* [in] */ ULONG celt) = 0;
  2215.         
  2216.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2217.         
  2218.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clone( 
  2219.             /* [out] */ IEnumWIA_FORMAT_INFO __RPC_FAR *__RPC_FAR *ppIEnum) = 0;
  2220.         
  2221.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCount( 
  2222.             /* [out] */ ULONG __RPC_FAR *pcelt) = 0;
  2223.         
  2224.     };
  2225.     
  2226. #else     /* C style interface */
  2227.  
  2228.     typedef struct IEnumWIA_FORMAT_INFOVtbl
  2229.     {
  2230.         BEGIN_INTERFACE
  2231.         
  2232.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2233.             IEnumWIA_FORMAT_INFO __RPC_FAR * This,
  2234.             /* [in] */ REFIID riid,
  2235.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2236.         
  2237.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2238.             IEnumWIA_FORMAT_INFO __RPC_FAR * This);
  2239.         
  2240.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2241.             IEnumWIA_FORMAT_INFO __RPC_FAR * This);
  2242.         
  2243.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  2244.             IEnumWIA_FORMAT_INFO __RPC_FAR * This,
  2245.             /* [in] */ ULONG celt,
  2246.             /* [length_is][size_is][out] */ WIA_FORMAT_INFO __RPC_FAR *rgelt,
  2247.             /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2248.         
  2249.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  2250.             IEnumWIA_FORMAT_INFO __RPC_FAR * This,
  2251.             /* [in] */ ULONG celt);
  2252.         
  2253.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  2254.             IEnumWIA_FORMAT_INFO __RPC_FAR * This);
  2255.         
  2256.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  2257.             IEnumWIA_FORMAT_INFO __RPC_FAR * This,
  2258.             /* [out] */ IEnumWIA_FORMAT_INFO __RPC_FAR *__RPC_FAR *ppIEnum);
  2259.         
  2260.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
  2261.             IEnumWIA_FORMAT_INFO __RPC_FAR * This,
  2262.             /* [out] */ ULONG __RPC_FAR *pcelt);
  2263.         
  2264.         END_INTERFACE
  2265.     } IEnumWIA_FORMAT_INFOVtbl;
  2266.  
  2267.     interface IEnumWIA_FORMAT_INFO
  2268.     {
  2269.         CONST_VTBL struct IEnumWIA_FORMAT_INFOVtbl __RPC_FAR *lpVtbl;
  2270.     };
  2271.  
  2272.     
  2273.  
  2274. #ifdef COBJMACROS
  2275.  
  2276.  
  2277. #define IEnumWIA_FORMAT_INFO_QueryInterface(This,riid,ppvObject)    \
  2278.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2279.  
  2280. #define IEnumWIA_FORMAT_INFO_AddRef(This)    \
  2281.     (This)->lpVtbl -> AddRef(This)
  2282.  
  2283. #define IEnumWIA_FORMAT_INFO_Release(This)    \
  2284.     (This)->lpVtbl -> Release(This)
  2285.  
  2286.  
  2287. #define IEnumWIA_FORMAT_INFO_Next(This,celt,rgelt,pceltFetched)    \
  2288.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  2289.  
  2290. #define IEnumWIA_FORMAT_INFO_Skip(This,celt)    \
  2291.     (This)->lpVtbl -> Skip(This,celt)
  2292.  
  2293. #define IEnumWIA_FORMAT_INFO_Reset(This)    \
  2294.     (This)->lpVtbl -> Reset(This)
  2295.  
  2296. #define IEnumWIA_FORMAT_INFO_Clone(This,ppIEnum)    \
  2297.     (This)->lpVtbl -> Clone(This,ppIEnum)
  2298.  
  2299. #define IEnumWIA_FORMAT_INFO_GetCount(This,pcelt)    \
  2300.     (This)->lpVtbl -> GetCount(This,pcelt)
  2301.  
  2302. #endif /* COBJMACROS */
  2303.  
  2304.  
  2305. #endif     /* C style interface */
  2306.  
  2307.  
  2308.  
  2309. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_FORMAT_INFO_Next_Proxy( 
  2310.     IEnumWIA_FORMAT_INFO __RPC_FAR * This,
  2311.     /* [in] */ ULONG celt,
  2312.     /* [length_is][size_is][out] */ WIA_FORMAT_INFO __RPC_FAR *rgelt,
  2313.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2314.  
  2315.  
  2316. void __RPC_STUB IEnumWIA_FORMAT_INFO_Next_Stub(
  2317.     IRpcStubBuffer *This,
  2318.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2319.     PRPC_MESSAGE _pRpcMessage,
  2320.     DWORD *_pdwStubPhase);
  2321.  
  2322.  
  2323. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_FORMAT_INFO_Skip_Proxy( 
  2324.     IEnumWIA_FORMAT_INFO __RPC_FAR * This,
  2325.     /* [in] */ ULONG celt);
  2326.  
  2327.  
  2328. void __RPC_STUB IEnumWIA_FORMAT_INFO_Skip_Stub(
  2329.     IRpcStubBuffer *This,
  2330.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2331.     PRPC_MESSAGE _pRpcMessage,
  2332.     DWORD *_pdwStubPhase);
  2333.  
  2334.  
  2335. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_FORMAT_INFO_Reset_Proxy( 
  2336.     IEnumWIA_FORMAT_INFO __RPC_FAR * This);
  2337.  
  2338.  
  2339. void __RPC_STUB IEnumWIA_FORMAT_INFO_Reset_Stub(
  2340.     IRpcStubBuffer *This,
  2341.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2342.     PRPC_MESSAGE _pRpcMessage,
  2343.     DWORD *_pdwStubPhase);
  2344.  
  2345.  
  2346. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_FORMAT_INFO_Clone_Proxy( 
  2347.     IEnumWIA_FORMAT_INFO __RPC_FAR * This,
  2348.     /* [out] */ IEnumWIA_FORMAT_INFO __RPC_FAR *__RPC_FAR *ppIEnum);
  2349.  
  2350.  
  2351. void __RPC_STUB IEnumWIA_FORMAT_INFO_Clone_Stub(
  2352.     IRpcStubBuffer *This,
  2353.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2354.     PRPC_MESSAGE _pRpcMessage,
  2355.     DWORD *_pdwStubPhase);
  2356.  
  2357.  
  2358. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnumWIA_FORMAT_INFO_GetCount_Proxy( 
  2359.     IEnumWIA_FORMAT_INFO __RPC_FAR * This,
  2360.     /* [out] */ ULONG __RPC_FAR *pcelt);
  2361.  
  2362.  
  2363. void __RPC_STUB IEnumWIA_FORMAT_INFO_GetCount_Stub(
  2364.     IRpcStubBuffer *This,
  2365.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2366.     PRPC_MESSAGE _pRpcMessage,
  2367.     DWORD *_pdwStubPhase);
  2368.  
  2369.  
  2370.  
  2371. #endif     /* __IEnumWIA_FORMAT_INFO_INTERFACE_DEFINED__ */
  2372.  
  2373.  
  2374.  
  2375. #ifndef __WiaDevMgr_LIBRARY_DEFINED__
  2376. #define __WiaDevMgr_LIBRARY_DEFINED__
  2377.  
  2378. /* library WiaDevMgr */
  2379. /* [helpstring][version][uuid] */ 
  2380.  
  2381.  
  2382. EXTERN_C const IID LIBID_WiaDevMgr;
  2383.  
  2384. EXTERN_C const CLSID CLSID_WiaDevMgr;
  2385.  
  2386. #ifdef __cplusplus
  2387.  
  2388. class DECLSPEC_UUID("a1f4e726-8cf1-11d1-bf92-0060081ed811")
  2389. WiaDevMgr;
  2390. #endif
  2391. #endif /* __WiaDevMgr_LIBRARY_DEFINED__ */
  2392.  
  2393. /* Additional Prototypes for ALL interfaces */
  2394.  
  2395. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
  2396. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  2397. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  2398. void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 
  2399.  
  2400. unsigned long             __RPC_USER  HWND_UserSize(     unsigned long __RPC_FAR *, unsigned long            , HWND __RPC_FAR * ); 
  2401. unsigned char __RPC_FAR * __RPC_USER  HWND_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HWND __RPC_FAR * ); 
  2402. unsigned char __RPC_FAR * __RPC_USER  HWND_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HWND __RPC_FAR * ); 
  2403. void                      __RPC_USER  HWND_UserFree(     unsigned long __RPC_FAR *, HWND __RPC_FAR * ); 
  2404.  
  2405. unsigned long             __RPC_USER  LPSAFEARRAY_UserSize(     unsigned long __RPC_FAR *, unsigned long            , LPSAFEARRAY __RPC_FAR * ); 
  2406. unsigned char __RPC_FAR * __RPC_USER  LPSAFEARRAY_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, LPSAFEARRAY __RPC_FAR * ); 
  2407. unsigned char __RPC_FAR * __RPC_USER  LPSAFEARRAY_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, LPSAFEARRAY __RPC_FAR * ); 
  2408. void                      __RPC_USER  LPSAFEARRAY_UserFree(     unsigned long __RPC_FAR *, LPSAFEARRAY __RPC_FAR * ); 
  2409.  
  2410. unsigned long             __RPC_USER  STGMEDIUM_UserSize(     unsigned long __RPC_FAR *, unsigned long            , STGMEDIUM __RPC_FAR * ); 
  2411. unsigned char __RPC_FAR * __RPC_USER  STGMEDIUM_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, STGMEDIUM __RPC_FAR * ); 
  2412. unsigned char __RPC_FAR * __RPC_USER  STGMEDIUM_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, STGMEDIUM __RPC_FAR * ); 
  2413. void                      __RPC_USER  STGMEDIUM_UserFree(     unsigned long __RPC_FAR *, STGMEDIUM __RPC_FAR * ); 
  2414.  
  2415. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_SelectDeviceDlg_Proxy( 
  2416.     IWiaDevMgr __RPC_FAR * This,
  2417.     /* [in] */ HWND hwndParent,
  2418.     /* [in] */ LONG lDeviceType,
  2419.     /* [in] */ LONG lFlags,
  2420.     /* [out][in] */ BSTR __RPC_FAR *pbstrDeviceID,
  2421.     /* [retval][out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppItemRoot);
  2422.  
  2423.  
  2424. /* [nocode][helpstring][call_as][id] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_SelectDeviceDlg_Stub( 
  2425.     IWiaDevMgr __RPC_FAR * This,
  2426.     /* [in] */ HWND hwndParent,
  2427.     /* [in] */ LONG lDeviceType,
  2428.     /* [in] */ LONG lFlags,
  2429.     /* [out][in] */ BSTR __RPC_FAR *pbstrDeviceID,
  2430.     /* [retval][out] */ IWiaItem __RPC_FAR *__RPC_FAR *ppItemRoot);
  2431.  
  2432. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_SelectDeviceDlgID_Proxy( 
  2433.     IWiaDevMgr __RPC_FAR * This,
  2434.     /* [in] */ HWND hwndParent,
  2435.     /* [in] */ LONG lDeviceType,
  2436.     /* [in] */ LONG lFlags,
  2437.     /* [retval][out] */ BSTR __RPC_FAR *pbstrDeviceID);
  2438.  
  2439.  
  2440. /* [nocode][helpstring][call_as][id] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_SelectDeviceDlgID_Stub( 
  2441.     IWiaDevMgr __RPC_FAR * This,
  2442.     /* [in] */ HWND hwndParent,
  2443.     /* [in] */ LONG lDeviceType,
  2444.     /* [in] */ LONG lFlags,
  2445.     /* [retval][out] */ BSTR __RPC_FAR *pbstrDeviceID);
  2446.  
  2447. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_GetImageDlg_Proxy( 
  2448.     IWiaDevMgr __RPC_FAR * This,
  2449.     /* [in] */ HWND hwndParent,
  2450.     /* [in] */ LONG lDeviceType,
  2451.     /* [in] */ LONG lFlags,
  2452.     /* [in] */ LONG lIntent,
  2453.     /* [in] */ IWiaItem __RPC_FAR *pItemRoot,
  2454.     /* [in] */ BSTR bstrFilename,
  2455.     /* [out][in] */ GUID __RPC_FAR *pguidFormat);
  2456.  
  2457.  
  2458. /* [nocode][helpstring][call_as][id] */ HRESULT STDMETHODCALLTYPE IWiaDevMgr_GetImageDlg_Stub( 
  2459.     IWiaDevMgr __RPC_FAR * This,
  2460.     /* [in] */ HWND hwndParent,
  2461.     /* [in] */ LONG lDeviceType,
  2462.     /* [in] */ LONG lFlags,
  2463.     /* [in] */ LONG lIntent,
  2464.     /* [in] */ IWiaItem __RPC_FAR *pItemRoot,
  2465.     /* [in] */ BSTR bstrFilename,
  2466.     /* [out][in] */ GUID __RPC_FAR *pguidFormat);
  2467.  
  2468. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDataCallback_BandedDataCallback_Proxy( 
  2469.     IWiaDataCallback __RPC_FAR * This,
  2470.     /* [in] */ LONG lMessage,
  2471.     /* [in] */ LONG lStatus,
  2472.     /* [in] */ LONG lPercentComplete,
  2473.     /* [in] */ LONG lOffset,
  2474.     /* [in] */ LONG lLength,
  2475.     /* [in] */ LONG lReserved,
  2476.     /* [in] */ LONG lResLength,
  2477.     /* [size_is][in] */ BYTE __RPC_FAR *pbBuffer);
  2478.  
  2479.  
  2480. /* [helpstring][call_as][id] */ HRESULT STDMETHODCALLTYPE IWiaDataCallback_BandedDataCallback_Stub( 
  2481.     IWiaDataCallback __RPC_FAR * This,
  2482.     /* [in] */ LONG lMessage,
  2483.     /* [in] */ LONG lStatus,
  2484.     /* [in] */ LONG lPercentComplete,
  2485.     /* [in] */ LONG lOffset,
  2486.     /* [in] */ LONG lLength,
  2487.     /* [in] */ LONG lReserved,
  2488.     /* [in] */ LONG lResLength,
  2489.     /* [unique][size_is][in] */ BYTE __RPC_FAR *pbBuffer);
  2490.  
  2491. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtGetData_Proxy( 
  2492.     IWiaDataTransfer __RPC_FAR * This,
  2493.     /* [out] */ LPSTGMEDIUM pMedium,
  2494.     /* [unique][in] */ IWiaDataCallback __RPC_FAR *pIWiaDataCallback);
  2495.  
  2496.  
  2497. /* [helpstring][call_as][id] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtGetData_Stub( 
  2498.     IWiaDataTransfer __RPC_FAR * This,
  2499.     /* [out] */ LPSTGMEDIUM pMedium,
  2500.     /* [unique][in] */ IWiaDataCallback __RPC_FAR *pIWiaDataCallback);
  2501.  
  2502. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtGetBandedData_Proxy( 
  2503.     IWiaDataTransfer __RPC_FAR * This,
  2504.     /* [unique][in] */ PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,
  2505.     /* [unique][in] */ IWiaDataCallback __RPC_FAR *pIWiaDataCallback);
  2506.  
  2507.  
  2508. /* [helpstring][call_as][id] */ HRESULT STDMETHODCALLTYPE IWiaDataTransfer_idtGetBandedData_Stub( 
  2509.     IWiaDataTransfer __RPC_FAR * This,
  2510.     /* [unique][in] */ PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,
  2511.     /* [unique][in] */ IWiaDataCallback __RPC_FAR *pIWiaDataCallback);
  2512.  
  2513. /* [local] */ HRESULT STDMETHODCALLTYPE IWiaItem_DeviceDlg_Proxy( 
  2514.     IWiaItem __RPC_FAR * This,
  2515.     /* [in] */ HWND hwndParent,
  2516.     /* [in] */ LONG lFlags,
  2517.     /* [in] */ LONG lIntent,
  2518.     /* [out] */ LONG __RPC_FAR *plItemCount,
  2519.     /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *__RPC_FAR *ppIWiaItem);
  2520.  
  2521.  
  2522. /* [nocode][helpstring][call_as][id] */ HRESULT STDMETHODCALLTYPE IWiaItem_DeviceDlg_Stub( 
  2523.     IWiaItem __RPC_FAR * This,
  2524.     /* [in] */ HWND hwndParent,
  2525.     /* [in] */ LONG lFlags,
  2526.     /* [in] */ LONG lIntent,
  2527.     /* [out] */ LONG __RPC_FAR *plItemCount,
  2528.     /* [out] */ IWiaItem __RPC_FAR *__RPC_FAR *__RPC_FAR *pIWiaItem);
  2529.  
  2530.  
  2531.  
  2532. /* end of Additional Prototypes */
  2533.  
  2534. #ifdef __cplusplus
  2535. }
  2536. #endif
  2537.  
  2538. #endif
  2539.  
  2540.  
  2541. #pragma option pop /*P_O_Pop*/
  2542.