Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
2.8 KiB

  1. #ifndef __WIAPROPUI_H_INCLUDED
  2. #define __WIAPROPUI_H_INCLUDED
  3. /*******************************************************************************
  4. *
  5. * (C) COPYRIGHT MICROSOFT CORP., 1999
  6. *
  7. * TITLE: WiaPropUI.H
  8. *
  9. *
  10. *
  11. * DESCRIPTION:
  12. * Definitions and declarations for querying, displaying, and setting
  13. * WIA device and item properties
  14. *
  15. *******************************************************************************/
  16. #include <objbase.h>
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. /* 83bbcbf3-b28a-4919-a5aa-73027445d672 */
  21. // helper object for other WIA UI components
  22. DEFINE_GUID (CLSID_WiaPropHelp, 0x83bbcbf3,0xb28a,0x4919,0xa5, 0xaa, 0x73, 0x02, 0x74, 0x45, 0xd6, 0x72);
  23. DEFINE_GUID (IID_IWiaPropUI, /* 7eed2e9b-acda-11d2-8080-00805f6596d2 */
  24. 0x7eed2e9b,
  25. 0xacda,
  26. 0x11d2,
  27. 0x80, 0x80, 0x00, 0x80, 0x5f, 0x65, 0x96, 0xd2
  28. );
  29. // property sheet handler
  30. DEFINE_GUID (CLSID_WiaPropUI,0x905667aa,0xacd6,0x11d2,0x80, 0x80,0x00,0x80,0x5f,0x65,0x96,0xd2);
  31. #ifdef __cplusplus
  32. }
  33. #endif
  34. // Define a structure for storing camera download options
  35. typedef struct tagCamOptions
  36. {
  37. BOOL bAutoCopy; // TRUE if download should happen when camera is plugged in
  38. BOOL bShowUI; // TRUE if the download should be interactive
  39. BOOL bDeleteFromDevice;// TRUE if images are removed from device after copy
  40. BOOL bCopyAsGroup;
  41. BSTR bstrDestination; // path to default download site
  42. BSTR bstrAuthor; // default image author
  43. } CAMOPTIONS, *PCAMOPTIONS;
  44. //
  45. // Flags
  46. //
  47. #define PROPUI_DEFAULT 0
  48. #define PROPUI_MODELESS 0
  49. #define PROPUI_MODAL 1
  50. #define PROPUI_READONLY 2
  51. interface IWiaItem;
  52. interface IWiaItem;
  53. #undef INTERFACE
  54. #define INTERFACE IWiaPropUI
  55. //
  56. // IWiaPropUI is meant to encapsulate the display and management of
  57. // property sheets for camera and scanner devices, and for items saved
  58. // in camera memory. Once a caller has a pointer to this interface, he can
  59. // use it to open property sheets for multiple items; the implementation
  60. // of the interface must support multiple active sheets and should also
  61. // prevent duplicate sheets being displayed.
  62. // Once the interface's ref count reaches zero, any open property sheets
  63. // will be closed.
  64. //
  65. DECLARE_INTERFACE_(IWiaPropUI, IUnknown)
  66. {
  67. // IUnknown methods
  68. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
  69. STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  70. STDMETHOD_(ULONG, Release) (THIS) PURE;
  71. // IWiaPropUI methods
  72. STDMETHOD(ShowItemProperties)(THIS_ HWND hParent, IN LPCWSTR szDeviceId, IN LPCWSTR szItem, DWORD dwFlags) PURE;
  73. STDMETHOD(GetItemPropertyPages) (THIS_ IWiaItem *pItem, IN OUT LPPROPSHEETHEADER ppsh);
  74. };
  75. #endif //__WIAPROPUI_H_INCLUDED