89 lines
3.2 KiB
C
89 lines
3.2 KiB
C
/***************************************************************************
|
|
* IPPREVIEW.H
|
|
*
|
|
* DSOFramer: IOleInplacePrintPreview/IOlePreviewCallback
|
|
*
|
|
* Copyright ©1999-2004; Microsoft Corporation. All rights reserved.
|
|
* Written by Microsoft Developer Support Office Integration (PSS DSOI)
|
|
*
|
|
* This code is provided via KB 311765 as a sample. It is not a formal
|
|
* product and has not been tested with all containers or servers. Use it
|
|
* for educational purposes only. See the EULA.TXT file included in the
|
|
* KB download for full terms of use and restrictions.
|
|
*
|
|
* THIS CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
|
* EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
|
|
* WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
|
|
*
|
|
***************************************************************************/
|
|
#ifndef __IPPREVIEW_H
|
|
#define __IPPREVIEW_H
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// IOlePreviewCallback
|
|
//
|
|
// Implemented by host to receive notifaction messages
|
|
// from ip object while displaying a print preview.
|
|
//
|
|
DEFINE_GUID(IID_IOlePreviewCallback, 0xB722BCD5, 0x4E68, 0x101B, 0xA2, 0xBC, 0x00, 0xAA, 0x00, 0x40, 0x47, 0x70);
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IOlePreviewCallback
|
|
DECLARE_INTERFACE_(IOlePreviewCallback, IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
#ifndef NO_BASEINTERFACE_FUNCS
|
|
// IUnknown methods
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
|
#endif
|
|
// IOlePreviewCallback methods
|
|
STDMETHOD(Notify)(THIS_ DWORD wStatus, LONG nLastPage, LPOLESTR pwszPreviewStatus) PURE;
|
|
};
|
|
|
|
#define NOTIFY_FINISHED 1
|
|
#define NOTIFY_BUSY 2
|
|
#define NOTIFY_IDLE 4
|
|
#define NOTIFY_DISABLERESIZE 8
|
|
#define NOTIFY_QUERYCLOSEPREVIEW 16
|
|
#define NOTIFY_FORCECLOSEPREVIEW 32
|
|
#define NOTIFY_UIACTIVE 64
|
|
#define NOTIFY_UNABLETOPREVIEW 128
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// IOleInplacePrintPreview
|
|
//
|
|
// Implemented by server to start/stop print preview. Hosts should
|
|
// call QueryStatus to make sure server is able to enter preview mode
|
|
// before calling StartPrintPreview.
|
|
//
|
|
DEFINE_GUID(IID_IOleInplacePrintPreview, 0xB722BCD4, 0x4E68, 0x101B, 0xA2, 0xBC, 0x00, 0xAA, 0x00, 0x40, 0x47, 0x70);
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IOleInplacePrintPreview
|
|
DECLARE_INTERFACE_(IOleInplacePrintPreview, IUnknown)
|
|
{
|
|
BEGIN_INTERFACE
|
|
#ifndef NO_BASEINTERFACE_FUNCS
|
|
// IUnknown methods
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
|
#endif
|
|
// IOleInplacePrintPreview methods
|
|
STDMETHOD(StartPrintPreview)(THIS_ DWORD grfFlags, DVTARGETDEVICE *ptd, IOlePreviewCallback *ppCallback, LONG nFirstPage) PURE;
|
|
STDMETHOD(EndPrintPreview)(THIS_ BOOL fForceClose) PURE;
|
|
STDMETHOD(QueryStatus)(THIS_ void) PURE;
|
|
};
|
|
|
|
#define PREVIEWFLAG_MAYBOTHERUSER 1
|
|
#define PREVIEWFLAG_PROMPTUSER 2
|
|
#define PREVIEWFLAG_USERMAYCHANGEPRINTER 4
|
|
#define PREVIEWFLAG_RECOMPOSETODEVICE 8
|
|
|
|
|
|
#endif //__IPPREVIEW_H
|