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 (CALLBACK
* Get
)(LPOLESTREAM
,LPSTR
,DWORD
);
149 DWORD (CALLBACK
* 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 (CALLBACK
* Save
)(LPOLESERVERDOC
);
160 OLESTATUS (CALLBACK
* Close
)(LPOLESERVERDOC
);
161 OLESTATUS (CALLBACK
* SetHostNames
)(LPOLESERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
);
162 OLESTATUS (CALLBACK
* SetDocDimensions
)(LPOLESERVERDOC
,LPRECT
);
163 OLESTATUS (CALLBACK
* GetObject
)(LPOLESERVERDOC
,OLE_LPCSTR
,LPOLEOBJECT
*,LPOLECLIENT
);
164 OLESTATUS (CALLBACK
* Release
)(LPOLESERVERDOC
);
165 OLESTATUS (CALLBACK
* SetColorScheme
)(LPOLESERVERDOC
,LPLOGPALETTE
);
166 OLESTATUS (CALLBACK
* 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 (CALLBACK
* Open
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,LPOLESERVERDOC
*);
177 OLESTATUS (CALLBACK
* Create
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC FAR
*);
178 OLESTATUS (CALLBACK
* CreateFromTemplate
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC
*);
179 OLESTATUS (CALLBACK
* Edit
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC
*);
180 OLESTATUS (CALLBACK
* Exit
)(LPOLESERVER
);
181 OLESTATUS (CALLBACK
* Release
)(LPOLESERVER
);
182 OLESTATUS (CALLBACK
* Execute
)(LPOLESERVER
);
184 typedef OLESERVERVTBL
*LPOLESERVERVTBL
;
185 typedef struct _OLESERVER
{
186 LPOLESERVERVTBL lpvtbl
;
187 /* server specific data */
189 typedef struct _OLECLIENTVTBL
{
190 int (CALLBACK
* CallBack
)(LPOLECLIENT
,OLE_NOTIFICATION
,LPOLEOBJECT
);
192 typedef OLECLIENTVTBL
*LPOLECLIENTVTBL
;
194 typedef struct _OLECLIENT
{
195 LPOLECLIENTVTBL lpvtbl
;
199 typedef struct _OLEOBJECTVTBL
{
200 void * (CALLBACK
* QueryProtocol
)(LPOLEOBJECT
,OLE_LPCSTR
);
201 OLESTATUS (CALLBACK
* Release
)(LPOLEOBJECT
);
202 OLESTATUS (CALLBACK
* Show
)(LPOLEOBJECT
,BOOL
);
203 OLESTATUS (CALLBACK
* DoVerb
)(LPOLEOBJECT
,UINT
,BOOL
,BOOL
);
204 OLESTATUS (CALLBACK
* GetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE
*);
205 OLESTATUS (CALLBACK
* SetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE
);
206 OLESTATUS (CALLBACK
* SetTargetDevice
)(LPOLEOBJECT
,HGLOBAL
);
207 OLESTATUS (CALLBACK
* SetBounds
)(LPOLEOBJECT
,LPRECT
);
208 OLESTATUS (CALLBACK
* EnumFormats
)(LPOLEOBJECT
,OLECLIPFORMAT
);
209 OLESTATUS (CALLBACK
* SetColorScheme
)(LPOLEOBJECT
,LPLOGPALETTE
);
210 OLESTATUS (CALLBACK
* Delete
)(LPOLEOBJECT
);
211 OLESTATUS (CALLBACK
* SetHostNames
)(LPOLEOBJECT
,OLE_LPCSTR
,OLE_LPCSTR
);
212 OLESTATUS (CALLBACK
* SaveToStream
)(LPOLEOBJECT
,LPOLESTREAM
);
213 OLESTATUS (CALLBACK
* Clone
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
214 OLESTATUS (CALLBACK
* CopyFromLink
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
215 OLESTATUS (CALLBACK
* Equal
)(LPOLEOBJECT
,LPOLEOBJECT
);
216 OLESTATUS (CALLBACK
* CopyToClipBoard
)(LPOLEOBJECT
);
217 OLESTATUS (CALLBACK
* Draw
)(LPOLEOBJECT
,HDC
,LPRECT
,LPRECT
,HDC
);
218 OLESTATUS (CALLBACK
* Activate
)(LPOLEOBJECT
,UINT
,BOOL
,BOOL
,HWND
,LPRECT
);
219 OLESTATUS (CALLBACK
* Execute
)(LPOLEOBJECT
,HGLOBAL
,UINT
);
220 OLESTATUS (CALLBACK
* Close
)(LPOLEOBJECT
);
221 OLESTATUS (CALLBACK
* Update
)(LPOLEOBJECT
);
222 OLESTATUS (CALLBACK
* Reconnect
)(LPOLEOBJECT
);
223 OLESTATUS (CALLBACK
* ObjectConvert
)(LPOLEOBJECT
,OLE_LPCSTR
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
224 OLESTATUS (CALLBACK
* GetLinkUpdateOptions
)(LPOLEOBJECT
,LPOLEOPT_UPDATE
);
225 OLESTATUS (CALLBACK
* SetLinkUpdateOptions
)(LPOLEOBJECT
,OLEOPT_UPDATE
);
226 OLESTATUS (CALLBACK
* Rename
)(LPOLEOBJECT
,OLE_LPCSTR
);
227 OLESTATUS (CALLBACK
* QueryName
)(LPOLEOBJECT
,LPSTR
,LPUINT
);
228 OLESTATUS (CALLBACK
* QueryType
)(LPOLEOBJECT
,LPLONG
);
229 OLESTATUS (CALLBACK
* QueryBounds
)(LPOLEOBJECT
,LPRECT
);
230 OLESTATUS (CALLBACK
* QuerySize
)(LPOLEOBJECT
,LPDWORD
);
231 OLESTATUS (CALLBACK
* QueryOpen
)(LPOLEOBJECT
);
232 OLESTATUS (CALLBACK
* QueryOutOfDate
)(LPOLEOBJECT
);
233 OLESTATUS (CALLBACK
* QueryReleaseStatus
)(LPOLEOBJECT
);
234 OLESTATUS (CALLBACK
* QueryReleaseError
)(LPOLEOBJECT
);
235 OLE_RELEASE_METHOD (CALLBACK
* QueryReleaseMethod
)(LPOLEOBJECT
);
236 OLESTATUS (CALLBACK
* RequestData
)(LPOLEOBJECT
,OLECLIPFORMAT
);
237 OLESTATUS (CALLBACK
* ObjectLong
)(LPOLEOBJECT
,UINT
,LPLONG
);
239 typedef OLEOBJECTVTBL
* LPOLEOBJECTVTBL
;
241 typedef struct _OLEOBJECT
{
242 LPOLEOBJECTVTBL lpvtbl
;
246 OLESTATUS WINAPI
OleRegisterServer(LPCSTR
,LPOLESERVER
,LHSERVER
*,HINSTANCE
,OLE_SERVER_USE
);
247 OLESTATUS WINAPI
OleUnblockServer(LHSERVER
,BOOL
*);
248 OLESTATUS WINAPI
OleRegisterServerDoc(LHSERVER
,LPCSTR
,LPOLESERVERDOC
,LHSERVERDOC
*);
249 OLESTATUS WINAPI
OleRegisterClientDoc(LPCSTR
,LPCSTR
,LONG
,LHCLIENTDOC
*);
250 OLESTATUS WINAPI
OleRenameClientDoc(LHCLIENTDOC
,LPCSTR
);
251 OLESTATUS WINAPI
OleRevokeServerDoc(LHSERVERDOC
);
252 OLESTATUS WINAPI
OleRevokeClientDoc(LHCLIENTDOC
);
253 OLESTATUS WINAPI
OleRevokeServer(LHSERVER
);