2 * ole.h - Declarations for OLESVR and OLECLI
10 typedef LPVOID LPUNKNOWN
;
11 typedef LPCSTR OLE_LPCSTR
;
19 #define OLEVERB_PRIMARY 0
26 OLE_ERROR_PROTECT_ONLY
,
64 OLE_ERROR_ADVISE_NATIVE
,
65 OLE_ERROR_ADVISE_PICT
,
66 OLE_ERROR_ADVISE_RENAME
,
67 OLE_ERROR_POKE_NATIVE
,
68 OLE_ERROR_REQUEST_NATIVE
,
69 OLE_ERROR_REQUEST_PICT
,
70 OLE_ERROR_SERVER_BLOCKED
,
71 OLE_ERROR_REGISTRATION
,
72 OLE_ERROR_ALREADY_REGISTERED
,
75 OLE_ERROR_CANT_UPDATE_CLIENT
,
77 OLE_ERROR_SETDATA_FORMAT
,
78 OLE_ERROR_STATIC_FROM_OTHER_OS
,
79 OLE_WARN_DELETE_DATA
= 1000
110 typedef LONG LHSERVER
;
111 typedef LONG LHSERVERDOC
;
112 typedef LONG LHCLIENTDOC
;
113 typedef LONG OLECLIPFORMAT
;/* dunno about this type, please change/add */
114 typedef OLEOPT_UPDATE
* LPOLEOPT_UPDATE
;
118 OLE_DELETE
, /* delete object */
119 OLE_LNKPASTE
, /* link paste */
120 OLE_EMBPASTE
, /* paste(and update) */
127 OLE_SETUPDATEOPTIONS
,
128 OLE_SERVERRUNLAUNCH
, /* unlaunch (terminate?) server */
129 OLE_LOADFROMSTREAM
, /* (auto reconnect) */
130 OLE_SETDATA
, /* OleSetData */
131 OLE_REQUESTDATA
, /* OleRequestData */
134 OLE_CREATEFROMTEMPLATE
,
135 OLE_CREATELINKFROMFILE
,
139 } OLE_RELEASE_METHOD
;
141 typedef struct _OLETARGETDEVICE
{
142 UINT otdDeviceNameOffset
;
143 UINT otdDriverNameOffset
;
144 UINT otdPortNameOffset
;
145 UINT otdExtDevmodeOffset
;
146 UINT otdExtDevmodeSize
;
147 UINT otdEnvironmentOffset
;
148 UINT otdEnvironmentSize
;
152 typedef struct _OLESTREAM
* LPOLESTREAM
;
153 typedef struct _OLESTREAMVTBL
{
154 DWORD (*Get
)(LPOLESTREAM
,LPSTR
,DWORD
);
155 DWORD (*Put
)(LPOLESTREAM
,LPSTR
,DWORD
);
157 typedef OLESTREAMVTBL
* LPOLESTREAMVTBL
;
158 typedef struct _OLESTREAM
{
159 LPOLESTREAMVTBL lpstbl
;
161 typedef struct _OLESERVERDOC
* LPOLESERVERDOC
;
162 typedef struct _OLEOBJECT
* LPOLEOBJECT
;
163 typedef struct _OLECLIENT
* LPOLECLIENT
;
164 typedef struct _OLESERVERDOCVTBL
{
165 OLESTATUS (*Save
)(LPOLESERVERDOC
);
166 OLESTATUS (*Close
)(LPOLESERVERDOC
);
167 OLESTATUS (*SetHostNames
)(LPOLESERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
);
168 OLESTATUS (*SetDocDimensions
)(LPOLESERVERDOC
,LPRECT16
);
169 #undef GetObject /* FIXME */
170 OLESTATUS (*GetObject
)(LPOLESERVERDOC
,OLE_LPCSTR
,LPOLEOBJECT
*,LPOLECLIENT
);
171 OLESTATUS (*Release
)(LPOLESERVERDOC
);
172 OLESTATUS (*SetColorScheme
)(LPOLESERVERDOC
,LPLOGPALETTE
);
173 OLESTATUS (*Execute
)(LPOLESERVERDOC
,HGLOBAL16
);
175 typedef OLESERVERDOCVTBL
* LPOLESERVERDOCVTBL
;
176 typedef struct _OLESERVERDOC
{
177 LPOLESERVERDOCVTBL lpvtbl
;
178 /* server provided state info */
181 typedef struct _OLESERVER
* LPOLESERVER
;
182 typedef struct _OLESERVERVTBL
{
183 OLESTATUS (*Open
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,LPOLESERVERDOC
*);
184 OLESTATUS (*Create
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC
*);
185 OLESTATUS (*CreateFromTemplate
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC
*);
186 OLESTATUS (*Edit
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC
*);
187 OLESTATUS (*Exit
)(LPOLESERVER
);
188 OLESTATUS (*Release
)(LPOLESERVER
);
189 OLESTATUS (*Execute
)(LPOLESERVER
);
191 typedef OLESERVERVTBL
*LPOLESERVERVTBL
;
192 typedef struct _OLESERVER
{
193 LPOLESERVERVTBL lpvtbl
;
194 /* server specific data */
196 typedef struct _OLECLIENTVTBL
{
197 int (*CallBack
)(LPOLECLIENT
,OLE_NOTIFICATION
,LPOLEOBJECT
);
199 typedef OLECLIENTVTBL
*LPOLECLIENTVTBL
;
201 typedef struct _OLECLIENT
{
202 LPOLECLIENTVTBL lpvtbl
;
206 typedef struct _OLEOBJECTVTBL
{
207 void * (*QueryProtocol
)(LPOLEOBJECT
,OLE_LPCSTR
);
208 OLESTATUS (*Release
)(LPOLEOBJECT
);
209 OLESTATUS (*Show
)(LPOLEOBJECT
,BOOL
);
210 OLESTATUS (*DoVerb
)(LPOLEOBJECT
,UINT
,BOOL
,BOOL
);
211 OLESTATUS (*GetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE
*);
212 OLESTATUS (*SetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE
);
213 OLESTATUS (*SetTargetDevice
)(LPOLEOBJECT
,HGLOBAL16
);
214 OLESTATUS (*SetBounds
)(LPOLEOBJECT
,LPRECT16
);
215 OLESTATUS (*EnumFormats
)(LPOLEOBJECT
,OLECLIPFORMAT
);
216 OLESTATUS (*SetColorScheme
)(LPOLEOBJECT
,LPLOGPALETTE
);
217 OLESTATUS (*Delete
)(LPOLEOBJECT
);
218 OLESTATUS (*SetHostNames
)(LPOLEOBJECT
,OLE_LPCSTR
,OLE_LPCSTR
);
219 OLESTATUS (*SaveToStream
)(LPOLEOBJECT
,LPOLESTREAM
);
220 OLESTATUS (*Clone
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
221 OLESTATUS (*CopyFromLink
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
222 OLESTATUS (*Equal
)(LPOLEOBJECT
,LPOLEOBJECT
);
223 OLESTATUS (*CopyToClipBoard
)(LPOLEOBJECT
);
224 OLESTATUS (*Draw
)(LPOLEOBJECT
,HDC
,LPRECT16
,LPRECT16
,HDC
);
225 OLESTATUS (*Activate
)(LPOLEOBJECT
,UINT
,BOOL
,BOOL
,HWND
,LPRECT16
);
226 OLESTATUS (*Execute
)(LPOLEOBJECT
,HGLOBAL16
,UINT
);
227 OLESTATUS (*Close
)(LPOLEOBJECT
);
228 OLESTATUS (*Update
)(LPOLEOBJECT
);
229 OLESTATUS (*Reconnect
)(LPOLEOBJECT
);
230 OLESTATUS (*ObjectConvert
)(LPOLEOBJECT
,OLE_LPCSTR
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
231 OLESTATUS (*GetLinkUpdateOptions
)(LPOLEOBJECT
,LPOLEOPT_UPDATE
);
232 OLESTATUS (*SetLinkUpdateOptions
)(LPOLEOBJECT
,OLEOPT_UPDATE
);
233 OLESTATUS (*Rename
)(LPOLEOBJECT
,OLE_LPCSTR
);
234 OLESTATUS (*QueryName
)(LPOLEOBJECT
,LPSTR
,LPUINT16
);
235 OLESTATUS (*QueryType
)(LPOLEOBJECT
,LPLONG
);
236 OLESTATUS (*QueryBounds
)(LPOLEOBJECT
,LPRECT16
);
237 OLESTATUS (*QuerySize
)(LPOLEOBJECT
,LPDWORD
);
238 OLESTATUS (*QueryOpen
)(LPOLEOBJECT
);
239 OLESTATUS (*QueryOutOfDate
)(LPOLEOBJECT
);
240 OLESTATUS (*QueryReleaseStatus
)(LPOLEOBJECT
);
241 OLESTATUS (*QueryReleaseError
)(LPOLEOBJECT
);
242 OLE_RELEASE_METHOD (*QueryReleaseMethod
)(LPOLEOBJECT
);
243 OLESTATUS (*RequestData
)(LPOLEOBJECT
,OLECLIPFORMAT
);
244 OLESTATUS (*ObjectLong
)(LPOLEOBJECT
,UINT
,LPLONG
);
246 typedef OLEOBJECTVTBL
* LPOLEOBJECTVTBL
;
248 typedef struct _OLEOBJECT
{
249 LPOLEOBJECTVTBL lpvtbl
;
253 OLESTATUS
OleRegisterServer(LPCSTR
,LPOLESERVER
,LHSERVER
*,HINSTANCE
,OLE_SERVER_USE
);
254 OLESTATUS
OleUnblockServer(LHSERVER
,BOOL
*);
255 OLESTATUS
OleRegisterServerDoc(LHSERVER
,LPCSTR
,LPOLESERVERDOC
,LHSERVERDOC
*);
256 OLESTATUS
OleRegisterClientDoc(LPCSTR
,LPCSTR
,LONG
,LHCLIENTDOC
*);
257 OLESTATUS
OleRenameClientDoc(LHCLIENTDOC
,LPCSTR
);
258 OLESTATUS
OleRevokeServerDoc(LHSERVERDOC
);
259 OLESTATUS
OleRevokeClientDoc(LHCLIENTDOC
);
260 OLESTATUS
OleRevokeServer(LHSERVER
);
262 #endif /* __WINE_OLE_H */