wiadevd.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. #include "wia.h"
  9. #if defined(__cplusplus)
  10. extern "C" {
  11. #endif
  12. #include <pshpack8.h>
  13. typedef struct tagDEVICEDIALOGDATA {
  14. DWORD cbSize;
  15. HWND hwndParent;
  16. IWiaItem *pIWiaItemRoot;
  17. DWORD dwFlags;
  18. LONG lIntent;
  19. LONG lItemCount;
  20. IWiaItem **ppWiaItems;
  21. } DEVICEDIALOGDATA,*LPDEVICEDIALOGDATA,*PDEVICEDIALOGDATA;
  22. HRESULT WINAPI DeviceDialog(PDEVICEDIALOGDATA pDeviceDialogData);
  23. #undef INTERFACE
  24. #define INTERFACE IWiaUIExtension
  25. DECLARE_INTERFACE_(IWiaUIExtension,IUnknown) {
  26. STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppvObj) PURE;
  27. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  28. STDMETHOD_(ULONG,Release) (THIS) PURE;
  29. STDMETHOD(DeviceDialog)(THIS_ PDEVICEDIALOGDATA pDeviceDialogData) PURE;
  30. STDMETHOD(GetDeviceIcon)(THIS_ BSTR bstrDeviceId,HICON *phIcon,ULONG nSize) PURE;
  31. STDMETHOD(GetDeviceBitmapLogo)(THIS_ BSTR bstrDeviceId,HBITMAP *phBitmap,ULONG nMaxWidth,ULONG nMaxHeight) PURE;
  32. };
  33. DEFINE_GUID(IID_IWiaUIExtension,0xDA319113,0x50EE,0x4C80,0xB4,0x60,0x57,0xD0,0x05,0xD4,0x4A,0x2C);
  34. typedef HRESULT (WINAPI *DeviceDialogFunction)(PDEVICEDIALOGDATA);
  35. #define SHELLEX_WIAUIEXTENSION_NAME TEXT("WiaDialogExtensionHandlers")
  36. #define CFSTR_WIAITEMNAMES TEXT("WIAItemNames")
  37. #define CFSTR_WIAITEMPTR TEXT("WIAItemPointer")
  38. #include <poppack.h>
  39. #if defined(__cplusplus)
  40. };
  41. #endif
  42. #endif