98 lines
2.7 KiB
C
98 lines
2.7 KiB
C
|
#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
|