|
|
#ifndef __WIAPROPUI_H_INCLUDED
#define __WIAPROPUI_H_INCLUDED
/*******************************************************************************
* * (C) COPYRIGHT MICROSOFT CORP., 1999 * * TITLE: WiaPropUI.H * * * * DESCRIPTION: * Definitions and declarations for querying, displaying, and setting * WIA device and item properties * *******************************************************************************/
#include <objbase.h>
#ifdef __cplusplus
extern "C" { #endif
/* 83bbcbf3-b28a-4919-a5aa-73027445d672 */ // helper object for other WIA UI components
DEFINE_GUID (CLSID_WiaPropHelp, 0x83bbcbf3,0xb28a,0x4919,0xa5, 0xaa, 0x73, 0x02, 0x74, 0x45, 0xd6, 0x72);
DEFINE_GUID (IID_IWiaPropUI, /* 7eed2e9b-acda-11d2-8080-00805f6596d2 */ 0x7eed2e9b, 0xacda, 0x11d2, 0x80, 0x80, 0x00, 0x80, 0x5f, 0x65, 0x96, 0xd2 );
// property sheet handler
DEFINE_GUID (CLSID_WiaPropUI,0x905667aa,0xacd6,0x11d2,0x80, 0x80,0x00,0x80,0x5f,0x65,0x96,0xd2);
#ifdef __cplusplus
} #endif
// Define a structure for storing camera download options
typedef struct tagCamOptions { BOOL bAutoCopy; // TRUE if download should happen when camera is plugged in
BOOL bShowUI; // TRUE if the download should be interactive
BOOL bDeleteFromDevice;// TRUE if images are removed from device after copy
BOOL bCopyAsGroup; BSTR bstrDestination; // path to default download site
BSTR bstrAuthor; // default image author
} CAMOPTIONS, *PCAMOPTIONS;
//
// Flags
//
#define PROPUI_DEFAULT 0
#define PROPUI_MODELESS 0
#define PROPUI_MODAL 1
#define PROPUI_READONLY 2
interface IWiaItem; interface IWiaItem;
#undef INTERFACE
#define INTERFACE IWiaPropUI
//
// IWiaPropUI is meant to encapsulate the display and management of
// property sheets for camera and scanner devices, and for items saved
// in camera memory. Once a caller has a pointer to this interface, he can
// use it to open property sheets for multiple items; the implementation
// of the interface must support multiple active sheets and should also
// prevent duplicate sheets being displayed.
// Once the interface's ref count reaches zero, any open property sheets
// will be closed.
//
DECLARE_INTERFACE_(IWiaPropUI, IUnknown) { // IUnknown methods
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE; STDMETHOD_(ULONG, AddRef) (THIS) PURE; STDMETHOD_(ULONG, Release) (THIS) PURE;
// IWiaPropUI methods
STDMETHOD(ShowItemProperties)(THIS_ HWND hParent, IN LPCWSTR szDeviceId, IN LPCWSTR szItem, DWORD dwFlags) PURE; STDMETHOD(GetItemPropertyPages) (THIS_ IWiaItem *pItem, IN OUT LPPROPSHEETHEADER ppsh);
};
#endif //__WIAPROPUI_H_INCLUDED
|