📄 ole.h
字号:
OLESTATUS (CALLBACK* SetBounds) (LPOLEOBJECT, OLE_CONST RECT FAR*);
OLECLIPFORMAT (CALLBACK* EnumFormats) (LPOLEOBJECT, OLECLIPFORMAT);
OLESTATUS (CALLBACK* SetColorScheme) (LPOLEOBJECT, OLE_CONST LOGPALETTE FAR*);
/* Server has to implement only the above methods. */
#ifndef SERVERONLY
/* Extra methods required for client. */
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 FAR*);
OLESTATUS (CALLBACK* CopyFromLink) (LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, OLE_LPCSTR, LPOLEOBJECT FAR*);
OLESTATUS (CALLBACK* Equal) (LPOLEOBJECT, LPOLEOBJECT);
OLESTATUS (CALLBACK* CopyToClipboard) (LPOLEOBJECT);
OLESTATUS (CALLBACK* Draw) (LPOLEOBJECT, HDC, OLE_CONST RECT FAR*, OLE_CONST RECT FAR*, HDC);
OLESTATUS (CALLBACK* Activate) (LPOLEOBJECT, UINT, BOOL, BOOL, HWND, OLE_CONST RECT FAR*);
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 FAR*);
OLESTATUS (CALLBACK* GetLinkUpdateOptions) (LPOLEOBJECT, OLEOPT_UPDATE FAR*);
OLESTATUS (CALLBACK* SetLinkUpdateOptions) (LPOLEOBJECT, OLEOPT_UPDATE);
OLESTATUS (CALLBACK* Rename) (LPOLEOBJECT, OLE_LPCSTR);
OLESTATUS (CALLBACK* QueryName) (LPOLEOBJECT, LPSTR, UINT FAR*);
OLESTATUS (CALLBACK* QueryType) (LPOLEOBJECT, LONG FAR*);
OLESTATUS (CALLBACK* QueryBounds) (LPOLEOBJECT, RECT FAR*);
OLESTATUS (CALLBACK* QuerySize) (LPOLEOBJECT, DWORD FAR*);
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 FAR*);
/* This method is internal only */
OLESTATUS (CALLBACK* ChangeData) (LPOLEOBJECT, HANDLE, LPOLECLIENT, BOOL);
#endif /* !SERVERONLY */
} OLEOBJECTVTBL;
typedef OLEOBJECTVTBL FAR* LPOLEOBJECTVTBL;
typedef struct _OLEOBJECT
{
LPOLEOBJECTVTBL lpvtbl;
} OLEOBJECT;
#endif /* !OLE_NTERNAL */
/* ole client definitions */
typedef struct _OLECLIENTVTBL
{
int (CALLBACK* CallBack)(LPOLECLIENT, OLE_NOTIFICATION, LPOLEOBJECT);
} OLECLIENTVTBL;
typedef OLECLIENTVTBL FAR* LPOLECLIENTVTBL;
typedef struct _OLECLIENT
{
LPOLECLIENTVTBL lpvtbl;
} OLECLIENT;
/* Stream definitions */
typedef struct _OLESTREAMVTBL
{
DWORD (CALLBACK* Get)(LPOLESTREAM, void FAR*, DWORD);
DWORD (CALLBACK* Put)(LPOLESTREAM, OLE_CONST void FAR*, DWORD);
} OLESTREAMVTBL;
typedef OLESTREAMVTBL FAR* LPOLESTREAMVTBL;
typedef struct _OLESTREAM
{
LPOLESTREAMVTBL lpstbl;
} OLESTREAM;
/* Public Function Prototypes */
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 FAR*);
OLESTATUS WINAPI OleSetColorScheme(LPOLEOBJECT, const LOGPALETTE FAR*);
OLESTATUS WINAPI OleQueryBounds(LPOLEOBJECT, RECT FAR*);
OLESTATUS WINAPI OleQuerySize(LPOLEOBJECT, DWORD FAR*);
OLESTATUS WINAPI OleDraw(LPOLEOBJECT, HDC, const RECT FAR*, const RECT FAR*, HDC);
OLESTATUS WINAPI OleQueryOpen(LPOLEOBJECT);
OLESTATUS WINAPI OleActivate(LPOLEOBJECT, UINT, BOOL, BOOL, HWND, const RECT FAR*);
OLESTATUS WINAPI OleExecute(LPOLEOBJECT, HGLOBAL, UINT);
OLESTATUS WINAPI OleClose(LPOLEOBJECT);
OLESTATUS WINAPI OleUpdate(LPOLEOBJECT);
OLESTATUS WINAPI OleReconnect(LPOLEOBJECT);
OLESTATUS WINAPI OleGetLinkUpdateOptions(LPOLEOBJECT, OLEOPT_UPDATE FAR*);
OLESTATUS WINAPI OleSetLinkUpdateOptions(LPOLEOBJECT, OLEOPT_UPDATE);
void FAR* WINAPI OleQueryProtocol(LPOLEOBJECT, LPCSTR);
/* Routines related to asynchronous operations. */
OLESTATUS WINAPI OleQueryReleaseStatus(LPOLEOBJECT);
OLESTATUS WINAPI OleQueryReleaseError(LPOLEOBJECT);
OLE_RELEASE_METHOD WINAPI OleQueryReleaseMethod(LPOLEOBJECT);
OLESTATUS WINAPI OleQueryType(LPOLEOBJECT, LONG FAR*);
/* LOWORD is major version, HIWORD is minor version */
DWORD WINAPI OleQueryClientVersion(void);
DWORD WINAPI OleQueryServerVersion(void);
/* Converting to format (as in clipboard): */
OLECLIPFORMAT WINAPI OleEnumFormats(LPOLEOBJECT, OLECLIPFORMAT);
OLESTATUS WINAPI OleGetData(LPOLEOBJECT, OLECLIPFORMAT, HANDLE FAR*);
OLESTATUS WINAPI OleSetData(LPOLEOBJECT, OLECLIPFORMAT, HANDLE);
OLESTATUS WINAPI OleQueryOutOfDate(LPOLEOBJECT);
OLESTATUS WINAPI OleRequestData(LPOLEOBJECT, OLECLIPFORMAT);
/* Query apis for creation from clipboard */
OLESTATUS WINAPI OleQueryLinkFromClip(LPCSTR, OLEOPT_RENDER, OLECLIPFORMAT);
OLESTATUS WINAPI OleQueryCreateFromClip(LPCSTR, OLEOPT_RENDER, OLECLIPFORMAT);
/* Object creation functions */
OLESTATUS WINAPI OleCreateFromClip(LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
OLESTATUS WINAPI OleCreateLinkFromClip(LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
OLESTATUS WINAPI OleCreateFromFile(LPCSTR, LPOLECLIENT, LPCSTR, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
OLESTATUS WINAPI OleCreateLinkFromFile(LPCSTR, LPOLECLIENT, LPCSTR, LPCSTR, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
OLESTATUS WINAPI OleLoadFromStream(LPOLESTREAM, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*);
OLESTATUS WINAPI OleCreate(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
OLESTATUS WINAPI OleCreateInvisible(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT, BOOL);
OLESTATUS WINAPI OleCreateFromTemplate(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
OLESTATUS WINAPI OleClone(LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*);
OLESTATUS WINAPI OleCopyFromLink(LPOLEOBJECT, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*);
OLESTATUS WINAPI OleObjectConvert(LPOLEOBJECT, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*);
OLESTATUS WINAPI OleRename(LPOLEOBJECT, LPCSTR);
OLESTATUS WINAPI OleQueryName(LPOLEOBJECT, LPSTR, UINT FAR*);
OLESTATUS WINAPI OleRevokeObject(LPOLECLIENT);
BOOL WINAPI OleIsDcMeta(HDC);
/* client document API */
OLESTATUS WINAPI OleRegisterClientDoc(LPCSTR, LPCSTR, LONG, LHCLIENTDOC FAR*);
OLESTATUS WINAPI OleRevokeClientDoc(LHCLIENTDOC);
OLESTATUS WINAPI OleRenameClientDoc(LHCLIENTDOC, LPCSTR);
OLESTATUS WINAPI OleRevertClientDoc(LHCLIENTDOC);
OLESTATUS WINAPI OleSavedClientDoc(LHCLIENTDOC);
OLESTATUS WINAPI OleEnumObjects(LHCLIENTDOC, LPOLEOBJECT FAR*);
/* server usage definitions */
typedef enum {
OLE_SERVER_MULTI, /* multiple instances */
OLE_SERVER_SINGLE /* single instance(multiple document) */
} OLE_SERVER_USE;
/* Server API */
typedef struct _OLESERVER FAR* LPOLESERVER;
OLESTATUS WINAPI OleRegisterServer(LPCSTR, LPOLESERVER, LHSERVER FAR*, HINSTANCE, OLE_SERVER_USE);
OLESTATUS WINAPI OleRevokeServer(LHSERVER);
OLESTATUS WINAPI OleBlockServer(LHSERVER);
OLESTATUS WINAPI OleUnblockServer(LHSERVER, BOOL FAR*);
/* APIs to keep server open */
OLESTATUS WINAPI OleLockServer(LPOLEOBJECT, LHSERVER FAR*);
OLESTATUS WINAPI OleUnlockServer(LHSERVER);
/* Server document API */
typedef struct _OLESERVERDOC FAR* LPOLESERVERDOC;
OLESTATUS WINAPI OleRegisterServerDoc(LHSERVER, LPCSTR, LPOLESERVERDOC, LHSERVERDOC FAR*);
OLESTATUS WINAPI OleRevokeServerDoc(LHSERVERDOC);
OLESTATUS WINAPI OleRenameServerDoc(LHSERVERDOC, LPCSTR);
OLESTATUS WINAPI OleRevertServerDoc(LHSERVERDOC);
OLESTATUS WINAPI OleSavedServerDoc(LHSERVERDOC);
typedef struct _OLESERVERVTBL
{
OLESTATUS (CALLBACK* Open) (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, LPOLESERVERDOC FAR*);
/* long handle to doc(privtate to DLL) */
/* lp to OLESERVER */
/* document name */
/* place holder for returning oledoc. */
OLESTATUS (CALLBACK* Create)(LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC FAR*);
/* long handle to doc(privtate to DLL) */
/* lp to OLESERVER */
/* lp class name */
/* lp doc name */
/* place holder for returning oledoc. */
OLESTATUS (CALLBACK* CreateFromTemplate)(LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC FAR*);
/* long handle to doc(privtate to DLL) */
/* lp to OLESERVER */
/* lp class name */
/* lp doc name */
/* lp template name */
/* place holder for returning oledoc. */
OLESTATUS (CALLBACK* Edit) (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC FAR*);
/* long handle to doc(privtate to DLL) */
/* lp to OLESERVER */
/* lp class name */
/* lp doc name */
/* place holder for returning oledoc. */
OLESTATUS (CALLBACK* Exit) (LPOLESERVER);
/* lp OLESERVER */
OLESTATUS (CALLBACK* Release) (LPOLESERVER);
/* lp OLESERVER */
OLESTATUS (CALLBACK* Execute)(LPOLESERVER, HGLOBAL);
/* lp OLESERVER */
/* handle to command strings */
} OLESERVERVTBL;
typedef OLESERVERVTBL FAR* 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 FAR*);
OLESTATUS (CALLBACK* GetObject) (LPOLESERVERDOC, OLE_LPCSTR, LPOLEOBJECT FAR*, LPOLECLIENT);
OLESTATUS (CALLBACK* Release) (LPOLESERVERDOC);
OLESTATUS (CALLBACK* SetColorScheme)(LPOLESERVERDOC, OLE_CONST LOGPALETTE FAR*);
OLESTATUS (CALLBACK* Execute) (LPOLESERVERDOC, HGLOBAL);
} OLESERVERDOCVTBL;
typedef OLESERVERDOCVTBL FAR* LPOLESERVERDOCVTBL;
typedef struct _OLESERVERDOC
{
LPOLESERVERDOCVTBL lpvtbl;
} OLESERVERDOC;
#ifdef __cplusplus
}
#endif /* __cplusplus */
#ifndef RC_INVOKED
#pragma pack()
#endif /* !RC_INVOKED */
#endif /* !_INC_OLE */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -