123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361 |
- /**
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER within this package.
- */
- #include <winapifamily.h>
- #ifndef _INC_OLE
- #define _INC_OLE
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef WINAPI
- #define WINAPI PASCAL
- #define CALLBACK PASCAL
- #define LPCSTR LPSTR
- #define LRESULT LONG_PTR
- #define HGLOBAL HANDLE
- #endif
- #ifdef STRICT
- #define OLE_LPCSTR LPCSTR
- #define OLE_CONST const
- #else
- #define OLE_LPCSTR LPSTR
- #define OLE_CONST
- #endif
- #define LRESULT LONG_PTR
- #define HGLOBAL HANDLE
- #define OT_LINK __MSABI_LONG(1)
- #define OT_EMBEDDED __MSABI_LONG(2)
- #define OT_STATIC __MSABI_LONG(3)
- #define OLEVERB_PRIMARY 0
- typedef struct _OLETARGETDEVICE {
- USHORT otdDeviceNameOffset;
- USHORT otdDriverNameOffset;
- USHORT otdPortNameOffset;
- USHORT otdExtDevmodeOffset;
- USHORT otdExtDevmodeSize;
- USHORT otdEnvironmentOffset;
- USHORT otdEnvironmentSize;
- BYTE otdData[1];
- } OLETARGETDEVICE;
- typedef OLETARGETDEVICE *LPOLETARGETDEVICE;
- #define OF_SET 0x1
- #define OF_GET 0x2
- #define OF_HANDLER 0x4
- typedef enum {
- OLE_OK,
- OLE_WAIT_FOR_RELEASE,
- OLE_BUSY,
- OLE_ERROR_PROTECT_ONLY,
- OLE_ERROR_MEMORY,
- OLE_ERROR_STREAM,
- OLE_ERROR_STATIC,
- OLE_ERROR_BLANK,
- OLE_ERROR_DRAW,
- OLE_ERROR_METAFILE,
- OLE_ERROR_ABORT,
- OLE_ERROR_CLIPBOARD,
- OLE_ERROR_FORMAT,
- OLE_ERROR_OBJECT,
- OLE_ERROR_OPTION,
- OLE_ERROR_PROTOCOL,
- OLE_ERROR_ADDRESS,
- OLE_ERROR_NOT_EQUAL,
- OLE_ERROR_HANDLE,
- OLE_ERROR_GENERIC,
- OLE_ERROR_CLASS,
- OLE_ERROR_SYNTAX,
- OLE_ERROR_DATATYPE,
- OLE_ERROR_PALETTE,
- OLE_ERROR_NOT_LINK,
- OLE_ERROR_NOT_EMPTY,
- OLE_ERROR_SIZE,
- OLE_ERROR_DRIVE,
- OLE_ERROR_NETWORK,
- OLE_ERROR_NAME,
- OLE_ERROR_TEMPLATE,
- OLE_ERROR_NEW,
- OLE_ERROR_EDIT,
- OLE_ERROR_OPEN,
- OLE_ERROR_NOT_OPEN,
- OLE_ERROR_LAUNCH,
- OLE_ERROR_COMM,
- OLE_ERROR_TERMINATE,
- OLE_ERROR_COMMAND,
- OLE_ERROR_SHOW,
- OLE_ERROR_DOVERB,
- OLE_ERROR_ADVISE_NATIVE,
- OLE_ERROR_ADVISE_PICT,
- OLE_ERROR_ADVISE_RENAME,
- OLE_ERROR_POKE_NATIVE,
- OLE_ERROR_REQUEST_NATIVE,
- OLE_ERROR_REQUEST_PICT,
- OLE_ERROR_SERVER_BLOCKED,
- OLE_ERROR_REGISTRATION,
- OLE_ERROR_ALREADY_REGISTERED,
- OLE_ERROR_TASK,
- OLE_ERROR_OUTOFDATE,
- OLE_ERROR_CANT_UPDATE_CLIENT,
- OLE_ERROR_UPDATE,
- OLE_ERROR_SETDATA_FORMAT,
- OLE_ERROR_STATIC_FROM_OTHER_OS,
- OLE_ERROR_FILE_VER,
- OLE_WARN_DELETE_DATA = 1000
- } OLESTATUS;
- typedef enum {
- OLE_CHANGED,
- OLE_SAVED,
- OLE_CLOSED,
- OLE_RENAMED,
- OLE_QUERY_PAINT,
- OLE_RELEASE,
- OLE_QUERY_RETRY
- } OLE_NOTIFICATION;
- typedef enum {
- OLE_NONE,
- OLE_DELETE,
- OLE_LNKPASTE,
- OLE_EMBPASTE,
- OLE_SHOW,
- OLE_RUN,
- OLE_ACTIVATE,
- OLE_UPDATE,
- OLE_CLOSE,
- OLE_RECONNECT,
- OLE_SETUPDATEOPTIONS,
- OLE_SERVERUNLAUNCH,
- OLE_LOADFROMSTREAM,
- OLE_SETDATA,
- OLE_REQUESTDATA,
- OLE_OTHER,
- OLE_CREATE,
- OLE_CREATEFROMTEMPLATE,
- OLE_CREATELINKFROMFILE,
- OLE_COPYFROMLNK,
- OLE_CREATEFROMFILE,
- OLE_CREATEINVISIBLE
- } OLE_RELEASE_METHOD;
- typedef enum {
- olerender_none,
- olerender_draw,
- olerender_format
- } OLEOPT_RENDER;
- typedef WORD OLECLIPFORMAT;
- typedef enum {
- oleupdate_always,
- oleupdate_onsave,
- #ifdef OLE_INTERNAL
- oleupdate_oncall,
- oleupdate_onclose
- #else
- oleupdate_oncall
- #endif
- } OLEOPT_UPDATE;
- typedef HANDLE HOBJECT;
- typedef LONG_PTR LHSERVER;
- typedef LONG_PTR LHCLIENTDOC;
- typedef LONG_PTR LHSERVERDOC;
- typedef struct _OLEOBJECT *LPOLEOBJECT;
- typedef struct _OLESTREAM *LPOLESTREAM;
- typedef struct _OLECLIENT *LPOLECLIENT;
- typedef struct _OLEOBJECTVTBL {
- void *(CALLBACK *QueryProtocol) (LPOLEOBJECT, OLE_LPCSTR);
- OLESTATUS (CALLBACK *Release) (LPOLEOBJECT);
- OLESTATUS (CALLBACK *Show) (LPOLEOBJECT, WINBOOL);
- OLESTATUS (CALLBACK *DoVerb) (LPOLEOBJECT, UINT, WINBOOL, WINBOOL);
- OLESTATUS (CALLBACK *GetData) (LPOLEOBJECT, OLECLIPFORMAT, HANDLE *);
- OLESTATUS (CALLBACK *SetData) (LPOLEOBJECT, OLECLIPFORMAT, HANDLE);
- OLESTATUS (CALLBACK *SetTargetDevice) (LPOLEOBJECT, HGLOBAL);
- OLESTATUS (CALLBACK *SetBounds) (LPOLEOBJECT, OLE_CONST RECT *);
- OLECLIPFORMAT (CALLBACK *EnumFormats) (LPOLEOBJECT, OLECLIPFORMAT);
- OLESTATUS (CALLBACK *SetColorScheme) (LPOLEOBJECT, OLE_CONST LOGPALETTE *);
- #ifndef SERVERONLY
- OLESTATUS (CALLBACK *Delete) (LPOLEOBJECT);
- OLESTATUS (CALLBACK *SetHostNames) (LPOLEOBJECT, OLE_LPCSTR, OLE_LPCSTR);
- OLESTATUS (CALLBACK *SaveToStream) (LPOLEOBJECT, LPOLESTREAM);
- OLESTATUS (CALLBACK *Clone) (LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, OLE_LPCSTR, LPOLEOBJECT *);
- OLESTATUS (CALLBACK *CopyFromLink) (LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, OLE_LPCSTR, LPOLEOBJECT *);
- OLESTATUS (CALLBACK *Equal) (LPOLEOBJECT, LPOLEOBJECT);
- OLESTATUS (CALLBACK *CopyToClipboard) (LPOLEOBJECT);
- OLESTATUS (CALLBACK *Draw) (LPOLEOBJECT, HDC, OLE_CONST RECT *, OLE_CONST RECT *, HDC);
- OLESTATUS (CALLBACK *Activate) (LPOLEOBJECT, UINT, WINBOOL, WINBOOL, HWND, OLE_CONST RECT *);
- OLESTATUS (CALLBACK *Execute) (LPOLEOBJECT, HGLOBAL, UINT);
- OLESTATUS (CALLBACK *Close) (LPOLEOBJECT);
- OLESTATUS (CALLBACK *Update) (LPOLEOBJECT);
- OLESTATUS (CALLBACK *Reconnect) (LPOLEOBJECT);
- OLESTATUS (CALLBACK *ObjectConvert) (LPOLEOBJECT, OLE_LPCSTR, LPOLECLIENT, LHCLIENTDOC, OLE_LPCSTR, LPOLEOBJECT *);
- OLESTATUS (CALLBACK *GetLinkUpdateOptions) (LPOLEOBJECT, OLEOPT_UPDATE *);
- OLESTATUS (CALLBACK *SetLinkUpdateOptions) (LPOLEOBJECT, OLEOPT_UPDATE);
- OLESTATUS (CALLBACK *Rename) (LPOLEOBJECT, OLE_LPCSTR);
- OLESTATUS (CALLBACK *QueryName) (LPOLEOBJECT, LPSTR, UINT *);
- OLESTATUS (CALLBACK *QueryType) (LPOLEOBJECT, LONG *);
- OLESTATUS (CALLBACK *QueryBounds) (LPOLEOBJECT, RECT *);
- OLESTATUS (CALLBACK *QuerySize) (LPOLEOBJECT, DWORD *);
- OLESTATUS (CALLBACK *QueryOpen) (LPOLEOBJECT);
- OLESTATUS (CALLBACK *QueryOutOfDate) (LPOLEOBJECT);
- OLESTATUS (CALLBACK *QueryReleaseStatus) (LPOLEOBJECT);
- OLESTATUS (CALLBACK *QueryReleaseError) (LPOLEOBJECT);
- OLE_RELEASE_METHOD (CALLBACK *QueryReleaseMethod) (LPOLEOBJECT);
- OLESTATUS (CALLBACK *RequestData) (LPOLEOBJECT, OLECLIPFORMAT);
- OLESTATUS (CALLBACK *ObjectLong) (LPOLEOBJECT, UINT, LONG *);
- OLESTATUS (CALLBACK *ChangeData) (LPOLEOBJECT, HANDLE, LPOLECLIENT, WINBOOL);
- #endif
- } OLEOBJECTVTBL;
- typedef OLEOBJECTVTBL *LPOLEOBJECTVTBL;
- #ifndef OLE_INTERNAL
- typedef struct _OLEOBJECT {
- LPOLEOBJECTVTBL lpvtbl;
- } OLEOBJECT;
- #endif
- typedef struct _OLECLIENTVTBL {
- int (CALLBACK *CallBack) (LPOLECLIENT, OLE_NOTIFICATION, LPOLEOBJECT);
- } OLECLIENTVTBL;
- typedef OLECLIENTVTBL *LPOLECLIENTVTBL;
- typedef struct _OLECLIENT {
- LPOLECLIENTVTBL lpvtbl;
- } OLECLIENT;
- typedef struct _OLESTREAMVTBL {
- DWORD (CALLBACK *Get) (LPOLESTREAM, void *, DWORD);
- DWORD (CALLBACK *Put) (LPOLESTREAM, OLE_CONST void *, DWORD);
- } OLESTREAMVTBL;
- typedef OLESTREAMVTBL *LPOLESTREAMVTBL;
- typedef struct _OLESTREAM {
- LPOLESTREAMVTBL lpstbl;
- } OLESTREAM;
- #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
- OLESTATUS WINAPI OleDelete (LPOLEOBJECT);
- OLESTATUS WINAPI OleRelease (LPOLEOBJECT);
- OLESTATUS WINAPI OleSaveToStream (LPOLEOBJECT, LPOLESTREAM);
- OLESTATUS WINAPI OleEqual (LPOLEOBJECT, LPOLEOBJECT);
- OLESTATUS WINAPI OleCopyToClipboard (LPOLEOBJECT);
- OLESTATUS WINAPI OleSetHostNames (LPOLEOBJECT, LPCSTR, LPCSTR);
- OLESTATUS WINAPI OleSetTargetDevice (LPOLEOBJECT, HGLOBAL);
- OLESTATUS WINAPI OleSetBounds (LPOLEOBJECT, const RECT *);
- OLESTATUS WINAPI OleSetColorScheme (LPOLEOBJECT, const LOGPALETTE *);
- OLESTATUS WINAPI OleQueryBounds (LPOLEOBJECT, RECT *);
- OLESTATUS WINAPI OleQuerySize (LPOLEOBJECT, DWORD *);
- OLESTATUS WINAPI OleDraw (LPOLEOBJECT, HDC, const RECT *, const RECT *, HDC);
- OLESTATUS WINAPI OleQueryOpen (LPOLEOBJECT);
- OLESTATUS WINAPI OleActivate (LPOLEOBJECT, UINT, WINBOOL, WINBOOL, HWND, const RECT *);
- OLESTATUS WINAPI OleExecute (LPOLEOBJECT, HGLOBAL, UINT);
- OLESTATUS WINAPI OleClose (LPOLEOBJECT);
- OLESTATUS WINAPI OleUpdate (LPOLEOBJECT);
- OLESTATUS WINAPI OleReconnect (LPOLEOBJECT);
- OLESTATUS WINAPI OleGetLinkUpdateOptions (LPOLEOBJECT, OLEOPT_UPDATE *);
- OLESTATUS WINAPI OleSetLinkUpdateOptions (LPOLEOBJECT, OLEOPT_UPDATE);
- void *WINAPI OleQueryProtocol (LPOLEOBJECT, LPCSTR);
- OLESTATUS WINAPI OleQueryReleaseStatus (LPOLEOBJECT);
- OLESTATUS WINAPI OleQueryReleaseError (LPOLEOBJECT);
- OLE_RELEASE_METHOD WINAPI OleQueryReleaseMethod (LPOLEOBJECT);
- OLESTATUS WINAPI OleQueryType (LPOLEOBJECT, LONG *);
- DWORD WINAPI OleQueryClientVersion (void);
- DWORD WINAPI OleQueryServerVersion (void);
- OLECLIPFORMAT WINAPI OleEnumFormats (LPOLEOBJECT, OLECLIPFORMAT);
- OLESTATUS WINAPI OleGetData (LPOLEOBJECT, OLECLIPFORMAT, HANDLE *);
- OLESTATUS WINAPI OleSetData (LPOLEOBJECT, OLECLIPFORMAT, HANDLE);
- OLESTATUS WINAPI OleQueryOutOfDate (LPOLEOBJECT);
- OLESTATUS WINAPI OleRequestData (LPOLEOBJECT, OLECLIPFORMAT);
- OLESTATUS WINAPI OleQueryLinkFromClip (LPCSTR, OLEOPT_RENDER, OLECLIPFORMAT);
- OLESTATUS WINAPI OleQueryCreateFromClip (LPCSTR, OLEOPT_RENDER, OLECLIPFORMAT);
- OLESTATUS WINAPI OleCreateFromClip (LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *, OLEOPT_RENDER, OLECLIPFORMAT);
- OLESTATUS WINAPI OleCreateLinkFromClip (LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *, OLEOPT_RENDER, OLECLIPFORMAT);
- OLESTATUS WINAPI OleCreateFromFile (LPCSTR, LPOLECLIENT, LPCSTR, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *, OLEOPT_RENDER, OLECLIPFORMAT);
- OLESTATUS WINAPI OleCreateLinkFromFile (LPCSTR, LPOLECLIENT, LPCSTR, LPCSTR, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *, OLEOPT_RENDER, OLECLIPFORMAT);
- OLESTATUS WINAPI OleLoadFromStream (LPOLESTREAM, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *);
- OLESTATUS WINAPI OleCreate (LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *, OLEOPT_RENDER, OLECLIPFORMAT);
- OLESTATUS WINAPI OleCreateInvisible (LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *, OLEOPT_RENDER, OLECLIPFORMAT, WINBOOL);
- OLESTATUS WINAPI OleCreateFromTemplate (LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *, OLEOPT_RENDER, OLECLIPFORMAT);
- OLESTATUS WINAPI OleClone (LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *);
- OLESTATUS WINAPI OleCopyFromLink (LPOLEOBJECT, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *);
- OLESTATUS WINAPI OleObjectConvert (LPOLEOBJECT, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *);
- OLESTATUS WINAPI OleRename (LPOLEOBJECT, LPCSTR);
- OLESTATUS WINAPI OleQueryName (LPOLEOBJECT lpobj, LPSTR lpBuf, UINT *lpcbBuf);
- OLESTATUS WINAPI OleRevokeObject (LPOLECLIENT);
- WINBOOL WINAPI OleIsDcMeta (HDC);
- OLESTATUS WINAPI OleRegisterClientDoc (LPCSTR, LPCSTR, LONG, LHCLIENTDOC *);
- OLESTATUS WINAPI OleRevokeClientDoc (LHCLIENTDOC);
- OLESTATUS WINAPI OleRenameClientDoc (LHCLIENTDOC, LPCSTR);
- OLESTATUS WINAPI OleRevertClientDoc (LHCLIENTDOC);
- OLESTATUS WINAPI OleSavedClientDoc (LHCLIENTDOC);
- OLESTATUS WINAPI OleEnumObjects (LHCLIENTDOC, LPOLEOBJECT *);
- typedef enum {
- OLE_SERVER_MULTI,
- OLE_SERVER_SINGLE
- } OLE_SERVER_USE;
- typedef struct _OLESERVER *LPOLESERVER;
- typedef struct _OLESERVERDOC *LPOLESERVERDOC;
- OLESTATUS WINAPI OleRegisterServer (LPCSTR, LPOLESERVER, LHSERVER *, HINSTANCE, OLE_SERVER_USE);
- OLESTATUS WINAPI OleRevokeServer (LHSERVER);
- OLESTATUS WINAPI OleBlockServer (LHSERVER);
- OLESTATUS WINAPI OleUnblockServer (LHSERVER, WINBOOL *);
- OLESTATUS WINAPI OleLockServer (LPOLEOBJECT, LHSERVER *);
- OLESTATUS WINAPI OleUnlockServer (LHSERVER);
- OLESTATUS WINAPI OleRegisterServerDoc (LHSERVER, LPCSTR, LPOLESERVERDOC, LHSERVERDOC *);
- OLESTATUS WINAPI OleRevokeServerDoc (LHSERVERDOC);
- OLESTATUS WINAPI OleRenameServerDoc (LHSERVERDOC, LPCSTR);
- OLESTATUS WINAPI OleRevertServerDoc (LHSERVERDOC);
- OLESTATUS WINAPI OleSavedServerDoc (LHSERVERDOC);
- #endif
- typedef struct _OLESERVERVTBL {
- OLESTATUS (CALLBACK *Open) (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, LPOLESERVERDOC *);
- OLESTATUS (CALLBACK *Create) (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC *);
- OLESTATUS (CALLBACK *CreateFromTemplate) (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC *);
- OLESTATUS (CALLBACK *Edit) (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC *);
- _Analysis_noreturn_ OLESTATUS (CALLBACK *Exit) (LPOLESERVER);
- OLESTATUS (CALLBACK *Release) (LPOLESERVER);
- OLESTATUS (CALLBACK *Execute) (LPOLESERVER, HGLOBAL);
- } OLESERVERVTBL;
- typedef OLESERVERVTBL *LPOLESERVERVTBL;
- typedef struct _OLESERVER {
- LPOLESERVERVTBL lpvtbl;
- } OLESERVER;
- typedef struct _OLESERVERDOCVTBL {
- OLESTATUS (CALLBACK *Save) (LPOLESERVERDOC);
- OLESTATUS (CALLBACK *Close) (LPOLESERVERDOC);
- OLESTATUS (CALLBACK *SetHostNames) (LPOLESERVERDOC, OLE_LPCSTR, OLE_LPCSTR);
- OLESTATUS (CALLBACK *SetDocDimensions) (LPOLESERVERDOC, OLE_CONST RECT *);
- OLESTATUS (CALLBACK *GetObject) (LPOLESERVERDOC, OLE_LPCSTR, LPOLEOBJECT *, LPOLECLIENT);
- OLESTATUS (CALLBACK *Release) (LPOLESERVERDOC);
- OLESTATUS (CALLBACK *SetColorScheme) (LPOLESERVERDOC, OLE_CONST LOGPALETTE *);
- OLESTATUS (CALLBACK *Execute) (LPOLESERVERDOC, HGLOBAL);
- } OLESERVERDOCVTBL;
- typedef OLESERVERDOCVTBL *LPOLESERVERDOCVTBL;
- typedef struct _OLESERVERDOC {
- LPOLESERVERDOCVTBL lpvtbl;
- } OLESERVERDOC;
- #ifdef __cplusplus
- }
- #endif
- #endif
|