2 * ole.h - Declarations for OLESVR and OLECLI
5 typedef LPCSTR OLE_LPCSTR
;
13 #define OLEVERB_PRIMARY 0
20 OLE_ERROR_PROTECT_ONLY
,
58 OLE_ERROR_ADVISE_NATIVE
,
59 OLE_ERROR_ADVISE_PICT
,
60 OLE_ERROR_ADVISE_RENAME
,
61 OLE_ERROR_POKE_NATIVE
,
62 OLE_ERROR_REQUEST_NATIVE
,
63 OLE_ERROR_REQUEST_PICT
,
64 OLE_ERROR_SERVER_BLOCKED
,
65 OLE_ERROR_REGISTRATION
,
66 OLE_ERROR_ALREADY_REGISTERED
,
69 OLE_ERROR_CANT_UPDATE_CLIENT
,
71 OLE_ERROR_SETDATA_FORMAT
,
72 OLE_ERROR_STATIC_FROM_OTHER_OS
,
73 OLE_WARN_DELETE_DATA
= 1000
104 typedef LONG LHSERVER
;
105 typedef LONG LHSERVERDOC
;
106 typedef LONG LHCLIENTDOC
;
107 typedef LONG OLECLIPFORMAT
;/* dunno about this type, please change/add */
108 typedef OLEOPT_UPDATE
* LPOLEOPT_UPDATE
;
112 OLE_DELETE
, /* delete object */
113 OLE_LNKPASTE
, /* link paste */
114 OLE_EMBPASTE
, /* paste(and update) */
121 OLE_SETUPDATEOPTIONS
,
122 OLE_SERVERRUNLAUNCH
, /* unlaunch (terminate?) server */
123 OLE_LOADFROMSTREAM
, /* (auto reconnect) */
124 OLE_SETDATA
, /* OleSetData */
125 OLE_REQUESTDATA
, /* OleRequestData */
128 OLE_CREATEFROMTEMPLATE
,
129 OLE_CREATELINKFROMFILE
,
133 } OLE_RELEASE_METHOD
;
135 typedef struct _OLETARGETDEVICE
{
136 UINT otdDeviceNameOffset
;
137 UINT otdDriverNameOffset
;
138 UINT otdPortNameOffset
;
139 UINT otdExtDevmodeOffset
;
140 UINT otdExtDevmodeSize
;
141 UINT otdEnvironmentOffset
;
142 UINT otdEnvironmentSize
;
146 typedef struct _OLESTREAM
* LPOLESTREAM
;
147 typedef struct _OLESTREAMVTBL
{
148 DWORD (*Get
)(LPOLESTREAM
,LPSTR
,DWORD
);
149 DWORD (*Put
)(LPOLESTREAM
,LPSTR
,DWORD
);
151 typedef OLESTREAMVTBL
* LPOLESTREAMVTBL
;
152 typedef struct _OLESTREAM
{
153 LPOLESTREAMVTBL lpstbl
;
155 typedef struct _OLESERVERDOC
* LPOLESERVERDOC
;
156 typedef struct _OLEOBJECT
* LPOLEOBJECT
;
157 typedef struct _OLECLIENT
* LPOLECLIENT
;
158 typedef struct _OLESERVERDOCVTBL
{
159 OLESTATUS (*Save
)(LPOLESERVERDOC
);
160 OLESTATUS (*Close
)(LPOLESERVERDOC
);
161 OLESTATUS (*SetHostNames
)(LPOLESERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
);
162 OLESTATUS (*SetDocDimensions
)(LPOLESERVERDOC
,LPRECT16
);
163 OLESTATUS (*GetObject
)(LPOLESERVERDOC
,OLE_LPCSTR
,LPOLEOBJECT
*,LPOLECLIENT
);
164 OLESTATUS (*Release
)(LPOLESERVERDOC
);
165 OLESTATUS (*SetColorScheme
)(LPOLESERVERDOC
,LPLOGPALETTE
);
166 OLESTATUS (*Execute
)(LPOLESERVERDOC
,HGLOBAL
);
168 typedef OLESERVERDOCVTBL
* LPOLESERVERDOCVTBL
;
169 typedef struct _OLESERVERDOC
{
170 LPOLESERVERDOCVTBL lpvtbl
;
171 /* server provided state info */
174 typedef struct _OLESERVER
* LPOLESERVER
;
175 typedef struct _OLESERVERVTBL
{
176 OLESTATUS (*Open
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,LPOLESERVERDOC
*);
177 OLESTATUS (*Create
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC
*);
178 OLESTATUS (*CreateFromTemplate
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC
*);
179 OLESTATUS (*Edit
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC
*);
180 OLESTATUS (*Exit
)(LPOLESERVER
);
181 OLESTATUS (*Release
)(LPOLESERVER
);
182 OLESTATUS (*Execute
)(LPOLESERVER
);
184 typedef OLESERVERVTBL
*LPOLESERVERVTBL
;
185 typedef struct _OLESERVER
{
186 LPOLESERVERVTBL lpvtbl
;
187 /* server specific data */
189 typedef struct _OLECLIENTVTBL
{
190 int (*CallBack
)(LPOLECLIENT
,OLE_NOTIFICATION
,LPOLEOBJECT
);
192 typedef OLECLIENTVTBL
*LPOLECLIENTVTBL
;
194 typedef struct _OLECLIENT
{
195 LPOLECLIENTVTBL lpvtbl
;
199 typedef struct _OLEOBJECTVTBL
{
200 void * (*QueryProtocol
)(LPOLEOBJECT
,OLE_LPCSTR
);
201 OLESTATUS (*Release
)(LPOLEOBJECT
);
202 OLESTATUS (*Show
)(LPOLEOBJECT
,BOOL
);
203 OLESTATUS (*DoVerb
)(LPOLEOBJECT
,UINT
,BOOL
,BOOL
);
204 OLESTATUS (*GetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE
*);
205 OLESTATUS (*SetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE
);
206 OLESTATUS (*SetTargetDevice
)(LPOLEOBJECT
,HGLOBAL
);
207 OLESTATUS (*SetBounds
)(LPOLEOBJECT
,LPRECT16
);
208 OLESTATUS (*EnumFormats
)(LPOLEOBJECT
,OLECLIPFORMAT
);
209 OLESTATUS (*SetColorScheme
)(LPOLEOBJECT
,LPLOGPALETTE
);
210 OLESTATUS (*Delete
)(LPOLEOBJECT
);
211 OLESTATUS (*SetHostNames
)(LPOLEOBJECT
,OLE_LPCSTR
,OLE_LPCSTR
);
212 OLESTATUS (*SaveToStream
)(LPOLEOBJECT
,LPOLESTREAM
);
213 OLESTATUS (*Clone
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
214 OLESTATUS (*CopyFromLink
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
215 OLESTATUS (*Equal
)(LPOLEOBJECT
,LPOLEOBJECT
);
216 OLESTATUS (*CopyToClipBoard
)(LPOLEOBJECT
);
217 OLESTATUS (*Draw
)(LPOLEOBJECT
,HDC
,LPRECT16
,LPRECT16
,HDC
);
218 OLESTATUS (*Activate
)(LPOLEOBJECT
,UINT
,BOOL
,BOOL
,HWND
,LPRECT16
);
219 OLESTATUS (*Execute
)(LPOLEOBJECT
,HGLOBAL
,UINT
);
220 OLESTATUS (*Close
)(LPOLEOBJECT
);
221 OLESTATUS (*Update
)(LPOLEOBJECT
);
222 OLESTATUS (*Reconnect
)(LPOLEOBJECT
);
223 OLESTATUS (*ObjectConvert
)(LPOLEOBJECT
,OLE_LPCSTR
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
224 OLESTATUS (*GetLinkUpdateOptions
)(LPOLEOBJECT
,LPOLEOPT_UPDATE
);
225 OLESTATUS (*SetLinkUpdateOptions
)(LPOLEOBJECT
,OLEOPT_UPDATE
);
226 OLESTATUS (*Rename
)(LPOLEOBJECT
,OLE_LPCSTR
);
227 OLESTATUS (*QueryName
)(LPOLEOBJECT
,LPSTR
,LPUINT16
);
228 OLESTATUS (*QueryType
)(LPOLEOBJECT
,LPLONG
);
229 OLESTATUS (*QueryBounds
)(LPOLEOBJECT
,LPRECT16
);
230 OLESTATUS (*QuerySize
)(LPOLEOBJECT
,LPDWORD
);
231 OLESTATUS (*QueryOpen
)(LPOLEOBJECT
);
232 OLESTATUS (*QueryOutOfDate
)(LPOLEOBJECT
);
233 OLESTATUS (*QueryReleaseStatus
)(LPOLEOBJECT
);
234 OLESTATUS (*QueryReleaseError
)(LPOLEOBJECT
);
235 OLE_RELEASE_METHOD (*QueryReleaseMethod
)(LPOLEOBJECT
);
236 OLESTATUS (*RequestData
)(LPOLEOBJECT
,OLECLIPFORMAT
);
237 OLESTATUS (*ObjectLong
)(LPOLEOBJECT
,UINT
,LPLONG
);
239 typedef OLEOBJECTVTBL
* LPOLEOBJECTVTBL
;
241 typedef struct _OLEOBJECT
{
242 LPOLEOBJECTVTBL lpvtbl
;
246 OLESTATUS
OleRegisterServer(LPCSTR
,LPOLESERVER
,LHSERVER
*,HINSTANCE
,OLE_SERVER_USE
);
247 OLESTATUS
OleUnblockServer(LHSERVER
,BOOL
*);
248 OLESTATUS
OleRegisterServerDoc(LHSERVER
,LPCSTR
,LPOLESERVERDOC
,LHSERVERDOC
*);
249 OLESTATUS
OleRegisterClientDoc(LPCSTR
,LPCSTR
,LONG
,LHCLIENTDOC
*);
250 OLESTATUS
OleRenameClientDoc(LHCLIENTDOC
,LPCSTR
);
251 OLESTATUS
OleRevokeServerDoc(LHSERVERDOC
);
252 OLESTATUS
OleRevokeClientDoc(LHCLIENTDOC
);
253 OLESTATUS
OleRevokeServer(LHSERVER
);