mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 02:05:08 +00:00
361 lines
13 KiB
C
361 lines
13 KiB
C
/**
|
|
* 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
|