master
  1/*** Autogenerated by WIDL 10.4 from include/wia_xp.idl - Do not edit ***/
  2
  3#ifdef _WIN32
  4#ifndef __REQUIRED_RPCNDR_H_VERSION__
  5#define __REQUIRED_RPCNDR_H_VERSION__ 475
  6#endif
  7#include <rpc.h>
  8#include <rpcndr.h>
  9#endif
 10
 11#ifndef COM_NO_WINDOWS_H
 12#include <windows.h>
 13#include <ole2.h>
 14#endif
 15
 16#ifndef __wia_xp_h__
 17#define __wia_xp_h__
 18
 19/* Forward declarations */
 20
 21#ifndef __IWiaDevMgr_FWD_DEFINED__
 22#define __IWiaDevMgr_FWD_DEFINED__
 23typedef interface IWiaDevMgr IWiaDevMgr;
 24#ifdef __cplusplus
 25interface IWiaDevMgr;
 26#endif /* __cplusplus */
 27#endif
 28
 29#ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__
 30#define __IEnumWIA_DEV_INFO_FWD_DEFINED__
 31typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO;
 32#ifdef __cplusplus
 33interface IEnumWIA_DEV_INFO;
 34#endif /* __cplusplus */
 35#endif
 36
 37#ifndef __IWiaPropertyStorage_FWD_DEFINED__
 38#define __IWiaPropertyStorage_FWD_DEFINED__
 39typedef interface IWiaPropertyStorage IWiaPropertyStorage;
 40#ifdef __cplusplus
 41interface IWiaPropertyStorage;
 42#endif /* __cplusplus */
 43#endif
 44
 45#ifndef __IWiaItem_FWD_DEFINED__
 46#define __IWiaItem_FWD_DEFINED__
 47typedef interface IWiaItem IWiaItem;
 48#ifdef __cplusplus
 49interface IWiaItem;
 50#endif /* __cplusplus */
 51#endif
 52
 53#ifndef __IWiaEventCallback_FWD_DEFINED__
 54#define __IWiaEventCallback_FWD_DEFINED__
 55typedef interface IWiaEventCallback IWiaEventCallback;
 56#ifdef __cplusplus
 57interface IWiaEventCallback;
 58#endif /* __cplusplus */
 59#endif
 60
 61/* Headers for imported files */
 62
 63#include <unknwn.h>
 64#include <oaidl.h>
 65#include <propidl.h>
 66
 67#ifdef __cplusplus
 68extern "C" {
 69#endif
 70
 71#include <wiadef.h>
 72#ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__
 73#define __IEnumWIA_DEV_INFO_FWD_DEFINED__
 74typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO;
 75#ifdef __cplusplus
 76interface IEnumWIA_DEV_INFO;
 77#endif /* __cplusplus */
 78#endif
 79
 80#ifndef __IWiaPropertyStorage_FWD_DEFINED__
 81#define __IWiaPropertyStorage_FWD_DEFINED__
 82typedef interface IWiaPropertyStorage IWiaPropertyStorage;
 83#ifdef __cplusplus
 84interface IWiaPropertyStorage;
 85#endif /* __cplusplus */
 86#endif
 87
 88#ifndef __IWiaItem_FWD_DEFINED__
 89#define __IWiaItem_FWD_DEFINED__
 90typedef interface IWiaItem IWiaItem;
 91#ifdef __cplusplus
 92interface IWiaItem;
 93#endif /* __cplusplus */
 94#endif
 95
 96#ifndef __IWiaEventCallback_FWD_DEFINED__
 97#define __IWiaEventCallback_FWD_DEFINED__
 98typedef interface IWiaEventCallback IWiaEventCallback;
 99#ifdef __cplusplus
100interface IWiaEventCallback;
101#endif /* __cplusplus */
102#endif
103
104DEFINE_GUID(CLSID_WiaDevMgr, 0xa1f4e726,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11);
105/*****************************************************************************
106 * IWiaDevMgr interface
107 */
108#ifndef __IWiaDevMgr_INTERFACE_DEFINED__
109#define __IWiaDevMgr_INTERFACE_DEFINED__
110
111DEFINE_GUID(IID_IWiaDevMgr, 0x5eb2502a, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11);
112#if defined(__cplusplus) && !defined(CINTERFACE)
113MIDL_INTERFACE("5eb2502a-8cf1-11d1-bf92-0060081ed811")
114IWiaDevMgr : public IUnknown
115{
116    virtual HRESULT STDMETHODCALLTYPE EnumDeviceInfo(
117        LONG lFlag,
118        IEnumWIA_DEV_INFO **ppIEnum) = 0;
119
120    virtual HRESULT STDMETHODCALLTYPE CreateDevice(
121        BSTR bstrDeviceID,
122        IWiaItem **ppWiaItemRoot) = 0;
123
124    virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlg(
125        HWND hwndParent,
126        LONG lDeviceType,
127        LONG lFlags,
128        BSTR *pbstrDeviceID,
129        IWiaItem **ppItemRoot) = 0;
130
131    virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlgID(
132        HWND hwndParent,
133        LONG lDeviceType,
134        LONG lFlags,
135        BSTR *pbstrDeviceID) = 0;
136
137    virtual HRESULT STDMETHODCALLTYPE GetImageDlg(
138        HWND hwndParent,
139        LONG lDeviceType,
140        LONG lFlags,
141        LONG lIntent,
142        IWiaItem *pItemRoot,
143        BSTR bstrFilename,
144        GUID *pguidFormat) = 0;
145
146    virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackProgram(
147        LONG lFlags,
148        BSTR bstrDeviceID,
149        const GUID *pEventGUID,
150        BSTR bstrCommandline,
151        BSTR bstrName,
152        BSTR bstrDescription,
153        BSTR bstrIcon) = 0;
154
155    virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackInterface(
156        LONG lFlags,
157        BSTR bstrDeviceID,
158        const GUID *pEventGUID,
159        IWiaEventCallback *pIWiaEventCallback,
160        IUnknown **pEventObject) = 0;
161
162    virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackCLSID(
163        LONG lFlags,
164        BSTR bstrDeviceID,
165        const GUID *pEventGUID,
166        const GUID *pClsID,
167        BSTR bstrName,
168        BSTR bstrDescription,
169        BSTR bstrIcon) = 0;
170
171    virtual HRESULT STDMETHODCALLTYPE AddDeviceDlg(
172        HWND hwndParent,
173        LONG lFlags) = 0;
174
175};
176#ifdef __CRT_UUID_DECL
177__CRT_UUID_DECL(IWiaDevMgr, 0x5eb2502a, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11)
178#endif
179#else
180typedef struct IWiaDevMgrVtbl {
181    BEGIN_INTERFACE
182
183    /*** IUnknown methods ***/
184    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
185        IWiaDevMgr *This,
186        REFIID riid,
187        void **ppvObject);
188
189    ULONG (STDMETHODCALLTYPE *AddRef)(
190        IWiaDevMgr *This);
191
192    ULONG (STDMETHODCALLTYPE *Release)(
193        IWiaDevMgr *This);
194
195    /*** IWiaDevMgr methods ***/
196    HRESULT (STDMETHODCALLTYPE *EnumDeviceInfo)(
197        IWiaDevMgr *This,
198        LONG lFlag,
199        IEnumWIA_DEV_INFO **ppIEnum);
200
201    HRESULT (STDMETHODCALLTYPE *CreateDevice)(
202        IWiaDevMgr *This,
203        BSTR bstrDeviceID,
204        IWiaItem **ppWiaItemRoot);
205
206    HRESULT (STDMETHODCALLTYPE *SelectDeviceDlg)(
207        IWiaDevMgr *This,
208        HWND hwndParent,
209        LONG lDeviceType,
210        LONG lFlags,
211        BSTR *pbstrDeviceID,
212        IWiaItem **ppItemRoot);
213
214    HRESULT (STDMETHODCALLTYPE *SelectDeviceDlgID)(
215        IWiaDevMgr *This,
216        HWND hwndParent,
217        LONG lDeviceType,
218        LONG lFlags,
219        BSTR *pbstrDeviceID);
220
221    HRESULT (STDMETHODCALLTYPE *GetImageDlg)(
222        IWiaDevMgr *This,
223        HWND hwndParent,
224        LONG lDeviceType,
225        LONG lFlags,
226        LONG lIntent,
227        IWiaItem *pItemRoot,
228        BSTR bstrFilename,
229        GUID *pguidFormat);
230
231    HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackProgram)(
232        IWiaDevMgr *This,
233        LONG lFlags,
234        BSTR bstrDeviceID,
235        const GUID *pEventGUID,
236        BSTR bstrCommandline,
237        BSTR bstrName,
238        BSTR bstrDescription,
239        BSTR bstrIcon);
240
241    HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackInterface)(
242        IWiaDevMgr *This,
243        LONG lFlags,
244        BSTR bstrDeviceID,
245        const GUID *pEventGUID,
246        IWiaEventCallback *pIWiaEventCallback,
247        IUnknown **pEventObject);
248
249    HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackCLSID)(
250        IWiaDevMgr *This,
251        LONG lFlags,
252        BSTR bstrDeviceID,
253        const GUID *pEventGUID,
254        const GUID *pClsID,
255        BSTR bstrName,
256        BSTR bstrDescription,
257        BSTR bstrIcon);
258
259    HRESULT (STDMETHODCALLTYPE *AddDeviceDlg)(
260        IWiaDevMgr *This,
261        HWND hwndParent,
262        LONG lFlags);
263
264    END_INTERFACE
265} IWiaDevMgrVtbl;
266
267interface IWiaDevMgr {
268    CONST_VTBL IWiaDevMgrVtbl* lpVtbl;
269};
270
271#ifdef COBJMACROS
272#ifndef WIDL_C_INLINE_WRAPPERS
273/*** IUnknown methods ***/
274#define IWiaDevMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
275#define IWiaDevMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
276#define IWiaDevMgr_Release(This) (This)->lpVtbl->Release(This)
277/*** IWiaDevMgr methods ***/
278#define IWiaDevMgr_EnumDeviceInfo(This,lFlag,ppIEnum) (This)->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum)
279#define IWiaDevMgr_CreateDevice(This,bstrDeviceID,ppWiaItemRoot) (This)->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot)
280#define IWiaDevMgr_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) (This)->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot)
281#define IWiaDevMgr_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) (This)->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID)
282#define IWiaDevMgr_GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) (This)->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat)
283#define IWiaDevMgr_RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon)
284#define IWiaDevMgr_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) (This)->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject)
285#define IWiaDevMgr_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon)
286#define IWiaDevMgr_AddDeviceDlg(This,hwndParent,lFlags) (This)->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags)
287#else
288/*** IUnknown methods ***/
289static inline HRESULT IWiaDevMgr_QueryInterface(IWiaDevMgr* This,REFIID riid,void **ppvObject) {
290    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
291}
292static inline ULONG IWiaDevMgr_AddRef(IWiaDevMgr* This) {
293    return This->lpVtbl->AddRef(This);
294}
295static inline ULONG IWiaDevMgr_Release(IWiaDevMgr* This) {
296    return This->lpVtbl->Release(This);
297}
298/*** IWiaDevMgr methods ***/
299static inline HRESULT IWiaDevMgr_EnumDeviceInfo(IWiaDevMgr* This,LONG lFlag,IEnumWIA_DEV_INFO **ppIEnum) {
300    return This->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum);
301}
302static inline HRESULT IWiaDevMgr_CreateDevice(IWiaDevMgr* This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot) {
303    return This->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot);
304}
305static inline HRESULT IWiaDevMgr_SelectDeviceDlg(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot) {
306    return This->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot);
307}
308static inline HRESULT IWiaDevMgr_SelectDeviceDlgID(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID) {
309    return This->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID);
310}
311static inline HRESULT IWiaDevMgr_GetImageDlg(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat) {
312    return This->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat);
313}
314static inline HRESULT IWiaDevMgr_RegisterEventCallbackProgram(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) {
315    return This->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon);
316}
317static inline HRESULT IWiaDevMgr_RegisterEventCallbackInterface(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject) {
318    return This->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject);
319}
320static inline HRESULT IWiaDevMgr_RegisterEventCallbackCLSID(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) {
321    return This->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon);
322}
323static inline HRESULT IWiaDevMgr_AddDeviceDlg(IWiaDevMgr* This,HWND hwndParent,LONG lFlags) {
324    return This->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags);
325}
326#endif
327#endif
328
329#endif
330
331
332#endif  /* __IWiaDevMgr_INTERFACE_DEFINED__ */
333
334/*****************************************************************************
335 * IEnumWIA_DEV_INFO interface
336 */
337#ifndef __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__
338#define __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__
339
340DEFINE_GUID(IID_IEnumWIA_DEV_INFO, 0x5e38b83c, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11);
341#if defined(__cplusplus) && !defined(CINTERFACE)
342MIDL_INTERFACE("5e38b83c-8cf1-11d1-bf92-0060081ed811")
343IEnumWIA_DEV_INFO : public IUnknown
344{
345    virtual HRESULT STDMETHODCALLTYPE Next(
346        ULONG celt,
347        IWiaPropertyStorage **rgelt,
348        ULONG *pceltFetched) = 0;
349
350    virtual HRESULT STDMETHODCALLTYPE Skip(
351        ULONG celt) = 0;
352
353    virtual HRESULT STDMETHODCALLTYPE Reset(
354        ) = 0;
355
356    virtual HRESULT STDMETHODCALLTYPE Clone(
357        IEnumWIA_DEV_INFO **ppIEnum) = 0;
358
359    virtual HRESULT STDMETHODCALLTYPE GetCount(
360        ULONG *celt) = 0;
361
362};
363#ifdef __CRT_UUID_DECL
364__CRT_UUID_DECL(IEnumWIA_DEV_INFO, 0x5e38b83c, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11)
365#endif
366#else
367typedef struct IEnumWIA_DEV_INFOVtbl {
368    BEGIN_INTERFACE
369
370    /*** IUnknown methods ***/
371    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
372        IEnumWIA_DEV_INFO *This,
373        REFIID riid,
374        void **ppvObject);
375
376    ULONG (STDMETHODCALLTYPE *AddRef)(
377        IEnumWIA_DEV_INFO *This);
378
379    ULONG (STDMETHODCALLTYPE *Release)(
380        IEnumWIA_DEV_INFO *This);
381
382    /*** IEnumWIA_DEV_INFO methods ***/
383    HRESULT (STDMETHODCALLTYPE *Next)(
384        IEnumWIA_DEV_INFO *This,
385        ULONG celt,
386        IWiaPropertyStorage **rgelt,
387        ULONG *pceltFetched);
388
389    HRESULT (STDMETHODCALLTYPE *Skip)(
390        IEnumWIA_DEV_INFO *This,
391        ULONG celt);
392
393    HRESULT (STDMETHODCALLTYPE *Reset)(
394        IEnumWIA_DEV_INFO *This);
395
396    HRESULT (STDMETHODCALLTYPE *Clone)(
397        IEnumWIA_DEV_INFO *This,
398        IEnumWIA_DEV_INFO **ppIEnum);
399
400    HRESULT (STDMETHODCALLTYPE *GetCount)(
401        IEnumWIA_DEV_INFO *This,
402        ULONG *celt);
403
404    END_INTERFACE
405} IEnumWIA_DEV_INFOVtbl;
406
407interface IEnumWIA_DEV_INFO {
408    CONST_VTBL IEnumWIA_DEV_INFOVtbl* lpVtbl;
409};
410
411#ifdef COBJMACROS
412#ifndef WIDL_C_INLINE_WRAPPERS
413/*** IUnknown methods ***/
414#define IEnumWIA_DEV_INFO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
415#define IEnumWIA_DEV_INFO_AddRef(This) (This)->lpVtbl->AddRef(This)
416#define IEnumWIA_DEV_INFO_Release(This) (This)->lpVtbl->Release(This)
417/*** IEnumWIA_DEV_INFO methods ***/
418#define IEnumWIA_DEV_INFO_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
419#define IEnumWIA_DEV_INFO_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
420#define IEnumWIA_DEV_INFO_Reset(This) (This)->lpVtbl->Reset(This)
421#define IEnumWIA_DEV_INFO_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum)
422#define IEnumWIA_DEV_INFO_GetCount(This,celt) (This)->lpVtbl->GetCount(This,celt)
423#else
424/*** IUnknown methods ***/
425static inline HRESULT IEnumWIA_DEV_INFO_QueryInterface(IEnumWIA_DEV_INFO* This,REFIID riid,void **ppvObject) {
426    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
427}
428static inline ULONG IEnumWIA_DEV_INFO_AddRef(IEnumWIA_DEV_INFO* This) {
429    return This->lpVtbl->AddRef(This);
430}
431static inline ULONG IEnumWIA_DEV_INFO_Release(IEnumWIA_DEV_INFO* This) {
432    return This->lpVtbl->Release(This);
433}
434/*** IEnumWIA_DEV_INFO methods ***/
435static inline HRESULT IEnumWIA_DEV_INFO_Next(IEnumWIA_DEV_INFO* This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched) {
436    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
437}
438static inline HRESULT IEnumWIA_DEV_INFO_Skip(IEnumWIA_DEV_INFO* This,ULONG celt) {
439    return This->lpVtbl->Skip(This,celt);
440}
441static inline HRESULT IEnumWIA_DEV_INFO_Reset(IEnumWIA_DEV_INFO* This) {
442    return This->lpVtbl->Reset(This);
443}
444static inline HRESULT IEnumWIA_DEV_INFO_Clone(IEnumWIA_DEV_INFO* This,IEnumWIA_DEV_INFO **ppIEnum) {
445    return This->lpVtbl->Clone(This,ppIEnum);
446}
447static inline HRESULT IEnumWIA_DEV_INFO_GetCount(IEnumWIA_DEV_INFO* This,ULONG *celt) {
448    return This->lpVtbl->GetCount(This,celt);
449}
450#endif
451#endif
452
453#endif
454
455
456#endif  /* __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ */
457
458/*****************************************************************************
459 * IWiaPropertyStorage interface
460 */
461#ifndef __IWiaPropertyStorage_INTERFACE_DEFINED__
462#define __IWiaPropertyStorage_INTERFACE_DEFINED__
463
464DEFINE_GUID(IID_IWiaPropertyStorage, 0x98b5e8a0, 0x29cc, 0x491a, 0xaa,0xc0, 0xe6,0xdb,0x4f,0xdc,0xce,0xb6);
465#if defined(__cplusplus) && !defined(CINTERFACE)
466MIDL_INTERFACE("98b5e8a0-29cc-491a-aac0-e6db4fdcceb6")
467IWiaPropertyStorage : public IUnknown
468{
469};
470#ifdef __CRT_UUID_DECL
471__CRT_UUID_DECL(IWiaPropertyStorage, 0x98b5e8a0, 0x29cc, 0x491a, 0xaa,0xc0, 0xe6,0xdb,0x4f,0xdc,0xce,0xb6)
472#endif
473#else
474typedef struct IWiaPropertyStorageVtbl {
475    BEGIN_INTERFACE
476
477    /*** IUnknown methods ***/
478    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
479        IWiaPropertyStorage *This,
480        REFIID riid,
481        void **ppvObject);
482
483    ULONG (STDMETHODCALLTYPE *AddRef)(
484        IWiaPropertyStorage *This);
485
486    ULONG (STDMETHODCALLTYPE *Release)(
487        IWiaPropertyStorage *This);
488
489    END_INTERFACE
490} IWiaPropertyStorageVtbl;
491
492interface IWiaPropertyStorage {
493    CONST_VTBL IWiaPropertyStorageVtbl* lpVtbl;
494};
495
496#ifdef COBJMACROS
497#ifndef WIDL_C_INLINE_WRAPPERS
498/*** IUnknown methods ***/
499#define IWiaPropertyStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
500#define IWiaPropertyStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
501#define IWiaPropertyStorage_Release(This) (This)->lpVtbl->Release(This)
502#else
503/*** IUnknown methods ***/
504static inline HRESULT IWiaPropertyStorage_QueryInterface(IWiaPropertyStorage* This,REFIID riid,void **ppvObject) {
505    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
506}
507static inline ULONG IWiaPropertyStorage_AddRef(IWiaPropertyStorage* This) {
508    return This->lpVtbl->AddRef(This);
509}
510static inline ULONG IWiaPropertyStorage_Release(IWiaPropertyStorage* This) {
511    return This->lpVtbl->Release(This);
512}
513#endif
514#endif
515
516#endif
517
518
519#endif  /* __IWiaPropertyStorage_INTERFACE_DEFINED__ */
520
521/*****************************************************************************
522 * IWiaItem interface
523 */
524#ifndef __IWiaItem_INTERFACE_DEFINED__
525#define __IWiaItem_INTERFACE_DEFINED__
526
527DEFINE_GUID(IID_IWiaItem, 0x4db1ad10, 0x3391, 0x11d2, 0x9a,0x33, 0x00,0xc0,0x4f,0xa3,0x61,0x45);
528#if defined(__cplusplus) && !defined(CINTERFACE)
529MIDL_INTERFACE("4db1ad10-3391-11d2-9a33-00c04fa36145")
530IWiaItem : public IUnknown
531{
532};
533#ifdef __CRT_UUID_DECL
534__CRT_UUID_DECL(IWiaItem, 0x4db1ad10, 0x3391, 0x11d2, 0x9a,0x33, 0x00,0xc0,0x4f,0xa3,0x61,0x45)
535#endif
536#else
537typedef struct IWiaItemVtbl {
538    BEGIN_INTERFACE
539
540    /*** IUnknown methods ***/
541    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
542        IWiaItem *This,
543        REFIID riid,
544        void **ppvObject);
545
546    ULONG (STDMETHODCALLTYPE *AddRef)(
547        IWiaItem *This);
548
549    ULONG (STDMETHODCALLTYPE *Release)(
550        IWiaItem *This);
551
552    END_INTERFACE
553} IWiaItemVtbl;
554
555interface IWiaItem {
556    CONST_VTBL IWiaItemVtbl* lpVtbl;
557};
558
559#ifdef COBJMACROS
560#ifndef WIDL_C_INLINE_WRAPPERS
561/*** IUnknown methods ***/
562#define IWiaItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
563#define IWiaItem_AddRef(This) (This)->lpVtbl->AddRef(This)
564#define IWiaItem_Release(This) (This)->lpVtbl->Release(This)
565#else
566/*** IUnknown methods ***/
567static inline HRESULT IWiaItem_QueryInterface(IWiaItem* This,REFIID riid,void **ppvObject) {
568    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
569}
570static inline ULONG IWiaItem_AddRef(IWiaItem* This) {
571    return This->lpVtbl->AddRef(This);
572}
573static inline ULONG IWiaItem_Release(IWiaItem* This) {
574    return This->lpVtbl->Release(This);
575}
576#endif
577#endif
578
579#endif
580
581
582#endif  /* __IWiaItem_INTERFACE_DEFINED__ */
583
584/*****************************************************************************
585 * IWiaEventCallback interface
586 */
587#ifndef __IWiaEventCallback_INTERFACE_DEFINED__
588#define __IWiaEventCallback_INTERFACE_DEFINED__
589
590DEFINE_GUID(IID_IWiaEventCallback, 0xae6287b0, 0x0084, 0x11d2, 0x97,0x3b, 0x00,0xa0,0xc9,0x06,0x8f,0x2e);
591#if defined(__cplusplus) && !defined(CINTERFACE)
592MIDL_INTERFACE("ae6287b0-0084-11d2-973b-00a0c9068f2e")
593IWiaEventCallback : public IUnknown
594{
595    virtual HRESULT STDMETHODCALLTYPE ImageEventCallback(
596        const GUID *pEventGUID,
597        BSTR bstrEventDescription,
598        BSTR bstrDeviceID,
599        BSTR bstrDeviceDescription,
600        DWORD dwDeviceType,
601        BSTR bstrFullItemName,
602        ULONG *pulEventType,
603        ULONG ulReserved) = 0;
604
605};
606#ifdef __CRT_UUID_DECL
607__CRT_UUID_DECL(IWiaEventCallback, 0xae6287b0, 0x0084, 0x11d2, 0x97,0x3b, 0x00,0xa0,0xc9,0x06,0x8f,0x2e)
608#endif
609#else
610typedef struct IWiaEventCallbackVtbl {
611    BEGIN_INTERFACE
612
613    /*** IUnknown methods ***/
614    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
615        IWiaEventCallback *This,
616        REFIID riid,
617        void **ppvObject);
618
619    ULONG (STDMETHODCALLTYPE *AddRef)(
620        IWiaEventCallback *This);
621
622    ULONG (STDMETHODCALLTYPE *Release)(
623        IWiaEventCallback *This);
624
625    /*** IWiaEventCallback methods ***/
626    HRESULT (STDMETHODCALLTYPE *ImageEventCallback)(
627        IWiaEventCallback *This,
628        const GUID *pEventGUID,
629        BSTR bstrEventDescription,
630        BSTR bstrDeviceID,
631        BSTR bstrDeviceDescription,
632        DWORD dwDeviceType,
633        BSTR bstrFullItemName,
634        ULONG *pulEventType,
635        ULONG ulReserved);
636
637    END_INTERFACE
638} IWiaEventCallbackVtbl;
639
640interface IWiaEventCallback {
641    CONST_VTBL IWiaEventCallbackVtbl* lpVtbl;
642};
643
644#ifdef COBJMACROS
645#ifndef WIDL_C_INLINE_WRAPPERS
646/*** IUnknown methods ***/
647#define IWiaEventCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
648#define IWiaEventCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
649#define IWiaEventCallback_Release(This) (This)->lpVtbl->Release(This)
650/*** IWiaEventCallback methods ***/
651#define IWiaEventCallback_ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) (This)->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved)
652#else
653/*** IUnknown methods ***/
654static inline HRESULT IWiaEventCallback_QueryInterface(IWiaEventCallback* This,REFIID riid,void **ppvObject) {
655    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
656}
657static inline ULONG IWiaEventCallback_AddRef(IWiaEventCallback* This) {
658    return This->lpVtbl->AddRef(This);
659}
660static inline ULONG IWiaEventCallback_Release(IWiaEventCallback* This) {
661    return This->lpVtbl->Release(This);
662}
663/*** IWiaEventCallback methods ***/
664static inline HRESULT IWiaEventCallback_ImageEventCallback(IWiaEventCallback* This,const GUID *pEventGUID,BSTR bstrEventDescription,BSTR bstrDeviceID,BSTR bstrDeviceDescription,DWORD dwDeviceType,BSTR bstrFullItemName,ULONG *pulEventType,ULONG ulReserved) {
665    return This->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved);
666}
667#endif
668#endif
669
670#endif
671
672
673#endif  /* __IWiaEventCallback_INTERFACE_DEFINED__ */
674
675/* Begin additional prototypes for all interfaces */
676
677ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
678unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
679unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
680void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
681ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
682unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
683unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
684void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
685
686/* End additional prototypes */
687
688#ifdef __cplusplus
689}
690#endif
691
692#endif /* __wia_xp_h__ */