master
1/*** Autogenerated by WIDL 10.4 from include/wia_lh.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_lh_h__
17#define __wia_lh_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#ifndef __IEnumWIA_DEV_CAPS_FWD_DEFINED__
62#define __IEnumWIA_DEV_CAPS_FWD_DEFINED__
63typedef interface IEnumWIA_DEV_CAPS IEnumWIA_DEV_CAPS;
64#ifdef __cplusplus
65interface IEnumWIA_DEV_CAPS;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IWiaTransferCallback_FWD_DEFINED__
70#define __IWiaTransferCallback_FWD_DEFINED__
71typedef interface IWiaTransferCallback IWiaTransferCallback;
72#ifdef __cplusplus
73interface IWiaTransferCallback;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IWiaPreview_FWD_DEFINED__
78#define __IWiaPreview_FWD_DEFINED__
79typedef interface IWiaPreview IWiaPreview;
80#ifdef __cplusplus
81interface IWiaPreview;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __IEnumWiaItem2_FWD_DEFINED__
86#define __IEnumWiaItem2_FWD_DEFINED__
87typedef interface IEnumWiaItem2 IEnumWiaItem2;
88#ifdef __cplusplus
89interface IEnumWiaItem2;
90#endif /* __cplusplus */
91#endif
92
93#ifndef __IWiaItem2_FWD_DEFINED__
94#define __IWiaItem2_FWD_DEFINED__
95typedef interface IWiaItem2 IWiaItem2;
96#ifdef __cplusplus
97interface IWiaItem2;
98#endif /* __cplusplus */
99#endif
100
101#ifndef __IWiaDevMgr2_FWD_DEFINED__
102#define __IWiaDevMgr2_FWD_DEFINED__
103typedef interface IWiaDevMgr2 IWiaDevMgr2;
104#ifdef __cplusplus
105interface IWiaDevMgr2;
106#endif /* __cplusplus */
107#endif
108
109#ifndef __WiaDevMgr2_FWD_DEFINED__
110#define __WiaDevMgr2_FWD_DEFINED__
111#ifdef __cplusplus
112typedef class WiaDevMgr2 WiaDevMgr2;
113#else
114typedef struct WiaDevMgr2 WiaDevMgr2;
115#endif /* defined __cplusplus */
116#endif /* defined __WiaDevMgr2_FWD_DEFINED__ */
117
118/* Headers for imported files */
119
120#include <unknwn.h>
121#include <oaidl.h>
122#include <propidl.h>
123
124#ifdef __cplusplus
125extern "C" {
126#endif
127
128typedef struct _WIA_DITHER_PATTERN_DATA {
129 LONG lSize;
130 BSTR bstrPatternName;
131 LONG lPatternWidth;
132 LONG lPatternLength;
133 LONG cbPattern;
134 BYTE *pbPattern;
135} WIA_DITHER_PATTERN_DATA;
136typedef struct _WIA_DITHER_PATTERN_DATA *PWIA_DITHER_PATTERN_DATA;
137typedef struct _WIA_PROPID_TO_NAME {
138 PROPID propid;
139 LPOLESTR pszName;
140} WIA_PROPID_TO_NAME;
141typedef struct _WIA_PROPID_TO_NAME *PWIA_PROPID_TO_NAME;
142typedef struct _WIA_FORMAT_INFO {
143 GUID guidFormatID;
144 LONG lTymed;
145} WIA_FORMAT_INFO;
146typedef struct _WIA_FORMAT_INFO *PWIA_FORMAT_INFO;
147#include <wiadef.h>
148#ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__
149#define __IEnumWIA_DEV_INFO_FWD_DEFINED__
150typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO;
151#ifdef __cplusplus
152interface IEnumWIA_DEV_INFO;
153#endif /* __cplusplus */
154#endif
155
156#ifndef __IWiaPropertyStorage_FWD_DEFINED__
157#define __IWiaPropertyStorage_FWD_DEFINED__
158typedef interface IWiaPropertyStorage IWiaPropertyStorage;
159#ifdef __cplusplus
160interface IWiaPropertyStorage;
161#endif /* __cplusplus */
162#endif
163
164#ifndef __IWiaItem_FWD_DEFINED__
165#define __IWiaItem_FWD_DEFINED__
166typedef interface IWiaItem IWiaItem;
167#ifdef __cplusplus
168interface IWiaItem;
169#endif /* __cplusplus */
170#endif
171
172#ifndef __IWiaEventCallback_FWD_DEFINED__
173#define __IWiaEventCallback_FWD_DEFINED__
174typedef interface IWiaEventCallback IWiaEventCallback;
175#ifdef __cplusplus
176interface IWiaEventCallback;
177#endif /* __cplusplus */
178#endif
179
180#ifndef __IEnumWIA_DEV_CAPS_FWD_DEFINED__
181#define __IEnumWIA_DEV_CAPS_FWD_DEFINED__
182typedef interface IEnumWIA_DEV_CAPS IEnumWIA_DEV_CAPS;
183#ifdef __cplusplus
184interface IEnumWIA_DEV_CAPS;
185#endif /* __cplusplus */
186#endif
187
188#ifndef __IWiaTransferCallback_FWD_DEFINED__
189#define __IWiaTransferCallback_FWD_DEFINED__
190typedef interface IWiaTransferCallback IWiaTransferCallback;
191#ifdef __cplusplus
192interface IWiaTransferCallback;
193#endif /* __cplusplus */
194#endif
195
196#ifndef __IWiaPreview_FWD_DEFINED__
197#define __IWiaPreview_FWD_DEFINED__
198typedef interface IWiaPreview IWiaPreview;
199#ifdef __cplusplus
200interface IWiaPreview;
201#endif /* __cplusplus */
202#endif
203
204#ifndef __IEnumWiaItem2_FWD_DEFINED__
205#define __IEnumWiaItem2_FWD_DEFINED__
206typedef interface IEnumWiaItem2 IEnumWiaItem2;
207#ifdef __cplusplus
208interface IEnumWiaItem2;
209#endif /* __cplusplus */
210#endif
211
212#ifndef __IWiaItem2_FWD_DEFINED__
213#define __IWiaItem2_FWD_DEFINED__
214typedef interface IWiaItem2 IWiaItem2;
215#ifdef __cplusplus
216interface IWiaItem2;
217#endif /* __cplusplus */
218#endif
219
220#ifndef __IWiaDevMgr2_FWD_DEFINED__
221#define __IWiaDevMgr2_FWD_DEFINED__
222typedef interface IWiaDevMgr2 IWiaDevMgr2;
223#ifdef __cplusplus
224interface IWiaDevMgr2;
225#endif /* __cplusplus */
226#endif
227
228DEFINE_GUID(CLSID_WiaDevMgr, 0xa1f4e726,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11);
229/*****************************************************************************
230 * IWiaDevMgr interface
231 */
232#ifndef __IWiaDevMgr_INTERFACE_DEFINED__
233#define __IWiaDevMgr_INTERFACE_DEFINED__
234
235DEFINE_GUID(IID_IWiaDevMgr, 0x5eb2502a, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11);
236#if defined(__cplusplus) && !defined(CINTERFACE)
237MIDL_INTERFACE("5eb2502a-8cf1-11d1-bf92-0060081ed811")
238IWiaDevMgr : public IUnknown
239{
240 virtual HRESULT STDMETHODCALLTYPE EnumDeviceInfo(
241 LONG lFlag,
242 IEnumWIA_DEV_INFO **ppIEnum) = 0;
243
244 virtual HRESULT STDMETHODCALLTYPE CreateDevice(
245 BSTR bstrDeviceID,
246 IWiaItem **ppWiaItemRoot) = 0;
247
248 virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlg(
249 HWND hwndParent,
250 LONG lDeviceType,
251 LONG lFlags,
252 BSTR *pbstrDeviceID,
253 IWiaItem **ppItemRoot) = 0;
254
255 virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlgID(
256 HWND hwndParent,
257 LONG lDeviceType,
258 LONG lFlags,
259 BSTR *pbstrDeviceID) = 0;
260
261 virtual HRESULT STDMETHODCALLTYPE GetImageDlg(
262 HWND hwndParent,
263 LONG lDeviceType,
264 LONG lFlags,
265 LONG lIntent,
266 IWiaItem *pItemRoot,
267 BSTR bstrFilename,
268 GUID *pguidFormat) = 0;
269
270 virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackProgram(
271 LONG lFlags,
272 BSTR bstrDeviceID,
273 const GUID *pEventGUID,
274 BSTR bstrCommandline,
275 BSTR bstrName,
276 BSTR bstrDescription,
277 BSTR bstrIcon) = 0;
278
279 virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackInterface(
280 LONG lFlags,
281 BSTR bstrDeviceID,
282 const GUID *pEventGUID,
283 IWiaEventCallback *pIWiaEventCallback,
284 IUnknown **pEventObject) = 0;
285
286 virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackCLSID(
287 LONG lFlags,
288 BSTR bstrDeviceID,
289 const GUID *pEventGUID,
290 const GUID *pClsID,
291 BSTR bstrName,
292 BSTR bstrDescription,
293 BSTR bstrIcon) = 0;
294
295 virtual HRESULT STDMETHODCALLTYPE AddDeviceDlg(
296 HWND hwndParent,
297 LONG lFlags) = 0;
298
299};
300#ifdef __CRT_UUID_DECL
301__CRT_UUID_DECL(IWiaDevMgr, 0x5eb2502a, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11)
302#endif
303#else
304typedef struct IWiaDevMgrVtbl {
305 BEGIN_INTERFACE
306
307 /*** IUnknown methods ***/
308 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
309 IWiaDevMgr *This,
310 REFIID riid,
311 void **ppvObject);
312
313 ULONG (STDMETHODCALLTYPE *AddRef)(
314 IWiaDevMgr *This);
315
316 ULONG (STDMETHODCALLTYPE *Release)(
317 IWiaDevMgr *This);
318
319 /*** IWiaDevMgr methods ***/
320 HRESULT (STDMETHODCALLTYPE *EnumDeviceInfo)(
321 IWiaDevMgr *This,
322 LONG lFlag,
323 IEnumWIA_DEV_INFO **ppIEnum);
324
325 HRESULT (STDMETHODCALLTYPE *CreateDevice)(
326 IWiaDevMgr *This,
327 BSTR bstrDeviceID,
328 IWiaItem **ppWiaItemRoot);
329
330 HRESULT (STDMETHODCALLTYPE *SelectDeviceDlg)(
331 IWiaDevMgr *This,
332 HWND hwndParent,
333 LONG lDeviceType,
334 LONG lFlags,
335 BSTR *pbstrDeviceID,
336 IWiaItem **ppItemRoot);
337
338 HRESULT (STDMETHODCALLTYPE *SelectDeviceDlgID)(
339 IWiaDevMgr *This,
340 HWND hwndParent,
341 LONG lDeviceType,
342 LONG lFlags,
343 BSTR *pbstrDeviceID);
344
345 HRESULT (STDMETHODCALLTYPE *GetImageDlg)(
346 IWiaDevMgr *This,
347 HWND hwndParent,
348 LONG lDeviceType,
349 LONG lFlags,
350 LONG lIntent,
351 IWiaItem *pItemRoot,
352 BSTR bstrFilename,
353 GUID *pguidFormat);
354
355 HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackProgram)(
356 IWiaDevMgr *This,
357 LONG lFlags,
358 BSTR bstrDeviceID,
359 const GUID *pEventGUID,
360 BSTR bstrCommandline,
361 BSTR bstrName,
362 BSTR bstrDescription,
363 BSTR bstrIcon);
364
365 HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackInterface)(
366 IWiaDevMgr *This,
367 LONG lFlags,
368 BSTR bstrDeviceID,
369 const GUID *pEventGUID,
370 IWiaEventCallback *pIWiaEventCallback,
371 IUnknown **pEventObject);
372
373 HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackCLSID)(
374 IWiaDevMgr *This,
375 LONG lFlags,
376 BSTR bstrDeviceID,
377 const GUID *pEventGUID,
378 const GUID *pClsID,
379 BSTR bstrName,
380 BSTR bstrDescription,
381 BSTR bstrIcon);
382
383 HRESULT (STDMETHODCALLTYPE *AddDeviceDlg)(
384 IWiaDevMgr *This,
385 HWND hwndParent,
386 LONG lFlags);
387
388 END_INTERFACE
389} IWiaDevMgrVtbl;
390
391interface IWiaDevMgr {
392 CONST_VTBL IWiaDevMgrVtbl* lpVtbl;
393};
394
395#ifdef COBJMACROS
396#ifndef WIDL_C_INLINE_WRAPPERS
397/*** IUnknown methods ***/
398#define IWiaDevMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
399#define IWiaDevMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
400#define IWiaDevMgr_Release(This) (This)->lpVtbl->Release(This)
401/*** IWiaDevMgr methods ***/
402#define IWiaDevMgr_EnumDeviceInfo(This,lFlag,ppIEnum) (This)->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum)
403#define IWiaDevMgr_CreateDevice(This,bstrDeviceID,ppWiaItemRoot) (This)->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot)
404#define IWiaDevMgr_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) (This)->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot)
405#define IWiaDevMgr_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) (This)->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID)
406#define IWiaDevMgr_GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) (This)->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat)
407#define IWiaDevMgr_RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon)
408#define IWiaDevMgr_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) (This)->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject)
409#define IWiaDevMgr_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon)
410#define IWiaDevMgr_AddDeviceDlg(This,hwndParent,lFlags) (This)->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags)
411#else
412/*** IUnknown methods ***/
413static inline HRESULT IWiaDevMgr_QueryInterface(IWiaDevMgr* This,REFIID riid,void **ppvObject) {
414 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
415}
416static inline ULONG IWiaDevMgr_AddRef(IWiaDevMgr* This) {
417 return This->lpVtbl->AddRef(This);
418}
419static inline ULONG IWiaDevMgr_Release(IWiaDevMgr* This) {
420 return This->lpVtbl->Release(This);
421}
422/*** IWiaDevMgr methods ***/
423static inline HRESULT IWiaDevMgr_EnumDeviceInfo(IWiaDevMgr* This,LONG lFlag,IEnumWIA_DEV_INFO **ppIEnum) {
424 return This->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum);
425}
426static inline HRESULT IWiaDevMgr_CreateDevice(IWiaDevMgr* This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot) {
427 return This->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot);
428}
429static inline HRESULT IWiaDevMgr_SelectDeviceDlg(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot) {
430 return This->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot);
431}
432static inline HRESULT IWiaDevMgr_SelectDeviceDlgID(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID) {
433 return This->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID);
434}
435static inline HRESULT IWiaDevMgr_GetImageDlg(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat) {
436 return This->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat);
437}
438static inline HRESULT IWiaDevMgr_RegisterEventCallbackProgram(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) {
439 return This->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon);
440}
441static inline HRESULT IWiaDevMgr_RegisterEventCallbackInterface(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject) {
442 return This->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject);
443}
444static inline HRESULT IWiaDevMgr_RegisterEventCallbackCLSID(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) {
445 return This->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon);
446}
447static inline HRESULT IWiaDevMgr_AddDeviceDlg(IWiaDevMgr* This,HWND hwndParent,LONG lFlags) {
448 return This->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags);
449}
450#endif
451#endif
452
453#endif
454
455
456#endif /* __IWiaDevMgr_INTERFACE_DEFINED__ */
457
458/*****************************************************************************
459 * IEnumWIA_DEV_INFO interface
460 */
461#ifndef __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__
462#define __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__
463
464DEFINE_GUID(IID_IEnumWIA_DEV_INFO, 0x5e38b83c, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11);
465#if defined(__cplusplus) && !defined(CINTERFACE)
466MIDL_INTERFACE("5e38b83c-8cf1-11d1-bf92-0060081ed811")
467IEnumWIA_DEV_INFO : public IUnknown
468{
469 virtual HRESULT STDMETHODCALLTYPE Next(
470 ULONG celt,
471 IWiaPropertyStorage **rgelt,
472 ULONG *pceltFetched) = 0;
473
474 virtual HRESULT STDMETHODCALLTYPE Skip(
475 ULONG celt) = 0;
476
477 virtual HRESULT STDMETHODCALLTYPE Reset(
478 ) = 0;
479
480 virtual HRESULT STDMETHODCALLTYPE Clone(
481 IEnumWIA_DEV_INFO **ppIEnum) = 0;
482
483 virtual HRESULT STDMETHODCALLTYPE GetCount(
484 ULONG *celt) = 0;
485
486};
487#ifdef __CRT_UUID_DECL
488__CRT_UUID_DECL(IEnumWIA_DEV_INFO, 0x5e38b83c, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11)
489#endif
490#else
491typedef struct IEnumWIA_DEV_INFOVtbl {
492 BEGIN_INTERFACE
493
494 /*** IUnknown methods ***/
495 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
496 IEnumWIA_DEV_INFO *This,
497 REFIID riid,
498 void **ppvObject);
499
500 ULONG (STDMETHODCALLTYPE *AddRef)(
501 IEnumWIA_DEV_INFO *This);
502
503 ULONG (STDMETHODCALLTYPE *Release)(
504 IEnumWIA_DEV_INFO *This);
505
506 /*** IEnumWIA_DEV_INFO methods ***/
507 HRESULT (STDMETHODCALLTYPE *Next)(
508 IEnumWIA_DEV_INFO *This,
509 ULONG celt,
510 IWiaPropertyStorage **rgelt,
511 ULONG *pceltFetched);
512
513 HRESULT (STDMETHODCALLTYPE *Skip)(
514 IEnumWIA_DEV_INFO *This,
515 ULONG celt);
516
517 HRESULT (STDMETHODCALLTYPE *Reset)(
518 IEnumWIA_DEV_INFO *This);
519
520 HRESULT (STDMETHODCALLTYPE *Clone)(
521 IEnumWIA_DEV_INFO *This,
522 IEnumWIA_DEV_INFO **ppIEnum);
523
524 HRESULT (STDMETHODCALLTYPE *GetCount)(
525 IEnumWIA_DEV_INFO *This,
526 ULONG *celt);
527
528 END_INTERFACE
529} IEnumWIA_DEV_INFOVtbl;
530
531interface IEnumWIA_DEV_INFO {
532 CONST_VTBL IEnumWIA_DEV_INFOVtbl* lpVtbl;
533};
534
535#ifdef COBJMACROS
536#ifndef WIDL_C_INLINE_WRAPPERS
537/*** IUnknown methods ***/
538#define IEnumWIA_DEV_INFO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
539#define IEnumWIA_DEV_INFO_AddRef(This) (This)->lpVtbl->AddRef(This)
540#define IEnumWIA_DEV_INFO_Release(This) (This)->lpVtbl->Release(This)
541/*** IEnumWIA_DEV_INFO methods ***/
542#define IEnumWIA_DEV_INFO_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
543#define IEnumWIA_DEV_INFO_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
544#define IEnumWIA_DEV_INFO_Reset(This) (This)->lpVtbl->Reset(This)
545#define IEnumWIA_DEV_INFO_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum)
546#define IEnumWIA_DEV_INFO_GetCount(This,celt) (This)->lpVtbl->GetCount(This,celt)
547#else
548/*** IUnknown methods ***/
549static inline HRESULT IEnumWIA_DEV_INFO_QueryInterface(IEnumWIA_DEV_INFO* This,REFIID riid,void **ppvObject) {
550 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
551}
552static inline ULONG IEnumWIA_DEV_INFO_AddRef(IEnumWIA_DEV_INFO* This) {
553 return This->lpVtbl->AddRef(This);
554}
555static inline ULONG IEnumWIA_DEV_INFO_Release(IEnumWIA_DEV_INFO* This) {
556 return This->lpVtbl->Release(This);
557}
558/*** IEnumWIA_DEV_INFO methods ***/
559static inline HRESULT IEnumWIA_DEV_INFO_Next(IEnumWIA_DEV_INFO* This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched) {
560 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
561}
562static inline HRESULT IEnumWIA_DEV_INFO_Skip(IEnumWIA_DEV_INFO* This,ULONG celt) {
563 return This->lpVtbl->Skip(This,celt);
564}
565static inline HRESULT IEnumWIA_DEV_INFO_Reset(IEnumWIA_DEV_INFO* This) {
566 return This->lpVtbl->Reset(This);
567}
568static inline HRESULT IEnumWIA_DEV_INFO_Clone(IEnumWIA_DEV_INFO* This,IEnumWIA_DEV_INFO **ppIEnum) {
569 return This->lpVtbl->Clone(This,ppIEnum);
570}
571static inline HRESULT IEnumWIA_DEV_INFO_GetCount(IEnumWIA_DEV_INFO* This,ULONG *celt) {
572 return This->lpVtbl->GetCount(This,celt);
573}
574#endif
575#endif
576
577#endif
578
579
580#endif /* __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ */
581
582/*****************************************************************************
583 * IWiaPropertyStorage interface
584 */
585#ifndef __IWiaPropertyStorage_INTERFACE_DEFINED__
586#define __IWiaPropertyStorage_INTERFACE_DEFINED__
587
588DEFINE_GUID(IID_IWiaPropertyStorage, 0x98b5e8a0, 0x29cc, 0x491a, 0xaa,0xc0, 0xe6,0xdb,0x4f,0xdc,0xce,0xb6);
589#if defined(__cplusplus) && !defined(CINTERFACE)
590MIDL_INTERFACE("98b5e8a0-29cc-491a-aac0-e6db4fdcceb6")
591IWiaPropertyStorage : public IUnknown
592{
593};
594#ifdef __CRT_UUID_DECL
595__CRT_UUID_DECL(IWiaPropertyStorage, 0x98b5e8a0, 0x29cc, 0x491a, 0xaa,0xc0, 0xe6,0xdb,0x4f,0xdc,0xce,0xb6)
596#endif
597#else
598typedef struct IWiaPropertyStorageVtbl {
599 BEGIN_INTERFACE
600
601 /*** IUnknown methods ***/
602 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
603 IWiaPropertyStorage *This,
604 REFIID riid,
605 void **ppvObject);
606
607 ULONG (STDMETHODCALLTYPE *AddRef)(
608 IWiaPropertyStorage *This);
609
610 ULONG (STDMETHODCALLTYPE *Release)(
611 IWiaPropertyStorage *This);
612
613 END_INTERFACE
614} IWiaPropertyStorageVtbl;
615
616interface IWiaPropertyStorage {
617 CONST_VTBL IWiaPropertyStorageVtbl* lpVtbl;
618};
619
620#ifdef COBJMACROS
621#ifndef WIDL_C_INLINE_WRAPPERS
622/*** IUnknown methods ***/
623#define IWiaPropertyStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
624#define IWiaPropertyStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
625#define IWiaPropertyStorage_Release(This) (This)->lpVtbl->Release(This)
626#else
627/*** IUnknown methods ***/
628static inline HRESULT IWiaPropertyStorage_QueryInterface(IWiaPropertyStorage* This,REFIID riid,void **ppvObject) {
629 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
630}
631static inline ULONG IWiaPropertyStorage_AddRef(IWiaPropertyStorage* This) {
632 return This->lpVtbl->AddRef(This);
633}
634static inline ULONG IWiaPropertyStorage_Release(IWiaPropertyStorage* This) {
635 return This->lpVtbl->Release(This);
636}
637#endif
638#endif
639
640#endif
641
642
643#endif /* __IWiaPropertyStorage_INTERFACE_DEFINED__ */
644
645/*****************************************************************************
646 * IWiaItem interface
647 */
648#ifndef __IWiaItem_INTERFACE_DEFINED__
649#define __IWiaItem_INTERFACE_DEFINED__
650
651DEFINE_GUID(IID_IWiaItem, 0x4db1ad10, 0x3391, 0x11d2, 0x9a,0x33, 0x00,0xc0,0x4f,0xa3,0x61,0x45);
652#if defined(__cplusplus) && !defined(CINTERFACE)
653MIDL_INTERFACE("4db1ad10-3391-11d2-9a33-00c04fa36145")
654IWiaItem : public IUnknown
655{
656};
657#ifdef __CRT_UUID_DECL
658__CRT_UUID_DECL(IWiaItem, 0x4db1ad10, 0x3391, 0x11d2, 0x9a,0x33, 0x00,0xc0,0x4f,0xa3,0x61,0x45)
659#endif
660#else
661typedef struct IWiaItemVtbl {
662 BEGIN_INTERFACE
663
664 /*** IUnknown methods ***/
665 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
666 IWiaItem *This,
667 REFIID riid,
668 void **ppvObject);
669
670 ULONG (STDMETHODCALLTYPE *AddRef)(
671 IWiaItem *This);
672
673 ULONG (STDMETHODCALLTYPE *Release)(
674 IWiaItem *This);
675
676 END_INTERFACE
677} IWiaItemVtbl;
678
679interface IWiaItem {
680 CONST_VTBL IWiaItemVtbl* lpVtbl;
681};
682
683#ifdef COBJMACROS
684#ifndef WIDL_C_INLINE_WRAPPERS
685/*** IUnknown methods ***/
686#define IWiaItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
687#define IWiaItem_AddRef(This) (This)->lpVtbl->AddRef(This)
688#define IWiaItem_Release(This) (This)->lpVtbl->Release(This)
689#else
690/*** IUnknown methods ***/
691static inline HRESULT IWiaItem_QueryInterface(IWiaItem* This,REFIID riid,void **ppvObject) {
692 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
693}
694static inline ULONG IWiaItem_AddRef(IWiaItem* This) {
695 return This->lpVtbl->AddRef(This);
696}
697static inline ULONG IWiaItem_Release(IWiaItem* This) {
698 return This->lpVtbl->Release(This);
699}
700#endif
701#endif
702
703#endif
704
705
706#endif /* __IWiaItem_INTERFACE_DEFINED__ */
707
708/*****************************************************************************
709 * IWiaEventCallback interface
710 */
711#ifndef __IWiaEventCallback_INTERFACE_DEFINED__
712#define __IWiaEventCallback_INTERFACE_DEFINED__
713
714DEFINE_GUID(IID_IWiaEventCallback, 0xae6287b0, 0x0084, 0x11d2, 0x97,0x3b, 0x00,0xa0,0xc9,0x06,0x8f,0x2e);
715#if defined(__cplusplus) && !defined(CINTERFACE)
716MIDL_INTERFACE("ae6287b0-0084-11d2-973b-00a0c9068f2e")
717IWiaEventCallback : public IUnknown
718{
719 virtual HRESULT STDMETHODCALLTYPE ImageEventCallback(
720 const GUID *pEventGUID,
721 BSTR bstrEventDescription,
722 BSTR bstrDeviceID,
723 BSTR bstrDeviceDescription,
724 DWORD dwDeviceType,
725 BSTR bstrFullItemName,
726 ULONG *pulEventType,
727 ULONG ulReserved) = 0;
728
729};
730#ifdef __CRT_UUID_DECL
731__CRT_UUID_DECL(IWiaEventCallback, 0xae6287b0, 0x0084, 0x11d2, 0x97,0x3b, 0x00,0xa0,0xc9,0x06,0x8f,0x2e)
732#endif
733#else
734typedef struct IWiaEventCallbackVtbl {
735 BEGIN_INTERFACE
736
737 /*** IUnknown methods ***/
738 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
739 IWiaEventCallback *This,
740 REFIID riid,
741 void **ppvObject);
742
743 ULONG (STDMETHODCALLTYPE *AddRef)(
744 IWiaEventCallback *This);
745
746 ULONG (STDMETHODCALLTYPE *Release)(
747 IWiaEventCallback *This);
748
749 /*** IWiaEventCallback methods ***/
750 HRESULT (STDMETHODCALLTYPE *ImageEventCallback)(
751 IWiaEventCallback *This,
752 const GUID *pEventGUID,
753 BSTR bstrEventDescription,
754 BSTR bstrDeviceID,
755 BSTR bstrDeviceDescription,
756 DWORD dwDeviceType,
757 BSTR bstrFullItemName,
758 ULONG *pulEventType,
759 ULONG ulReserved);
760
761 END_INTERFACE
762} IWiaEventCallbackVtbl;
763
764interface IWiaEventCallback {
765 CONST_VTBL IWiaEventCallbackVtbl* lpVtbl;
766};
767
768#ifdef COBJMACROS
769#ifndef WIDL_C_INLINE_WRAPPERS
770/*** IUnknown methods ***/
771#define IWiaEventCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
772#define IWiaEventCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
773#define IWiaEventCallback_Release(This) (This)->lpVtbl->Release(This)
774/*** IWiaEventCallback methods ***/
775#define IWiaEventCallback_ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) (This)->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved)
776#else
777/*** IUnknown methods ***/
778static inline HRESULT IWiaEventCallback_QueryInterface(IWiaEventCallback* This,REFIID riid,void **ppvObject) {
779 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
780}
781static inline ULONG IWiaEventCallback_AddRef(IWiaEventCallback* This) {
782 return This->lpVtbl->AddRef(This);
783}
784static inline ULONG IWiaEventCallback_Release(IWiaEventCallback* This) {
785 return This->lpVtbl->Release(This);
786}
787/*** IWiaEventCallback methods ***/
788static inline HRESULT IWiaEventCallback_ImageEventCallback(IWiaEventCallback* This,const GUID *pEventGUID,BSTR bstrEventDescription,BSTR bstrDeviceID,BSTR bstrDeviceDescription,DWORD dwDeviceType,BSTR bstrFullItemName,ULONG *pulEventType,ULONG ulReserved) {
789 return This->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved);
790}
791#endif
792#endif
793
794#endif
795
796
797#endif /* __IWiaEventCallback_INTERFACE_DEFINED__ */
798
799typedef struct _WIA_DEV_CAP {
800 GUID guid;
801 ULONG ulFlags;
802 BSTR bstrName;
803 BSTR bstrDescription;
804 BSTR bstrIcon;
805 BSTR bstrCommandline;
806} WIA_DEV_CAP;
807typedef struct _WIA_DEV_CAP *PWIA_DEV_CAP;
808typedef struct _WIA_DEV_CAP WIA_EVENT_HANDLER;
809typedef struct _WIA_DEV_CAP *PWIA_EVENT_HANDLER;
810/*****************************************************************************
811 * IEnumWIA_DEV_CAPS interface
812 */
813#ifndef __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__
814#define __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__
815
816DEFINE_GUID(IID_IEnumWIA_DEV_CAPS, 0x1fcc4287, 0xaca6, 0x11d2, 0xa0,0x93, 0x00,0xc0,0x4f,0x72,0xdc,0x3c);
817#if defined(__cplusplus) && !defined(CINTERFACE)
818MIDL_INTERFACE("1fcc4287-aca6-11d2-a093-00c04f72dc3c")
819IEnumWIA_DEV_CAPS : public IUnknown
820{
821 virtual HRESULT STDMETHODCALLTYPE Next(
822 ULONG celt,
823 WIA_DEV_CAP *rgelt,
824 ULONG *pceltFetched) = 0;
825
826 virtual HRESULT STDMETHODCALLTYPE Skip(
827 ULONG celt) = 0;
828
829 virtual HRESULT STDMETHODCALLTYPE Reset(
830 ) = 0;
831
832 virtual HRESULT STDMETHODCALLTYPE Clone(
833 IEnumWIA_DEV_CAPS **ppIEnum) = 0;
834
835 virtual HRESULT STDMETHODCALLTYPE GetCount(
836 ULONG *pcelt) = 0;
837
838};
839#ifdef __CRT_UUID_DECL
840__CRT_UUID_DECL(IEnumWIA_DEV_CAPS, 0x1fcc4287, 0xaca6, 0x11d2, 0xa0,0x93, 0x00,0xc0,0x4f,0x72,0xdc,0x3c)
841#endif
842#else
843typedef struct IEnumWIA_DEV_CAPSVtbl {
844 BEGIN_INTERFACE
845
846 /*** IUnknown methods ***/
847 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
848 IEnumWIA_DEV_CAPS *This,
849 REFIID riid,
850 void **ppvObject);
851
852 ULONG (STDMETHODCALLTYPE *AddRef)(
853 IEnumWIA_DEV_CAPS *This);
854
855 ULONG (STDMETHODCALLTYPE *Release)(
856 IEnumWIA_DEV_CAPS *This);
857
858 /*** IEnumWIA_DEV_CAPS methods ***/
859 HRESULT (STDMETHODCALLTYPE *Next)(
860 IEnumWIA_DEV_CAPS *This,
861 ULONG celt,
862 WIA_DEV_CAP *rgelt,
863 ULONG *pceltFetched);
864
865 HRESULT (STDMETHODCALLTYPE *Skip)(
866 IEnumWIA_DEV_CAPS *This,
867 ULONG celt);
868
869 HRESULT (STDMETHODCALLTYPE *Reset)(
870 IEnumWIA_DEV_CAPS *This);
871
872 HRESULT (STDMETHODCALLTYPE *Clone)(
873 IEnumWIA_DEV_CAPS *This,
874 IEnumWIA_DEV_CAPS **ppIEnum);
875
876 HRESULT (STDMETHODCALLTYPE *GetCount)(
877 IEnumWIA_DEV_CAPS *This,
878 ULONG *pcelt);
879
880 END_INTERFACE
881} IEnumWIA_DEV_CAPSVtbl;
882
883interface IEnumWIA_DEV_CAPS {
884 CONST_VTBL IEnumWIA_DEV_CAPSVtbl* lpVtbl;
885};
886
887#ifdef COBJMACROS
888#ifndef WIDL_C_INLINE_WRAPPERS
889/*** IUnknown methods ***/
890#define IEnumWIA_DEV_CAPS_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
891#define IEnumWIA_DEV_CAPS_AddRef(This) (This)->lpVtbl->AddRef(This)
892#define IEnumWIA_DEV_CAPS_Release(This) (This)->lpVtbl->Release(This)
893/*** IEnumWIA_DEV_CAPS methods ***/
894#define IEnumWIA_DEV_CAPS_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
895#define IEnumWIA_DEV_CAPS_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
896#define IEnumWIA_DEV_CAPS_Reset(This) (This)->lpVtbl->Reset(This)
897#define IEnumWIA_DEV_CAPS_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum)
898#define IEnumWIA_DEV_CAPS_GetCount(This,pcelt) (This)->lpVtbl->GetCount(This,pcelt)
899#else
900/*** IUnknown methods ***/
901static inline HRESULT IEnumWIA_DEV_CAPS_QueryInterface(IEnumWIA_DEV_CAPS* This,REFIID riid,void **ppvObject) {
902 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
903}
904static inline ULONG IEnumWIA_DEV_CAPS_AddRef(IEnumWIA_DEV_CAPS* This) {
905 return This->lpVtbl->AddRef(This);
906}
907static inline ULONG IEnumWIA_DEV_CAPS_Release(IEnumWIA_DEV_CAPS* This) {
908 return This->lpVtbl->Release(This);
909}
910/*** IEnumWIA_DEV_CAPS methods ***/
911static inline HRESULT IEnumWIA_DEV_CAPS_Next(IEnumWIA_DEV_CAPS* This,ULONG celt,WIA_DEV_CAP *rgelt,ULONG *pceltFetched) {
912 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
913}
914static inline HRESULT IEnumWIA_DEV_CAPS_Skip(IEnumWIA_DEV_CAPS* This,ULONG celt) {
915 return This->lpVtbl->Skip(This,celt);
916}
917static inline HRESULT IEnumWIA_DEV_CAPS_Reset(IEnumWIA_DEV_CAPS* This) {
918 return This->lpVtbl->Reset(This);
919}
920static inline HRESULT IEnumWIA_DEV_CAPS_Clone(IEnumWIA_DEV_CAPS* This,IEnumWIA_DEV_CAPS **ppIEnum) {
921 return This->lpVtbl->Clone(This,ppIEnum);
922}
923static inline HRESULT IEnumWIA_DEV_CAPS_GetCount(IEnumWIA_DEV_CAPS* This,ULONG *pcelt) {
924 return This->lpVtbl->GetCount(This,pcelt);
925}
926#endif
927#endif
928
929#endif
930
931
932#endif /* __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__ */
933
934typedef struct _WiaTransferParams {
935 LONG lMessage;
936 LONG lPercentComplete;
937 ULONG64 ulTransferredBytes;
938 HRESULT hrErrorStatus;
939} WiaTransferParams;
940/*****************************************************************************
941 * IWiaTransferCallback interface
942 */
943#ifndef __IWiaTransferCallback_INTERFACE_DEFINED__
944#define __IWiaTransferCallback_INTERFACE_DEFINED__
945
946DEFINE_GUID(IID_IWiaTransferCallback, 0x27d4eaaf, 0x28a6, 0x4ca5, 0x9a,0xab, 0xe6,0x78,0x16,0x8b,0x95,0x27);
947#if defined(__cplusplus) && !defined(CINTERFACE)
948MIDL_INTERFACE("27d4eaaf-28a6-4ca5-9aab-e678168b9527")
949IWiaTransferCallback : public IUnknown
950{
951 virtual HRESULT STDMETHODCALLTYPE TransferCallback(
952 LONG lFlags,
953 WiaTransferParams *pWiaTransferParams) = 0;
954
955 virtual HRESULT STDMETHODCALLTYPE GetNextStream(
956 LONG lFlags,
957 BSTR bstrItemName,
958 BSTR bstrFullItemName,
959 IStream **ppDestination) = 0;
960
961};
962#ifdef __CRT_UUID_DECL
963__CRT_UUID_DECL(IWiaTransferCallback, 0x27d4eaaf, 0x28a6, 0x4ca5, 0x9a,0xab, 0xe6,0x78,0x16,0x8b,0x95,0x27)
964#endif
965#else
966typedef struct IWiaTransferCallbackVtbl {
967 BEGIN_INTERFACE
968
969 /*** IUnknown methods ***/
970 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
971 IWiaTransferCallback *This,
972 REFIID riid,
973 void **ppvObject);
974
975 ULONG (STDMETHODCALLTYPE *AddRef)(
976 IWiaTransferCallback *This);
977
978 ULONG (STDMETHODCALLTYPE *Release)(
979 IWiaTransferCallback *This);
980
981 /*** IWiaTransferCallback methods ***/
982 HRESULT (STDMETHODCALLTYPE *TransferCallback)(
983 IWiaTransferCallback *This,
984 LONG lFlags,
985 WiaTransferParams *pWiaTransferParams);
986
987 HRESULT (STDMETHODCALLTYPE *GetNextStream)(
988 IWiaTransferCallback *This,
989 LONG lFlags,
990 BSTR bstrItemName,
991 BSTR bstrFullItemName,
992 IStream **ppDestination);
993
994 END_INTERFACE
995} IWiaTransferCallbackVtbl;
996
997interface IWiaTransferCallback {
998 CONST_VTBL IWiaTransferCallbackVtbl* lpVtbl;
999};
1000
1001#ifdef COBJMACROS
1002#ifndef WIDL_C_INLINE_WRAPPERS
1003/*** IUnknown methods ***/
1004#define IWiaTransferCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1005#define IWiaTransferCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
1006#define IWiaTransferCallback_Release(This) (This)->lpVtbl->Release(This)
1007/*** IWiaTransferCallback methods ***/
1008#define IWiaTransferCallback_TransferCallback(This,lFlags,pWiaTransferParams) (This)->lpVtbl->TransferCallback(This,lFlags,pWiaTransferParams)
1009#define IWiaTransferCallback_GetNextStream(This,lFlags,bstrItemName,bstrFullItemName,ppDestination) (This)->lpVtbl->GetNextStream(This,lFlags,bstrItemName,bstrFullItemName,ppDestination)
1010#else
1011/*** IUnknown methods ***/
1012static inline HRESULT IWiaTransferCallback_QueryInterface(IWiaTransferCallback* This,REFIID riid,void **ppvObject) {
1013 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1014}
1015static inline ULONG IWiaTransferCallback_AddRef(IWiaTransferCallback* This) {
1016 return This->lpVtbl->AddRef(This);
1017}
1018static inline ULONG IWiaTransferCallback_Release(IWiaTransferCallback* This) {
1019 return This->lpVtbl->Release(This);
1020}
1021/*** IWiaTransferCallback methods ***/
1022static inline HRESULT IWiaTransferCallback_TransferCallback(IWiaTransferCallback* This,LONG lFlags,WiaTransferParams *pWiaTransferParams) {
1023 return This->lpVtbl->TransferCallback(This,lFlags,pWiaTransferParams);
1024}
1025static inline HRESULT IWiaTransferCallback_GetNextStream(IWiaTransferCallback* This,LONG lFlags,BSTR bstrItemName,BSTR bstrFullItemName,IStream **ppDestination) {
1026 return This->lpVtbl->GetNextStream(This,lFlags,bstrItemName,bstrFullItemName,ppDestination);
1027}
1028#endif
1029#endif
1030
1031#endif
1032
1033
1034#endif /* __IWiaTransferCallback_INTERFACE_DEFINED__ */
1035
1036/*****************************************************************************
1037 * IWiaPreview interface
1038 */
1039#ifndef __IWiaPreview_INTERFACE_DEFINED__
1040#define __IWiaPreview_INTERFACE_DEFINED__
1041
1042DEFINE_GUID(IID_IWiaPreview, 0x95c2b4fd, 0x33f2, 0x4d86, 0xad,0x40, 0x94,0x31,0xf0,0xdf,0x08,0xf7);
1043#if defined(__cplusplus) && !defined(CINTERFACE)
1044MIDL_INTERFACE("95c2b4fd-33f2-4d86-ad40-9431f0df08f7")
1045IWiaPreview : public IUnknown
1046{
1047 virtual HRESULT STDMETHODCALLTYPE GetNewPreview(
1048 LONG lFlags,
1049 IWiaItem2 *pWiaItem2,
1050 IWiaTransferCallback *pWiaTransferCallback) = 0;
1051
1052 virtual HRESULT STDMETHODCALLTYPE UpdatePreview(
1053 LONG lFlags,
1054 IWiaItem2 *pChildWiaItem2,
1055 IWiaTransferCallback *pWiaTransferCallback) = 0;
1056
1057 virtual HRESULT STDMETHODCALLTYPE DetectRegions(
1058 LONG lFlags) = 0;
1059
1060 virtual HRESULT STDMETHODCALLTYPE Clear(
1061 ) = 0;
1062
1063};
1064#ifdef __CRT_UUID_DECL
1065__CRT_UUID_DECL(IWiaPreview, 0x95c2b4fd, 0x33f2, 0x4d86, 0xad,0x40, 0x94,0x31,0xf0,0xdf,0x08,0xf7)
1066#endif
1067#else
1068typedef struct IWiaPreviewVtbl {
1069 BEGIN_INTERFACE
1070
1071 /*** IUnknown methods ***/
1072 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1073 IWiaPreview *This,
1074 REFIID riid,
1075 void **ppvObject);
1076
1077 ULONG (STDMETHODCALLTYPE *AddRef)(
1078 IWiaPreview *This);
1079
1080 ULONG (STDMETHODCALLTYPE *Release)(
1081 IWiaPreview *This);
1082
1083 /*** IWiaPreview methods ***/
1084 HRESULT (STDMETHODCALLTYPE *GetNewPreview)(
1085 IWiaPreview *This,
1086 LONG lFlags,
1087 IWiaItem2 *pWiaItem2,
1088 IWiaTransferCallback *pWiaTransferCallback);
1089
1090 HRESULT (STDMETHODCALLTYPE *UpdatePreview)(
1091 IWiaPreview *This,
1092 LONG lFlags,
1093 IWiaItem2 *pChildWiaItem2,
1094 IWiaTransferCallback *pWiaTransferCallback);
1095
1096 HRESULT (STDMETHODCALLTYPE *DetectRegions)(
1097 IWiaPreview *This,
1098 LONG lFlags);
1099
1100 HRESULT (STDMETHODCALLTYPE *Clear)(
1101 IWiaPreview *This);
1102
1103 END_INTERFACE
1104} IWiaPreviewVtbl;
1105
1106interface IWiaPreview {
1107 CONST_VTBL IWiaPreviewVtbl* lpVtbl;
1108};
1109
1110#ifdef COBJMACROS
1111#ifndef WIDL_C_INLINE_WRAPPERS
1112/*** IUnknown methods ***/
1113#define IWiaPreview_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1114#define IWiaPreview_AddRef(This) (This)->lpVtbl->AddRef(This)
1115#define IWiaPreview_Release(This) (This)->lpVtbl->Release(This)
1116/*** IWiaPreview methods ***/
1117#define IWiaPreview_GetNewPreview(This,lFlags,pWiaItem2,pWiaTransferCallback) (This)->lpVtbl->GetNewPreview(This,lFlags,pWiaItem2,pWiaTransferCallback)
1118#define IWiaPreview_UpdatePreview(This,lFlags,pChildWiaItem2,pWiaTransferCallback) (This)->lpVtbl->UpdatePreview(This,lFlags,pChildWiaItem2,pWiaTransferCallback)
1119#define IWiaPreview_DetectRegions(This,lFlags) (This)->lpVtbl->DetectRegions(This,lFlags)
1120#define IWiaPreview_Clear(This) (This)->lpVtbl->Clear(This)
1121#else
1122/*** IUnknown methods ***/
1123static inline HRESULT IWiaPreview_QueryInterface(IWiaPreview* This,REFIID riid,void **ppvObject) {
1124 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1125}
1126static inline ULONG IWiaPreview_AddRef(IWiaPreview* This) {
1127 return This->lpVtbl->AddRef(This);
1128}
1129static inline ULONG IWiaPreview_Release(IWiaPreview* This) {
1130 return This->lpVtbl->Release(This);
1131}
1132/*** IWiaPreview methods ***/
1133static inline HRESULT IWiaPreview_GetNewPreview(IWiaPreview* This,LONG lFlags,IWiaItem2 *pWiaItem2,IWiaTransferCallback *pWiaTransferCallback) {
1134 return This->lpVtbl->GetNewPreview(This,lFlags,pWiaItem2,pWiaTransferCallback);
1135}
1136static inline HRESULT IWiaPreview_UpdatePreview(IWiaPreview* This,LONG lFlags,IWiaItem2 *pChildWiaItem2,IWiaTransferCallback *pWiaTransferCallback) {
1137 return This->lpVtbl->UpdatePreview(This,lFlags,pChildWiaItem2,pWiaTransferCallback);
1138}
1139static inline HRESULT IWiaPreview_DetectRegions(IWiaPreview* This,LONG lFlags) {
1140 return This->lpVtbl->DetectRegions(This,lFlags);
1141}
1142static inline HRESULT IWiaPreview_Clear(IWiaPreview* This) {
1143 return This->lpVtbl->Clear(This);
1144}
1145#endif
1146#endif
1147
1148#endif
1149
1150
1151#endif /* __IWiaPreview_INTERFACE_DEFINED__ */
1152
1153/*****************************************************************************
1154 * IEnumWiaItem2 interface
1155 */
1156#ifndef __IEnumWiaItem2_INTERFACE_DEFINED__
1157#define __IEnumWiaItem2_INTERFACE_DEFINED__
1158
1159DEFINE_GUID(IID_IEnumWiaItem2, 0x59970af4, 0xcd0d, 0x44d9, 0xab,0x24, 0x52,0x29,0x56,0x30,0xe5,0x82);
1160#if defined(__cplusplus) && !defined(CINTERFACE)
1161MIDL_INTERFACE("59970af4-cd0d-44d9-ab24-52295630e582")
1162IEnumWiaItem2 : public IUnknown
1163{
1164 virtual HRESULT STDMETHODCALLTYPE Next(
1165 ULONG cElt,
1166 IWiaItem2 **ppIWiaItem2,
1167 ULONG *pcEltFetched) = 0;
1168
1169 virtual HRESULT STDMETHODCALLTYPE Skip(
1170 ULONG cElt) = 0;
1171
1172 virtual HRESULT STDMETHODCALLTYPE Reset(
1173 ) = 0;
1174
1175 virtual HRESULT STDMETHODCALLTYPE Clone(
1176 IEnumWiaItem2 **ppIEnum) = 0;
1177
1178 virtual HRESULT STDMETHODCALLTYPE GetCount(
1179 ULONG *cElt) = 0;
1180
1181};
1182#ifdef __CRT_UUID_DECL
1183__CRT_UUID_DECL(IEnumWiaItem2, 0x59970af4, 0xcd0d, 0x44d9, 0xab,0x24, 0x52,0x29,0x56,0x30,0xe5,0x82)
1184#endif
1185#else
1186typedef struct IEnumWiaItem2Vtbl {
1187 BEGIN_INTERFACE
1188
1189 /*** IUnknown methods ***/
1190 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1191 IEnumWiaItem2 *This,
1192 REFIID riid,
1193 void **ppvObject);
1194
1195 ULONG (STDMETHODCALLTYPE *AddRef)(
1196 IEnumWiaItem2 *This);
1197
1198 ULONG (STDMETHODCALLTYPE *Release)(
1199 IEnumWiaItem2 *This);
1200
1201 /*** IEnumWiaItem2 methods ***/
1202 HRESULT (STDMETHODCALLTYPE *Next)(
1203 IEnumWiaItem2 *This,
1204 ULONG cElt,
1205 IWiaItem2 **ppIWiaItem2,
1206 ULONG *pcEltFetched);
1207
1208 HRESULT (STDMETHODCALLTYPE *Skip)(
1209 IEnumWiaItem2 *This,
1210 ULONG cElt);
1211
1212 HRESULT (STDMETHODCALLTYPE *Reset)(
1213 IEnumWiaItem2 *This);
1214
1215 HRESULT (STDMETHODCALLTYPE *Clone)(
1216 IEnumWiaItem2 *This,
1217 IEnumWiaItem2 **ppIEnum);
1218
1219 HRESULT (STDMETHODCALLTYPE *GetCount)(
1220 IEnumWiaItem2 *This,
1221 ULONG *cElt);
1222
1223 END_INTERFACE
1224} IEnumWiaItem2Vtbl;
1225
1226interface IEnumWiaItem2 {
1227 CONST_VTBL IEnumWiaItem2Vtbl* lpVtbl;
1228};
1229
1230#ifdef COBJMACROS
1231#ifndef WIDL_C_INLINE_WRAPPERS
1232/*** IUnknown methods ***/
1233#define IEnumWiaItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1234#define IEnumWiaItem2_AddRef(This) (This)->lpVtbl->AddRef(This)
1235#define IEnumWiaItem2_Release(This) (This)->lpVtbl->Release(This)
1236/*** IEnumWiaItem2 methods ***/
1237#define IEnumWiaItem2_Next(This,cElt,ppIWiaItem2,pcEltFetched) (This)->lpVtbl->Next(This,cElt,ppIWiaItem2,pcEltFetched)
1238#define IEnumWiaItem2_Skip(This,cElt) (This)->lpVtbl->Skip(This,cElt)
1239#define IEnumWiaItem2_Reset(This) (This)->lpVtbl->Reset(This)
1240#define IEnumWiaItem2_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum)
1241#define IEnumWiaItem2_GetCount(This,cElt) (This)->lpVtbl->GetCount(This,cElt)
1242#else
1243/*** IUnknown methods ***/
1244static inline HRESULT IEnumWiaItem2_QueryInterface(IEnumWiaItem2* This,REFIID riid,void **ppvObject) {
1245 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1246}
1247static inline ULONG IEnumWiaItem2_AddRef(IEnumWiaItem2* This) {
1248 return This->lpVtbl->AddRef(This);
1249}
1250static inline ULONG IEnumWiaItem2_Release(IEnumWiaItem2* This) {
1251 return This->lpVtbl->Release(This);
1252}
1253/*** IEnumWiaItem2 methods ***/
1254static inline HRESULT IEnumWiaItem2_Next(IEnumWiaItem2* This,ULONG cElt,IWiaItem2 **ppIWiaItem2,ULONG *pcEltFetched) {
1255 return This->lpVtbl->Next(This,cElt,ppIWiaItem2,pcEltFetched);
1256}
1257static inline HRESULT IEnumWiaItem2_Skip(IEnumWiaItem2* This,ULONG cElt) {
1258 return This->lpVtbl->Skip(This,cElt);
1259}
1260static inline HRESULT IEnumWiaItem2_Reset(IEnumWiaItem2* This) {
1261 return This->lpVtbl->Reset(This);
1262}
1263static inline HRESULT IEnumWiaItem2_Clone(IEnumWiaItem2* This,IEnumWiaItem2 **ppIEnum) {
1264 return This->lpVtbl->Clone(This,ppIEnum);
1265}
1266static inline HRESULT IEnumWiaItem2_GetCount(IEnumWiaItem2* This,ULONG *cElt) {
1267 return This->lpVtbl->GetCount(This,cElt);
1268}
1269#endif
1270#endif
1271
1272#endif
1273
1274
1275#endif /* __IEnumWiaItem2_INTERFACE_DEFINED__ */
1276
1277/*****************************************************************************
1278 * IWiaItem2 interface
1279 */
1280#ifndef __IWiaItem2_INTERFACE_DEFINED__
1281#define __IWiaItem2_INTERFACE_DEFINED__
1282
1283DEFINE_GUID(IID_IWiaItem2, 0x6cba0075, 0x1287, 0x407d, 0x9b,0x77, 0xcf,0x0e,0x03,0x04,0x35,0xcc);
1284#if defined(__cplusplus) && !defined(CINTERFACE)
1285MIDL_INTERFACE("6cba0075-1287-407d-9b77-cf0e030435cc")
1286IWiaItem2 : public IUnknown
1287{
1288 virtual HRESULT STDMETHODCALLTYPE CreateChildItem(
1289 LONG lItemFlags,
1290 LONG lCreationFlags,
1291 BSTR bstrItemName,
1292 IWiaItem2 **ppIWiaItem2) = 0;
1293
1294 virtual HRESULT STDMETHODCALLTYPE DeleteItem(
1295 LONG lFlags) = 0;
1296
1297 virtual HRESULT STDMETHODCALLTYPE EnumChildItems(
1298 const GUID *pCategoryGUID,
1299 IEnumWiaItem2 **ppIEnumWiaItem2) = 0;
1300
1301 virtual HRESULT STDMETHODCALLTYPE FindItemByName(
1302 LONG lFlags,
1303 BSTR bstrFullItemName,
1304 IWiaItem2 **ppIWiaItem2) = 0;
1305
1306 virtual HRESULT STDMETHODCALLTYPE GetItemCategory(
1307 GUID *pItemCategoryGUID) = 0;
1308
1309 virtual HRESULT STDMETHODCALLTYPE GetItemType(
1310 LONG *pItemType) = 0;
1311
1312 virtual HRESULT STDMETHODCALLTYPE DeviceDlg(
1313 LONG lFlags,
1314 HWND hwndParent,
1315 BSTR bstrFolderName,
1316 BSTR bstrFilename,
1317 LONG *plNumFiles,
1318 BSTR **ppbstrFilePaths,
1319 IWiaItem2 **ppItem) = 0;
1320
1321 virtual HRESULT STDMETHODCALLTYPE DeviceCommand(
1322 LONG lFlags,
1323 const GUID *pCmdGUID,
1324 IWiaItem2 **ppIWiaItem2) = 0;
1325
1326 virtual HRESULT STDMETHODCALLTYPE EnumDeviceCapabilities(
1327 LONG lFlags,
1328 IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS) = 0;
1329
1330 virtual HRESULT STDMETHODCALLTYPE CheckExtension(
1331 LONG lFlags,
1332 BSTR bstrName,
1333 REFIID riidExtensionInterface,
1334 WINBOOL *pbExtensionExists) = 0;
1335
1336 virtual HRESULT STDMETHODCALLTYPE GetExtension(
1337 LONG lFlags,
1338 BSTR bstrName,
1339 REFIID riidExtensionInterface,
1340 void **ppOut) = 0;
1341
1342 virtual HRESULT STDMETHODCALLTYPE GetParentItem(
1343 IWiaItem2 **ppIWiaItem2) = 0;
1344
1345 virtual HRESULT STDMETHODCALLTYPE GetRootItem(
1346 IWiaItem2 **ppIWiaItem2) = 0;
1347
1348 virtual HRESULT STDMETHODCALLTYPE GetPreviewComponent(
1349 LONG lFlags,
1350 IWiaPreview **ppWiaPreview) = 0;
1351
1352 virtual HRESULT STDMETHODCALLTYPE EnumRegisterEventInfo(
1353 LONG lFlags,
1354 const GUID *pEventGUID,
1355 IEnumWIA_DEV_CAPS **ppIEnum) = 0;
1356
1357 virtual HRESULT STDMETHODCALLTYPE Diagnostic(
1358 ULONG ulSize,
1359 BYTE *pBuffer) = 0;
1360
1361};
1362#ifdef __CRT_UUID_DECL
1363__CRT_UUID_DECL(IWiaItem2, 0x6cba0075, 0x1287, 0x407d, 0x9b,0x77, 0xcf,0x0e,0x03,0x04,0x35,0xcc)
1364#endif
1365#else
1366typedef struct IWiaItem2Vtbl {
1367 BEGIN_INTERFACE
1368
1369 /*** IUnknown methods ***/
1370 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1371 IWiaItem2 *This,
1372 REFIID riid,
1373 void **ppvObject);
1374
1375 ULONG (STDMETHODCALLTYPE *AddRef)(
1376 IWiaItem2 *This);
1377
1378 ULONG (STDMETHODCALLTYPE *Release)(
1379 IWiaItem2 *This);
1380
1381 /*** IWiaItem2 methods ***/
1382 HRESULT (STDMETHODCALLTYPE *CreateChildItem)(
1383 IWiaItem2 *This,
1384 LONG lItemFlags,
1385 LONG lCreationFlags,
1386 BSTR bstrItemName,
1387 IWiaItem2 **ppIWiaItem2);
1388
1389 HRESULT (STDMETHODCALLTYPE *DeleteItem)(
1390 IWiaItem2 *This,
1391 LONG lFlags);
1392
1393 HRESULT (STDMETHODCALLTYPE *EnumChildItems)(
1394 IWiaItem2 *This,
1395 const GUID *pCategoryGUID,
1396 IEnumWiaItem2 **ppIEnumWiaItem2);
1397
1398 HRESULT (STDMETHODCALLTYPE *FindItemByName)(
1399 IWiaItem2 *This,
1400 LONG lFlags,
1401 BSTR bstrFullItemName,
1402 IWiaItem2 **ppIWiaItem2);
1403
1404 HRESULT (STDMETHODCALLTYPE *GetItemCategory)(
1405 IWiaItem2 *This,
1406 GUID *pItemCategoryGUID);
1407
1408 HRESULT (STDMETHODCALLTYPE *GetItemType)(
1409 IWiaItem2 *This,
1410 LONG *pItemType);
1411
1412 HRESULT (STDMETHODCALLTYPE *DeviceDlg)(
1413 IWiaItem2 *This,
1414 LONG lFlags,
1415 HWND hwndParent,
1416 BSTR bstrFolderName,
1417 BSTR bstrFilename,
1418 LONG *plNumFiles,
1419 BSTR **ppbstrFilePaths,
1420 IWiaItem2 **ppItem);
1421
1422 HRESULT (STDMETHODCALLTYPE *DeviceCommand)(
1423 IWiaItem2 *This,
1424 LONG lFlags,
1425 const GUID *pCmdGUID,
1426 IWiaItem2 **ppIWiaItem2);
1427
1428 HRESULT (STDMETHODCALLTYPE *EnumDeviceCapabilities)(
1429 IWiaItem2 *This,
1430 LONG lFlags,
1431 IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS);
1432
1433 HRESULT (STDMETHODCALLTYPE *CheckExtension)(
1434 IWiaItem2 *This,
1435 LONG lFlags,
1436 BSTR bstrName,
1437 REFIID riidExtensionInterface,
1438 WINBOOL *pbExtensionExists);
1439
1440 HRESULT (STDMETHODCALLTYPE *GetExtension)(
1441 IWiaItem2 *This,
1442 LONG lFlags,
1443 BSTR bstrName,
1444 REFIID riidExtensionInterface,
1445 void **ppOut);
1446
1447 HRESULT (STDMETHODCALLTYPE *GetParentItem)(
1448 IWiaItem2 *This,
1449 IWiaItem2 **ppIWiaItem2);
1450
1451 HRESULT (STDMETHODCALLTYPE *GetRootItem)(
1452 IWiaItem2 *This,
1453 IWiaItem2 **ppIWiaItem2);
1454
1455 HRESULT (STDMETHODCALLTYPE *GetPreviewComponent)(
1456 IWiaItem2 *This,
1457 LONG lFlags,
1458 IWiaPreview **ppWiaPreview);
1459
1460 HRESULT (STDMETHODCALLTYPE *EnumRegisterEventInfo)(
1461 IWiaItem2 *This,
1462 LONG lFlags,
1463 const GUID *pEventGUID,
1464 IEnumWIA_DEV_CAPS **ppIEnum);
1465
1466 HRESULT (STDMETHODCALLTYPE *Diagnostic)(
1467 IWiaItem2 *This,
1468 ULONG ulSize,
1469 BYTE *pBuffer);
1470
1471 END_INTERFACE
1472} IWiaItem2Vtbl;
1473
1474interface IWiaItem2 {
1475 CONST_VTBL IWiaItem2Vtbl* lpVtbl;
1476};
1477
1478#ifdef COBJMACROS
1479#ifndef WIDL_C_INLINE_WRAPPERS
1480/*** IUnknown methods ***/
1481#define IWiaItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1482#define IWiaItem2_AddRef(This) (This)->lpVtbl->AddRef(This)
1483#define IWiaItem2_Release(This) (This)->lpVtbl->Release(This)
1484/*** IWiaItem2 methods ***/
1485#define IWiaItem2_CreateChildItem(This,lItemFlags,lCreationFlags,bstrItemName,ppIWiaItem2) (This)->lpVtbl->CreateChildItem(This,lItemFlags,lCreationFlags,bstrItemName,ppIWiaItem2)
1486#define IWiaItem2_DeleteItem(This,lFlags) (This)->lpVtbl->DeleteItem(This,lFlags)
1487#define IWiaItem2_EnumChildItems(This,pCategoryGUID,ppIEnumWiaItem2) (This)->lpVtbl->EnumChildItems(This,pCategoryGUID,ppIEnumWiaItem2)
1488#define IWiaItem2_FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem2) (This)->lpVtbl->FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem2)
1489#define IWiaItem2_GetItemCategory(This,pItemCategoryGUID) (This)->lpVtbl->GetItemCategory(This,pItemCategoryGUID)
1490#define IWiaItem2_GetItemType(This,pItemType) (This)->lpVtbl->GetItemType(This,pItemType)
1491#define IWiaItem2_DeviceDlg(This,lFlags,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem) (This)->lpVtbl->DeviceDlg(This,lFlags,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem)
1492#define IWiaItem2_DeviceCommand(This,lFlags,pCmdGUID,ppIWiaItem2) (This)->lpVtbl->DeviceCommand(This,lFlags,pCmdGUID,ppIWiaItem2)
1493#define IWiaItem2_EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS) (This)->lpVtbl->EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS)
1494#define IWiaItem2_CheckExtension(This,lFlags,bstrName,riidExtensionInterface,pbExtensionExists) (This)->lpVtbl->CheckExtension(This,lFlags,bstrName,riidExtensionInterface,pbExtensionExists)
1495#define IWiaItem2_GetExtension(This,lFlags,bstrName,riidExtensionInterface,ppOut) (This)->lpVtbl->GetExtension(This,lFlags,bstrName,riidExtensionInterface,ppOut)
1496#define IWiaItem2_GetParentItem(This,ppIWiaItem2) (This)->lpVtbl->GetParentItem(This,ppIWiaItem2)
1497#define IWiaItem2_GetRootItem(This,ppIWiaItem2) (This)->lpVtbl->GetRootItem(This,ppIWiaItem2)
1498#define IWiaItem2_GetPreviewComponent(This,lFlags,ppWiaPreview) (This)->lpVtbl->GetPreviewComponent(This,lFlags,ppWiaPreview)
1499#define IWiaItem2_EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum) (This)->lpVtbl->EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum)
1500#define IWiaItem2_Diagnostic(This,ulSize,pBuffer) (This)->lpVtbl->Diagnostic(This,ulSize,pBuffer)
1501#else
1502/*** IUnknown methods ***/
1503static inline HRESULT IWiaItem2_QueryInterface(IWiaItem2* This,REFIID riid,void **ppvObject) {
1504 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1505}
1506static inline ULONG IWiaItem2_AddRef(IWiaItem2* This) {
1507 return This->lpVtbl->AddRef(This);
1508}
1509static inline ULONG IWiaItem2_Release(IWiaItem2* This) {
1510 return This->lpVtbl->Release(This);
1511}
1512/*** IWiaItem2 methods ***/
1513static inline HRESULT IWiaItem2_CreateChildItem(IWiaItem2* This,LONG lItemFlags,LONG lCreationFlags,BSTR bstrItemName,IWiaItem2 **ppIWiaItem2) {
1514 return This->lpVtbl->CreateChildItem(This,lItemFlags,lCreationFlags,bstrItemName,ppIWiaItem2);
1515}
1516static inline HRESULT IWiaItem2_DeleteItem(IWiaItem2* This,LONG lFlags) {
1517 return This->lpVtbl->DeleteItem(This,lFlags);
1518}
1519static inline HRESULT IWiaItem2_EnumChildItems(IWiaItem2* This,const GUID *pCategoryGUID,IEnumWiaItem2 **ppIEnumWiaItem2) {
1520 return This->lpVtbl->EnumChildItems(This,pCategoryGUID,ppIEnumWiaItem2);
1521}
1522static inline HRESULT IWiaItem2_FindItemByName(IWiaItem2* This,LONG lFlags,BSTR bstrFullItemName,IWiaItem2 **ppIWiaItem2) {
1523 return This->lpVtbl->FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem2);
1524}
1525static inline HRESULT IWiaItem2_GetItemCategory(IWiaItem2* This,GUID *pItemCategoryGUID) {
1526 return This->lpVtbl->GetItemCategory(This,pItemCategoryGUID);
1527}
1528static inline HRESULT IWiaItem2_GetItemType(IWiaItem2* This,LONG *pItemType) {
1529 return This->lpVtbl->GetItemType(This,pItemType);
1530}
1531static inline HRESULT IWiaItem2_DeviceDlg(IWiaItem2* This,LONG lFlags,HWND hwndParent,BSTR bstrFolderName,BSTR bstrFilename,LONG *plNumFiles,BSTR **ppbstrFilePaths,IWiaItem2 **ppItem) {
1532 return This->lpVtbl->DeviceDlg(This,lFlags,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem);
1533}
1534static inline HRESULT IWiaItem2_DeviceCommand(IWiaItem2* This,LONG lFlags,const GUID *pCmdGUID,IWiaItem2 **ppIWiaItem2) {
1535 return This->lpVtbl->DeviceCommand(This,lFlags,pCmdGUID,ppIWiaItem2);
1536}
1537static inline HRESULT IWiaItem2_EnumDeviceCapabilities(IWiaItem2* This,LONG lFlags,IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS) {
1538 return This->lpVtbl->EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS);
1539}
1540static inline HRESULT IWiaItem2_CheckExtension(IWiaItem2* This,LONG lFlags,BSTR bstrName,REFIID riidExtensionInterface,WINBOOL *pbExtensionExists) {
1541 return This->lpVtbl->CheckExtension(This,lFlags,bstrName,riidExtensionInterface,pbExtensionExists);
1542}
1543static inline HRESULT IWiaItem2_GetExtension(IWiaItem2* This,LONG lFlags,BSTR bstrName,REFIID riidExtensionInterface,void **ppOut) {
1544 return This->lpVtbl->GetExtension(This,lFlags,bstrName,riidExtensionInterface,ppOut);
1545}
1546static inline HRESULT IWiaItem2_GetParentItem(IWiaItem2* This,IWiaItem2 **ppIWiaItem2) {
1547 return This->lpVtbl->GetParentItem(This,ppIWiaItem2);
1548}
1549static inline HRESULT IWiaItem2_GetRootItem(IWiaItem2* This,IWiaItem2 **ppIWiaItem2) {
1550 return This->lpVtbl->GetRootItem(This,ppIWiaItem2);
1551}
1552static inline HRESULT IWiaItem2_GetPreviewComponent(IWiaItem2* This,LONG lFlags,IWiaPreview **ppWiaPreview) {
1553 return This->lpVtbl->GetPreviewComponent(This,lFlags,ppWiaPreview);
1554}
1555static inline HRESULT IWiaItem2_EnumRegisterEventInfo(IWiaItem2* This,LONG lFlags,const GUID *pEventGUID,IEnumWIA_DEV_CAPS **ppIEnum) {
1556 return This->lpVtbl->EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum);
1557}
1558static inline HRESULT IWiaItem2_Diagnostic(IWiaItem2* This,ULONG ulSize,BYTE *pBuffer) {
1559 return This->lpVtbl->Diagnostic(This,ulSize,pBuffer);
1560}
1561#endif
1562#endif
1563
1564#endif
1565
1566
1567#endif /* __IWiaItem2_INTERFACE_DEFINED__ */
1568
1569/*****************************************************************************
1570 * IWiaDevMgr2 interface
1571 */
1572#ifndef __IWiaDevMgr2_INTERFACE_DEFINED__
1573#define __IWiaDevMgr2_INTERFACE_DEFINED__
1574
1575DEFINE_GUID(IID_IWiaDevMgr2, 0x79c07cf1, 0xcbdd, 0x41ee, 0x8e,0xc3, 0xf0,0x00,0x80,0xca,0xda,0x7a);
1576#if defined(__cplusplus) && !defined(CINTERFACE)
1577MIDL_INTERFACE("79c07cf1-cbdd-41ee-8ec3-f00080cada7a")
1578IWiaDevMgr2 : public IUnknown
1579{
1580 virtual HRESULT STDMETHODCALLTYPE EnumDeviceInfo(
1581 LONG lFlags,
1582 IEnumWIA_DEV_INFO **ppIEnum) = 0;
1583
1584 virtual HRESULT STDMETHODCALLTYPE CreateDevice(
1585 LONG lFlags,
1586 BSTR bstrDeviceID,
1587 IWiaItem2 **ppWiaItem2Root) = 0;
1588
1589 virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlg(
1590 HWND hwndParent,
1591 LONG lDeviceType,
1592 LONG lFlags,
1593 BSTR *pbstrDeviceID,
1594 IWiaItem2 **ppItemRoot) = 0;
1595
1596 virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlgID(
1597 HWND hwndParent,
1598 LONG lDeviceType,
1599 LONG lFlags,
1600 BSTR *pbstrDeviceID) = 0;
1601
1602 virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackInterface(
1603 LONG lFlags,
1604 BSTR bstrDeviceID,
1605 const GUID *pEventGUID,
1606 IWiaEventCallback *pIWiaEventCallback,
1607 IUnknown **pEventObject) = 0;
1608
1609 virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackProgram(
1610 LONG lFlags,
1611 BSTR bstrDeviceID,
1612 const GUID *pEventGUID,
1613 BSTR bstrFullAppName,
1614 BSTR bstrCommandLineArg,
1615 BSTR bstrName,
1616 BSTR bstrDescription,
1617 BSTR bstrIcon) = 0;
1618
1619 virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackCLSID(
1620 LONG lFlags,
1621 BSTR bstrDeviceID,
1622 const GUID *pEventGUID,
1623 const GUID *pClsID,
1624 BSTR bstrName,
1625 BSTR bstrDescription,
1626 BSTR bstrIcon) = 0;
1627
1628 virtual HRESULT STDMETHODCALLTYPE GetImageDlg(
1629 LONG lFlags,
1630 BSTR bstrDeviceID,
1631 HWND hwndParent,
1632 BSTR bstrFolderName,
1633 BSTR bstrFilename,
1634 LONG *plNumFiles,
1635 BSTR **ppbstrFilePaths,
1636 IWiaItem2 **ppItem) = 0;
1637
1638};
1639#ifdef __CRT_UUID_DECL
1640__CRT_UUID_DECL(IWiaDevMgr2, 0x79c07cf1, 0xcbdd, 0x41ee, 0x8e,0xc3, 0xf0,0x00,0x80,0xca,0xda,0x7a)
1641#endif
1642#else
1643typedef struct IWiaDevMgr2Vtbl {
1644 BEGIN_INTERFACE
1645
1646 /*** IUnknown methods ***/
1647 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1648 IWiaDevMgr2 *This,
1649 REFIID riid,
1650 void **ppvObject);
1651
1652 ULONG (STDMETHODCALLTYPE *AddRef)(
1653 IWiaDevMgr2 *This);
1654
1655 ULONG (STDMETHODCALLTYPE *Release)(
1656 IWiaDevMgr2 *This);
1657
1658 /*** IWiaDevMgr2 methods ***/
1659 HRESULT (STDMETHODCALLTYPE *EnumDeviceInfo)(
1660 IWiaDevMgr2 *This,
1661 LONG lFlags,
1662 IEnumWIA_DEV_INFO **ppIEnum);
1663
1664 HRESULT (STDMETHODCALLTYPE *CreateDevice)(
1665 IWiaDevMgr2 *This,
1666 LONG lFlags,
1667 BSTR bstrDeviceID,
1668 IWiaItem2 **ppWiaItem2Root);
1669
1670 HRESULT (STDMETHODCALLTYPE *SelectDeviceDlg)(
1671 IWiaDevMgr2 *This,
1672 HWND hwndParent,
1673 LONG lDeviceType,
1674 LONG lFlags,
1675 BSTR *pbstrDeviceID,
1676 IWiaItem2 **ppItemRoot);
1677
1678 HRESULT (STDMETHODCALLTYPE *SelectDeviceDlgID)(
1679 IWiaDevMgr2 *This,
1680 HWND hwndParent,
1681 LONG lDeviceType,
1682 LONG lFlags,
1683 BSTR *pbstrDeviceID);
1684
1685 HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackInterface)(
1686 IWiaDevMgr2 *This,
1687 LONG lFlags,
1688 BSTR bstrDeviceID,
1689 const GUID *pEventGUID,
1690 IWiaEventCallback *pIWiaEventCallback,
1691 IUnknown **pEventObject);
1692
1693 HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackProgram)(
1694 IWiaDevMgr2 *This,
1695 LONG lFlags,
1696 BSTR bstrDeviceID,
1697 const GUID *pEventGUID,
1698 BSTR bstrFullAppName,
1699 BSTR bstrCommandLineArg,
1700 BSTR bstrName,
1701 BSTR bstrDescription,
1702 BSTR bstrIcon);
1703
1704 HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackCLSID)(
1705 IWiaDevMgr2 *This,
1706 LONG lFlags,
1707 BSTR bstrDeviceID,
1708 const GUID *pEventGUID,
1709 const GUID *pClsID,
1710 BSTR bstrName,
1711 BSTR bstrDescription,
1712 BSTR bstrIcon);
1713
1714 HRESULT (STDMETHODCALLTYPE *GetImageDlg)(
1715 IWiaDevMgr2 *This,
1716 LONG lFlags,
1717 BSTR bstrDeviceID,
1718 HWND hwndParent,
1719 BSTR bstrFolderName,
1720 BSTR bstrFilename,
1721 LONG *plNumFiles,
1722 BSTR **ppbstrFilePaths,
1723 IWiaItem2 **ppItem);
1724
1725 END_INTERFACE
1726} IWiaDevMgr2Vtbl;
1727
1728interface IWiaDevMgr2 {
1729 CONST_VTBL IWiaDevMgr2Vtbl* lpVtbl;
1730};
1731
1732#ifdef COBJMACROS
1733#ifndef WIDL_C_INLINE_WRAPPERS
1734/*** IUnknown methods ***/
1735#define IWiaDevMgr2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1736#define IWiaDevMgr2_AddRef(This) (This)->lpVtbl->AddRef(This)
1737#define IWiaDevMgr2_Release(This) (This)->lpVtbl->Release(This)
1738/*** IWiaDevMgr2 methods ***/
1739#define IWiaDevMgr2_EnumDeviceInfo(This,lFlags,ppIEnum) (This)->lpVtbl->EnumDeviceInfo(This,lFlags,ppIEnum)
1740#define IWiaDevMgr2_CreateDevice(This,lFlags,bstrDeviceID,ppWiaItem2Root) (This)->lpVtbl->CreateDevice(This,lFlags,bstrDeviceID,ppWiaItem2Root)
1741#define IWiaDevMgr2_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) (This)->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot)
1742#define IWiaDevMgr2_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) (This)->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID)
1743#define IWiaDevMgr2_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) (This)->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject)
1744#define IWiaDevMgr2_RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrFullAppName,bstrCommandLineArg,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrFullAppName,bstrCommandLineArg,bstrName,bstrDescription,bstrIcon)
1745#define IWiaDevMgr2_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon)
1746#define IWiaDevMgr2_GetImageDlg(This,lFlags,bstrDeviceID,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem) (This)->lpVtbl->GetImageDlg(This,lFlags,bstrDeviceID,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem)
1747#else
1748/*** IUnknown methods ***/
1749static inline HRESULT IWiaDevMgr2_QueryInterface(IWiaDevMgr2* This,REFIID riid,void **ppvObject) {
1750 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1751}
1752static inline ULONG IWiaDevMgr2_AddRef(IWiaDevMgr2* This) {
1753 return This->lpVtbl->AddRef(This);
1754}
1755static inline ULONG IWiaDevMgr2_Release(IWiaDevMgr2* This) {
1756 return This->lpVtbl->Release(This);
1757}
1758/*** IWiaDevMgr2 methods ***/
1759static inline HRESULT IWiaDevMgr2_EnumDeviceInfo(IWiaDevMgr2* This,LONG lFlags,IEnumWIA_DEV_INFO **ppIEnum) {
1760 return This->lpVtbl->EnumDeviceInfo(This,lFlags,ppIEnum);
1761}
1762static inline HRESULT IWiaDevMgr2_CreateDevice(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,IWiaItem2 **ppWiaItem2Root) {
1763 return This->lpVtbl->CreateDevice(This,lFlags,bstrDeviceID,ppWiaItem2Root);
1764}
1765static inline HRESULT IWiaDevMgr2_SelectDeviceDlg(IWiaDevMgr2* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem2 **ppItemRoot) {
1766 return This->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot);
1767}
1768static inline HRESULT IWiaDevMgr2_SelectDeviceDlgID(IWiaDevMgr2* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID) {
1769 return This->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID);
1770}
1771static inline HRESULT IWiaDevMgr2_RegisterEventCallbackInterface(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject) {
1772 return This->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject);
1773}
1774static inline HRESULT IWiaDevMgr2_RegisterEventCallbackProgram(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrFullAppName,BSTR bstrCommandLineArg,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) {
1775 return This->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrFullAppName,bstrCommandLineArg,bstrName,bstrDescription,bstrIcon);
1776}
1777static inline HRESULT IWiaDevMgr2_RegisterEventCallbackCLSID(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) {
1778 return This->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon);
1779}
1780static inline HRESULT IWiaDevMgr2_GetImageDlg(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,HWND hwndParent,BSTR bstrFolderName,BSTR bstrFilename,LONG *plNumFiles,BSTR **ppbstrFilePaths,IWiaItem2 **ppItem) {
1781 return This->lpVtbl->GetImageDlg(This,lFlags,bstrDeviceID,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem);
1782}
1783#endif
1784#endif
1785
1786#endif
1787
1788
1789#endif /* __IWiaDevMgr2_INTERFACE_DEFINED__ */
1790
1791/*****************************************************************************
1792 * WiaDevMgr2 coclass
1793 */
1794
1795DEFINE_GUID(CLSID_WiaDevMgr2, 0xb6c292bc, 0x7c88, 0x41ee, 0x8b,0x54, 0x8e,0xc9,0x26,0x17,0xe5,0x99);
1796
1797#ifdef __cplusplus
1798class DECLSPEC_UUID("b6c292bc-7c88-41ee-8b54-8ec92617e599") WiaDevMgr2;
1799#ifdef __CRT_UUID_DECL
1800__CRT_UUID_DECL(WiaDevMgr2, 0xb6c292bc, 0x7c88, 0x41ee, 0x8b,0x54, 0x8e,0xc9,0x26,0x17,0xe5,0x99)
1801#endif
1802#endif
1803
1804/* Begin additional prototypes for all interfaces */
1805
1806ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
1807unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
1808unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
1809void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
1810ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *);
1811unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
1812unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
1813void __RPC_USER HWND_UserFree (ULONG *, HWND *);
1814
1815/* End additional prototypes */
1816
1817#ifdef __cplusplus
1818}
1819#endif
1820
1821#endif /* __wia_lh_h__ */