master
 1/**
 2 * This file has no copyright assigned and is placed in the Public Domain.
 3 * This file is part of the mingw-w64 runtime package.
 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 5 */
 6#ifndef _WIADEVD_H_INCLUDED
 7#define _WIADEVD_H_INCLUDED
 8
 9#include "wia.h"
10
11#if defined(__cplusplus)
12extern "C" {
13#endif
14
15#include <pshpack8.h>
16
17  typedef struct tagDEVICEDIALOGDATA {
18    DWORD cbSize;
19    HWND hwndParent;
20    IWiaItem *pIWiaItemRoot;
21    DWORD dwFlags;
22    LONG lIntent;
23    LONG lItemCount;
24    IWiaItem **ppWiaItems;
25  } DEVICEDIALOGDATA,*LPDEVICEDIALOGDATA,*PDEVICEDIALOGDATA;
26
27  HRESULT WINAPI DeviceDialog(PDEVICEDIALOGDATA pDeviceDialogData);
28
29#undef INTERFACE
30#define INTERFACE IWiaUIExtension
31  DECLARE_INTERFACE_(IWiaUIExtension,IUnknown) {
32    STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppvObj) PURE;
33    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
34    STDMETHOD_(ULONG,Release) (THIS) PURE;
35    STDMETHOD(DeviceDialog)(THIS_ PDEVICEDIALOGDATA pDeviceDialogData) PURE;
36    STDMETHOD(GetDeviceIcon)(THIS_ BSTR bstrDeviceId,HICON *phIcon,ULONG nSize) PURE;
37    STDMETHOD(GetDeviceBitmapLogo)(THIS_ BSTR bstrDeviceId,HBITMAP *phBitmap,ULONG nMaxWidth,ULONG nMaxHeight) PURE;
38  };
39
40  DEFINE_GUID(IID_IWiaUIExtension,0xDA319113,0x50EE,0x4C80,0xB4,0x60,0x57,0xD0,0x05,0xD4,0x4A,0x2C);
41
42  typedef HRESULT (WINAPI *DeviceDialogFunction)(PDEVICEDIALOGDATA);
43
44#define SHELLEX_WIAUIEXTENSION_NAME TEXT("WiaDialogExtensionHandlers")
45
46#define CFSTR_WIAITEMNAMES TEXT("WIAItemNames")
47#define CFSTR_WIAITEMPTR TEXT("WIAItemPointer")
48
49#include <poppack.h>
50
51#if defined(__cplusplus)
52};
53#endif
54#endif