WindowsXP/Source/XPSP1/NT/public/sdk/inc/docobj.idl
2024-08-03 16:30:48 +02:00

554 lines
20 KiB
Plaintext

//+---------------------------------------------------------------------------
//
// Copyright 1995-1998 Microsoft Corporation. All Rights Reserved.
//
// Contents: OLE Document Object interfaces
//
//----------------------------------------------------------------------------
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// DocObj.h")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// (C) Copyright 1995-1998 Microsoft Corporation. All Rights Reserved.")
cpp_quote("//")
cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
cpp_quote("// PARTICULAR PURPOSE.")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("")
cpp_quote("#pragma comment(lib,\"uuid.lib\")")
cpp_quote("")
cpp_quote("//--------------------------------------------------------------------------")
cpp_quote("// OLE Document Object Interfaces.")
import "ocidl.idl";
import "objidl.idl";
import "oleidl.idl";
import "oaidl.idl";
import "servprov.idl";
/*
#define HWND UserHWND
#define HACCEL UserHACCEL
#define HDC UserHDC
#define HFONT UserHFONT
#define MSG UserMSG
#define BSTR UserBSTR
#define EXCEPINFO UserEXCEPINFO
#define VARIANT UserVARIANT
*/
interface IOleDocument;
interface IOleDocumentSite;
interface IOleDocumentView;
interface IEnumOleDocumentViews;
interface IContinueCallback;
interface IPrint;
interface IOleCommandTarget;
cpp_quote("")
cpp_quote("////////////////////////////////////////////////////////////////////////////")
cpp_quote("// Interface Definitions")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1998.
//
// Contents: IOleDocument interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPOLEDOCUMENT_DEFINED")
cpp_quote("#define _LPOLEDOCUMENT_DEFINED")
[
object,
uuid(b722bcc5-4e68-101b-a2bc-00aa00404770),
pointer_default(unique)
]
interface IOleDocument : IUnknown
{
typedef [unique] IOleDocument *LPOLEDOCUMENT;
typedef enum {
DOCMISC_CANCREATEMULTIPLEVIEWS = 1,
DOCMISC_SUPPORTCOMPLEXRECTANGLES = 2,
DOCMISC_CANTOPENEDIT = 4, // fails the IOleDocumentView::Open method
DOCMISC_NOFILESUPPORT = 8, // does not support read/writing to a file
} DOCMISC;
HRESULT CreateView(
[in, unique] IOleInPlaceSite *pIPSite,
[in, unique] IStream *pstm,
[in] DWORD dwReserved,
[out] IOleDocumentView **ppView);
HRESULT GetDocMiscStatus(
[out] DWORD *pdwStatus);
HRESULT EnumViews(
[out] IEnumOleDocumentViews **ppEnum,
[out] IOleDocumentView **ppView);
}
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1998.
//
// Contents: IOleDocumentSite interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPOLEDOCUMENTSITE_DEFINED")
cpp_quote("#define _LPOLEDOCUMENTSITE_DEFINED")
[
object,
uuid(b722bcc7-4e68-101b-a2bc-00aa00404770),
pointer_default(unique)
]
interface IOleDocumentSite : IUnknown
{
typedef [unique] IOleDocumentSite *LPOLEDOCUMENTSITE;
HRESULT ActivateMe(
[in] IOleDocumentView *pViewToActivate);
}
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1998.
//
// Contents: IOleDocumentView interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPOLEDOCUMENTVIEW_DEFINED")
cpp_quote("#define _LPOLEDOCUMENTVIEW_DEFINED")
[
object,
uuid(b722bcc6-4e68-101b-a2bc-00aa00404770),
pointer_default(unique)
]
interface IOleDocumentView : IUnknown
{
typedef [unique] IOleDocumentView *LPOLEDOCUMENTVIEW;
HRESULT SetInPlaceSite(
[in, unique] IOleInPlaceSite *pIPSite);
HRESULT GetInPlaceSite(
[out] IOleInPlaceSite **ppIPSite);
HRESULT GetDocument(
[out] IUnknown **ppunk);
[input_sync]
HRESULT SetRect(
[in] LPRECT prcView);
HRESULT GetRect(
[out] LPRECT prcView);
[input_sync]
HRESULT SetRectComplex(
[in, unique] LPRECT prcView,
[in, unique] LPRECT prcHScroll,
[in, unique] LPRECT prcVScroll,
[in, unique] LPRECT prcSizeBox);
HRESULT Show(
[in] BOOL fShow);
HRESULT UIActivate(
[in] BOOL fUIActivate);
HRESULT Open(void);
HRESULT CloseView(DWORD dwReserved);
HRESULT SaveViewState(
[in] LPSTREAM pstm);
HRESULT ApplyViewState(
[in] LPSTREAM pstm);
HRESULT Clone(
[in] IOleInPlaceSite *pIPSiteNew,
[out] IOleDocumentView **ppViewNew);
}
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1998.
//
// Contents: IEnumOleDocumentViews interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPENUMOLEDOCUMENTVIEWS_DEFINED")
cpp_quote("#define _LPENUMOLEDOCUMENTVIEWS_DEFINED")
[
object,
uuid(b722bcc8-4e68-101b-a2bc-00aa00404770),
pointer_default(unique)
]
interface IEnumOleDocumentViews : IUnknown
{
typedef [unique] IEnumOleDocumentViews *LPENUMOLEDOCUMENTVIEWS;
[local]
HRESULT __stdcall Next(
[in] ULONG cViews,
[out] IOleDocumentView **rgpView,
[out] ULONG *pcFetched);
[call_as(Next)]
HRESULT __stdcall RemoteNext(
[in] ULONG cViews,
[out, size_is(cViews), length_is(*pcFetched)]
IOleDocumentView **rgpView,
[out] ULONG *pcFetched);
HRESULT Skip(
[in] ULONG cViews);
HRESULT Reset();
HRESULT Clone(
[out] IEnumOleDocumentViews **ppEnum);
}
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1998.
//
// Contents: IContinueCallback interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPCONTINUECALLBACK_DEFINED")
cpp_quote("#define _LPCONTINUECALLBACK_DEFINED")
[
object,
uuid(b722bcca-4e68-101b-a2bc-00aa00404770),
pointer_default(unique)
]
interface IContinueCallback : IUnknown
{
typedef [unique] IContinueCallback *LPCONTINUECALLBACK;
HRESULT FContinue();
HRESULT FContinuePrinting(
[in] LONG nCntPrinted,
[in] LONG nCurPage,
[in, unique] wchar_t * pwszPrintStatus);
}
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1998.
//
// Contents: IPrint interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPPRINT_DEFINED")
cpp_quote("#define _LPPRINT_DEFINED")
[
object,
uuid(b722bcc9-4e68-101b-a2bc-00aa00404770),
pointer_default(unique)
]
interface IPrint : IUnknown
{
typedef [unique] IPrint *LPPRINT;
typedef enum
{
PRINTFLAG_MAYBOTHERUSER = 1,
PRINTFLAG_PROMPTUSER = 2,
PRINTFLAG_USERMAYCHANGEPRINTER = 4,
PRINTFLAG_RECOMPOSETODEVICE = 8,
PRINTFLAG_DONTACTUALLYPRINT = 16,
PRINTFLAG_FORCEPROPERTIES = 32,
PRINTFLAG_PRINTTOFILE = 64
} PRINTFLAG;
typedef struct tagPAGERANGE
{
LONG nFromPage;
LONG nToPage;
} PAGERANGE;
typedef struct tagPAGESET
{
ULONG cbStruct;
BOOL fOddPages;
BOOL fEvenPages;
ULONG cPageRange;
[size_is(cPageRange)]
PAGERANGE rgPages[];
} PAGESET;
cpp_quote("#define PAGESET_TOLASTPAGE ((WORD)(-1L))")
HRESULT SetInitialPageNum(
[in] LONG nFirstPage);
HRESULT GetPageInfo(
[out] LONG *pnFirstPage,
[out] LONG *pcPages);
[local]
HRESULT __stdcall Print(
[in] DWORD grfFlags,
[in, out] DVTARGETDEVICE **pptd,
[in, out] PAGESET ** ppPageSet,
[in, out, unique] STGMEDIUM * pstgmOptions,
[in] IContinueCallback *pcallback,
[in] LONG nFirstPage,
[out] LONG *pcPagesPrinted,
[out] LONG *pnLastPage);
[call_as(Print)]
HRESULT __stdcall RemotePrint(
[in] DWORD grfFlags,
[in, out] DVTARGETDEVICE **pptd,
[in, out] PAGESET ** pppageset,
[in, out, unique] RemSTGMEDIUM * pstgmOptions,
[in] IContinueCallback * pcallback,
[in] LONG nFirstPage,
[out] LONG * pcPagesPrinted,
[out] LONG * pnLastPage);
}
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1998.
//
// Contents: IOleCommandTarget interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPOLECOMMANDTARGET_DEFINED")
cpp_quote("#define _LPOLECOMMANDTARGET_DEFINED")
[
//local,
object,
uuid(b722bccb-4e68-101b-a2bc-00aa00404770),
pointer_default(unique)
]
interface IOleCommandTarget : IUnknown
{
typedef [unique] IOleCommandTarget *LPOLECOMMANDTARGET;
typedef enum OLECMDF
{
OLECMDF_SUPPORTED = 0x00000001,
OLECMDF_ENABLED = 0x00000002,
OLECMDF_LATCHED = 0x00000004,
OLECMDF_NINCHED = 0x00000008,
OLECMDF_INVISIBLE = 0x00000010,
OLECMDF_DEFHIDEONCTXTMENU = 0x00000020,
} OLECMDF;
typedef struct _tagOLECMD {
ULONG cmdID;
DWORD cmdf;
} OLECMD;
typedef struct _tagOLECMDTEXT{
DWORD cmdtextf;
ULONG cwActual;
ULONG cwBuf; /* size in wide chars of the buffer for text */
[size_is(cwBuf)]
wchar_t rgwz[]; /* Array into which callee writes the text */
} OLECMDTEXT;
typedef enum OLECMDTEXTF
{
OLECMDTEXTF_NONE = 0,
OLECMDTEXTF_NAME = 1,
OLECMDTEXTF_STATUS = 2,
} OLECMDTEXTF;
typedef enum OLECMDEXECOPT
{
OLECMDEXECOPT_DODEFAULT = 0,
OLECMDEXECOPT_PROMPTUSER = 1,
OLECMDEXECOPT_DONTPROMPTUSER = 2,
OLECMDEXECOPT_SHOWHELP = 3
} OLECMDEXECOPT;
cpp_quote("/* OLECMDID_STOPDOWNLOAD and OLECMDID_ALLOWUILESSSAVEAS are supported for QueryStatus Only */")
typedef enum OLECMDID {
OLECMDID_OPEN = 1,
OLECMDID_NEW = 2,
OLECMDID_SAVE = 3,
OLECMDID_SAVEAS = 4,
OLECMDID_SAVECOPYAS = 5,
OLECMDID_PRINT = 6,
OLECMDID_PRINTPREVIEW = 7,
OLECMDID_PAGESETUP = 8,
OLECMDID_SPELL = 9,
OLECMDID_PROPERTIES = 10,
OLECMDID_CUT = 11,
OLECMDID_COPY = 12,
OLECMDID_PASTE = 13,
OLECMDID_PASTESPECIAL = 14,
OLECMDID_UNDO = 15,
OLECMDID_REDO = 16,
OLECMDID_SELECTALL = 17,
OLECMDID_CLEARSELECTION = 18,
OLECMDID_ZOOM = 19,
OLECMDID_GETZOOMRANGE = 20,
OLECMDID_UPDATECOMMANDS = 21,
OLECMDID_REFRESH = 22,
OLECMDID_STOP = 23,
OLECMDID_HIDETOOLBARS = 24,
OLECMDID_SETPROGRESSMAX = 25,
OLECMDID_SETPROGRESSPOS = 26,
OLECMDID_SETPROGRESSTEXT = 27,
OLECMDID_SETTITLE = 28,
OLECMDID_SETDOWNLOADSTATE = 29,
OLECMDID_STOPDOWNLOAD = 30,
OLECMDID_ONTOOLBARACTIVATED = 31,
OLECMDID_FIND = 32,
OLECMDID_DELETE = 33,
OLECMDID_HTTPEQUIV = 34,
OLECMDID_HTTPEQUIV_DONE = 35,
OLECMDID_ENABLE_INTERACTION = 36,
OLECMDID_ONUNLOAD = 37,
OLECMDID_PROPERTYBAG2 = 38,
OLECMDID_PREREFRESH = 39,
OLECMDID_SHOWSCRIPTERROR = 40,
OLECMDID_SHOWMESSAGE = 41,
OLECMDID_SHOWFIND = 42,
OLECMDID_SHOWPAGESETUP = 43,
OLECMDID_SHOWPRINT = 44,
OLECMDID_CLOSE = 45,
OLECMDID_ALLOWUILESSSAVEAS = 46,
OLECMDID_DONTDOWNLOADCSS = 47,
OLECMDID_UPDATEPAGESTATUS = 48,
OLECMDID_PRINT2 = 49,
OLECMDID_PRINTPREVIEW2 = 50,
OLECMDID_SETPRINTTEMPLATE = 51,
OLECMDID_GETPRINTTEMPLATE = 52,
} OLECMDID;
/* error codes */
cpp_quote("#define OLECMDERR_E_FIRST (OLE_E_LAST+1)")
cpp_quote("#define OLECMDERR_E_NOTSUPPORTED (OLECMDERR_E_FIRST)")
cpp_quote("#define OLECMDERR_E_DISABLED (OLECMDERR_E_FIRST+1)")
cpp_quote("#define OLECMDERR_E_NOHELP (OLECMDERR_E_FIRST+2)")
cpp_quote("#define OLECMDERR_E_CANCELED (OLECMDERR_E_FIRST+3)")
cpp_quote("#define OLECMDERR_E_UNKNOWNGROUP (OLECMDERR_E_FIRST+4)")
cpp_quote("#define MSOCMDERR_E_FIRST OLECMDERR_E_FIRST")
cpp_quote("#define MSOCMDERR_E_NOTSUPPORTED OLECMDERR_E_NOTSUPPORTED")
cpp_quote("#define MSOCMDERR_E_DISABLED OLECMDERR_E_DISABLED")
cpp_quote("#define MSOCMDERR_E_NOHELP OLECMDERR_E_NOHELP")
cpp_quote("#define MSOCMDERR_E_CANCELED OLECMDERR_E_CANCELED")
cpp_quote("#define MSOCMDERR_E_UNKNOWNGROUP OLECMDERR_E_UNKNOWNGROUP")
[input_sync]
HRESULT QueryStatus(
[in, unique] const GUID *pguidCmdGroup,
[in] ULONG cCmds,
[size_is(cCmds)]
[in, out] OLECMD prgCmds[],
[in, out, unique] OLECMDTEXT *pCmdText);
HRESULT Exec(
[in, unique] const GUID *pguidCmdGroup,
[in] DWORD nCmdID,
[in] DWORD nCmdexecopt,
[in, unique] VARIANT *pvaIn,
[in, out, unique] VARIANT *pvaOut);
}
cpp_quote("#endif")
cpp_quote("typedef enum")
cpp_quote("{")
cpp_quote(" OLECMDIDF_REFRESH_NORMAL = 0,")
cpp_quote(" OLECMDIDF_REFRESH_IFEXPIRED = 1,")
cpp_quote(" OLECMDIDF_REFRESH_CONTINUE = 2,")
cpp_quote(" OLECMDIDF_REFRESH_COMPLETELY = 3,")
cpp_quote(" OLECMDIDF_REFRESH_NO_CACHE = 4,")
cpp_quote(" OLECMDIDF_REFRESH_RELOAD = 5,")
cpp_quote(" OLECMDIDF_REFRESH_LEVELMASK = 0x00FF,")
cpp_quote(" OLECMDIDF_REFRESH_CLEARUSERINPUT = 0x1000,")
cpp_quote(" OLECMDIDF_REFRESH_PROMPTIFOFFLINE = 0x2000,")
cpp_quote(" OLECMDIDF_REFRESH_THROUGHSCRIPT = 0x4000")
cpp_quote("} OLECMDID_REFRESHFLAG;")
cpp_quote("")
cpp_quote("////////////////////////////////////////////////////////////////////////////")
cpp_quote("// Aliases to original office-compatible names")
cpp_quote("#define IMsoDocument IOleDocument")
cpp_quote("#define IMsoDocumentSite IOleDocumentSite")
cpp_quote("#define IMsoView IOleDocumentView")
cpp_quote("#define IEnumMsoView IEnumOleDocumentViews")
cpp_quote("#define IMsoCommandTarget IOleCommandTarget")
cpp_quote("#define LPMSODOCUMENT LPOLEDOCUMENT")
cpp_quote("#define LPMSODOCUMENTSITE LPOLEDOCUMENTSITE")
cpp_quote("#define LPMSOVIEW LPOLEDOCUMENTVIEW")
cpp_quote("#define LPENUMMSOVIEW LPENUMOLEDOCUMENTVIEWS")
cpp_quote("#define LPMSOCOMMANDTARGET LPOLECOMMANDTARGET")
cpp_quote("#define MSOCMD OLECMD")
cpp_quote("#define MSOCMDTEXT OLECMDTEXT")
cpp_quote("#define IID_IMsoDocument IID_IOleDocument")
cpp_quote("#define IID_IMsoDocumentSite IID_IOleDocumentSite")
cpp_quote("#define IID_IMsoView IID_IOleDocumentView")
cpp_quote("#define IID_IEnumMsoView IID_IEnumOleDocumentViews")
cpp_quote("#define IID_IMsoCommandTarget IID_IOleCommandTarget")
cpp_quote("#define MSOCMDF_SUPPORTED OLECMDF_SUPPORTED")
cpp_quote("#define MSOCMDF_ENABLED OLECMDF_ENABLED")
cpp_quote("#define MSOCMDF_LATCHED OLECMDF_LATCHED")
cpp_quote("#define MSOCMDF_NINCHED OLECMDF_NINCHED")
cpp_quote("#define MSOCMDTEXTF_NONE OLECMDTEXTF_NONE")
cpp_quote("#define MSOCMDTEXTF_NAME OLECMDTEXTF_NAME")
cpp_quote("#define MSOCMDTEXTF_STATUS OLECMDTEXTF_STATUS")
cpp_quote("#define MSOCMDEXECOPT_DODEFAULT OLECMDEXECOPT_DODEFAULT")
cpp_quote("#define MSOCMDEXECOPT_PROMPTUSER OLECMDEXECOPT_PROMPTUSER")
cpp_quote("#define MSOCMDEXECOPT_DONTPROMPTUSER OLECMDEXECOPT_DONTPROMPTUSER")
cpp_quote("#define MSOCMDEXECOPT_SHOWHELP OLECMDEXECOPT_SHOWHELP")
cpp_quote("#define MSOCMDID_OPEN OLECMDID_OPEN")
cpp_quote("#define MSOCMDID_NEW OLECMDID_NEW")
cpp_quote("#define MSOCMDID_SAVE OLECMDID_SAVE")
cpp_quote("#define MSOCMDID_SAVEAS OLECMDID_SAVEAS")
cpp_quote("#define MSOCMDID_SAVECOPYAS OLECMDID_SAVECOPYAS")
cpp_quote("#define MSOCMDID_PRINT OLECMDID_PRINT")
cpp_quote("#define MSOCMDID_PRINTPREVIEW OLECMDID_PRINTPREVIEW")
cpp_quote("#define MSOCMDID_PAGESETUP OLECMDID_PAGESETUP")
cpp_quote("#define MSOCMDID_SPELL OLECMDID_SPELL")
cpp_quote("#define MSOCMDID_PROPERTIES OLECMDID_PROPERTIES")
cpp_quote("#define MSOCMDID_CUT OLECMDID_CUT")
cpp_quote("#define MSOCMDID_COPY OLECMDID_COPY")
cpp_quote("#define MSOCMDID_PASTE OLECMDID_PASTE")
cpp_quote("#define MSOCMDID_PASTESPECIAL OLECMDID_PASTESPECIAL")
cpp_quote("#define MSOCMDID_UNDO OLECMDID_UNDO")
cpp_quote("#define MSOCMDID_REDO OLECMDID_REDO")
cpp_quote("#define MSOCMDID_SELECTALL OLECMDID_SELECTALL")
cpp_quote("#define MSOCMDID_CLEARSELECTION OLECMDID_CLEARSELECTION")
cpp_quote("#define MSOCMDID_ZOOM OLECMDID_ZOOM")
cpp_quote("#define MSOCMDID_GETZOOMRANGE OLECMDID_GETZOOMRANGE")
cpp_quote("EXTERN_C const GUID SID_SContainerDispatch;")