wia.h 69 KB

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