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) 12 extern "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 55