2 * ole.h - Declarations for OLESVR and OLECLI
10 typedef CHAR OLE_CHAR
,OLECHAR
;
11 typedef LPCSTR OLE_LPCSTR
;
12 typedef LPSTR LPOLESTR
;
13 typedef LPCSTR LPCOLESTR
;
15 typedef unsigned short VARTYPE
;
25 #define OLEVERB_PRIMARY 0
32 OLE_ERROR_PROTECT_ONLY
,
70 OLE_ERROR_ADVISE_NATIVE
,
71 OLE_ERROR_ADVISE_PICT
,
72 OLE_ERROR_ADVISE_RENAME
,
73 OLE_ERROR_POKE_NATIVE
,
74 OLE_ERROR_REQUEST_NATIVE
,
75 OLE_ERROR_REQUEST_PICT
,
76 OLE_ERROR_SERVER_BLOCKED
,
77 OLE_ERROR_REGISTRATION
,
78 OLE_ERROR_ALREADY_REGISTERED
,
81 OLE_ERROR_CANT_UPDATE_CLIENT
,
83 OLE_ERROR_SETDATA_FORMAT
,
84 OLE_ERROR_STATIC_FROM_OTHER_OS
,
85 OLE_WARN_DELETE_DATA
= 1000
116 typedef LONG LHSERVER
;
117 typedef LONG LHSERVERDOC
;
118 typedef LONG LHCLIENTDOC
;
119 typedef LONG OLECLIPFORMAT
;/* dunno about this type, please change/add */
120 typedef OLEOPT_UPDATE
* LPOLEOPT_UPDATE
;
124 OLE_DELETE
, /* delete object */
125 OLE_LNKPASTE
, /* link paste */
126 OLE_EMBPASTE
, /* paste(and update) */
133 OLE_SETUPDATEOPTIONS
,
134 OLE_SERVERRUNLAUNCH
, /* unlaunch (terminate?) server */
135 OLE_LOADFROMSTREAM
, /* (auto reconnect) */
136 OLE_SETDATA
, /* OleSetData */
137 OLE_REQUESTDATA
, /* OleRequestData */
140 OLE_CREATEFROMTEMPLATE
,
141 OLE_CREATELINKFROMFILE
,
145 } OLE_RELEASE_METHOD
;
147 typedef struct _OLETARGETDEVICE
{
148 UINT16 otdDeviceNameOffset
;
149 UINT16 otdDriverNameOffset
;
150 UINT16 otdPortNameOffset
;
151 UINT16 otdExtDevmodeOffset
;
152 UINT16 otdExtDevmodeSize
;
153 UINT16 otdEnvironmentOffset
;
154 UINT16 otdEnvironmentSize
;
158 typedef struct _OLESTREAM
* LPOLESTREAM
;
159 typedef struct _OLESTREAMVTBL
{
160 DWORD (CALLBACK
*Get
)(LPOLESTREAM
,LPSTR
,DWORD
);
161 DWORD (CALLBACK
*Put
)(LPOLESTREAM
,LPSTR
,DWORD
);
163 typedef OLESTREAMVTBL
* LPOLESTREAMVTBL
;
164 typedef struct _OLESTREAM
{
165 LPOLESTREAMVTBL lpstbl
;
167 typedef struct _OLESERVERDOC
* LPOLESERVERDOC
;
168 typedef struct _OLEOBJECT
* LPOLEOBJECT
;
169 typedef struct _OLECLIENT
* LPOLECLIENT
;
170 typedef struct _OLESERVERDOCVTBL
{
171 OLESTATUS (CALLBACK
*Save
)(LPOLESERVERDOC
);
172 OLESTATUS (CALLBACK
*Close
)(LPOLESERVERDOC
);
173 OLESTATUS (CALLBACK
*SetHostNames
)(LPOLESERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
);
174 OLESTATUS (CALLBACK
*SetDocDimensions
)(LPOLESERVERDOC
,LPRECT16
);
175 #undef GetObject /* FIXME */
176 OLESTATUS (CALLBACK
*GetObject
)(LPOLESERVERDOC
,OLE_LPCSTR
,LPOLEOBJECT
*,LPOLECLIENT
);
177 OLESTATUS (CALLBACK
*Release
)(LPOLESERVERDOC
);
178 OLESTATUS (CALLBACK
*SetColorScheme
)(LPOLESERVERDOC
,LPLOGPALETTE
);
179 OLESTATUS (CALLBACK
*Execute
)(LPOLESERVERDOC
,HGLOBAL16
);
181 typedef OLESERVERDOCVTBL
* LPOLESERVERDOCVTBL
;
182 typedef struct _OLESERVERDOC
{
183 LPOLESERVERDOCVTBL lpvtbl
;
184 /* server provided state info */
187 typedef struct _OLESERVER
* LPOLESERVER
;
188 typedef struct _OLESERVERVTBL
{
189 OLESTATUS (CALLBACK
*Open
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,LPOLESERVERDOC
*);
190 OLESTATUS (CALLBACK
*Create
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC
*);
191 OLESTATUS (CALLBACK
*CreateFromTemplate
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC
*);
192 OLESTATUS (CALLBACK
*Edit
)(LPOLESERVER
,LHSERVERDOC
,OLE_LPCSTR
,OLE_LPCSTR
,LPOLESERVERDOC
*);
193 OLESTATUS (CALLBACK
*Exit
)(LPOLESERVER
);
194 OLESTATUS (CALLBACK
*Release
)(LPOLESERVER
);
195 OLESTATUS (CALLBACK
*Execute
)(LPOLESERVER
);
197 typedef OLESERVERVTBL
*LPOLESERVERVTBL
;
198 typedef struct _OLESERVER
{
199 LPOLESERVERVTBL lpvtbl
;
200 /* server specific data */
202 typedef struct _OLECLIENTVTBL
{
203 int (CALLBACK
*CallBack
)(LPOLECLIENT
,OLE_NOTIFICATION
,LPOLEOBJECT
);
205 typedef OLECLIENTVTBL
*LPOLECLIENTVTBL
;
207 typedef struct _OLECLIENT
{
208 LPOLECLIENTVTBL lpvtbl
;
212 typedef struct _OLEOBJECTVTBL
{
213 void * (CALLBACK
*QueryProtocol
)(LPOLEOBJECT
,OLE_LPCSTR
);
214 OLESTATUS (CALLBACK
*Release
)(LPOLEOBJECT
);
215 OLESTATUS (CALLBACK
*Show
)(LPOLEOBJECT
,BOOL16
);
216 OLESTATUS (CALLBACK
*DoVerb
)(LPOLEOBJECT
,UINT16
,BOOL16
,BOOL16
);
217 OLESTATUS (CALLBACK
*GetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE16
*);
218 OLESTATUS (CALLBACK
*SetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE16
);
219 OLESTATUS (CALLBACK
*SetTargetDevice
)(LPOLEOBJECT
,HGLOBAL16
);
220 OLESTATUS (CALLBACK
*SetBounds
)(LPOLEOBJECT
,LPRECT16
);
221 OLESTATUS (CALLBACK
*EnumFormats
)(LPOLEOBJECT
,OLECLIPFORMAT
);
222 OLESTATUS (CALLBACK
*SetColorScheme
)(LPOLEOBJECT
,LPLOGPALETTE
);
223 OLESTATUS (CALLBACK
*Delete
)(LPOLEOBJECT
);
224 OLESTATUS (CALLBACK
*SetHostNames
)(LPOLEOBJECT
,OLE_LPCSTR
,OLE_LPCSTR
);
225 OLESTATUS (CALLBACK
*SaveToStream
)(LPOLEOBJECT
,LPOLESTREAM
);
226 OLESTATUS (CALLBACK
*Clone
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
227 OLESTATUS (CALLBACK
*CopyFromLink
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
228 OLESTATUS (CALLBACK
*Equal
)(LPOLEOBJECT
,LPOLEOBJECT
);
229 OLESTATUS (CALLBACK
*CopyToClipBoard
)(LPOLEOBJECT
);
230 OLESTATUS (CALLBACK
*Draw
)(LPOLEOBJECT
,HDC16
,LPRECT16
,LPRECT16
,HDC16
);
231 OLESTATUS (CALLBACK
*Activate
)(LPOLEOBJECT
,UINT16
,BOOL16
,BOOL16
,HWND16
,LPRECT16
);
232 OLESTATUS (CALLBACK
*Execute
)(LPOLEOBJECT
,HGLOBAL16
,UINT16
);
233 OLESTATUS (CALLBACK
*Close
)(LPOLEOBJECT
);
234 OLESTATUS (CALLBACK
*Update
)(LPOLEOBJECT
);
235 OLESTATUS (CALLBACK
*Reconnect
)(LPOLEOBJECT
);
236 OLESTATUS (CALLBACK
*ObjectConvert
)(LPOLEOBJECT
,OLE_LPCSTR
,LPOLECLIENT
,LHCLIENTDOC
,OLE_LPCSTR
,LPOLEOBJECT
*);
237 OLESTATUS (CALLBACK
*GetLinkUpdateOptions
)(LPOLEOBJECT
,LPOLEOPT_UPDATE
);
238 OLESTATUS (CALLBACK
*SetLinkUpdateOptions
)(LPOLEOBJECT
,OLEOPT_UPDATE
);
239 OLESTATUS (CALLBACK
*Rename
)(LPOLEOBJECT
,OLE_LPCSTR
);
240 OLESTATUS (CALLBACK
*QueryName
)(LPOLEOBJECT
,LPSTR
,LPUINT16
);
241 OLESTATUS (CALLBACK
*QueryType
)(LPOLEOBJECT
,LPLONG
);
242 OLESTATUS (CALLBACK
*QueryBounds
)(LPOLEOBJECT
,LPRECT16
);
243 OLESTATUS (CALLBACK
*QuerySize
)(LPOLEOBJECT
,LPDWORD
);
244 OLESTATUS (CALLBACK
*QueryOpen
)(LPOLEOBJECT
);
245 OLESTATUS (CALLBACK
*QueryOutOfDate
)(LPOLEOBJECT
);
246 OLESTATUS (CALLBACK
*QueryReleaseStatus
)(LPOLEOBJECT
);
247 OLESTATUS (CALLBACK
*QueryReleaseError
)(LPOLEOBJECT
);
248 OLE_RELEASE_METHOD (CALLBACK
*QueryReleaseMethod
)(LPOLEOBJECT
);
249 OLESTATUS (CALLBACK
*RequestData
)(LPOLEOBJECT
,OLECLIPFORMAT
);
250 OLESTATUS (CALLBACK
*ObjectLong
)(LPOLEOBJECT
,UINT16
,LPLONG
);
252 typedef OLEOBJECTVTBL
* LPOLEOBJECTVTBL
;
254 typedef struct _OLEOBJECT
{
255 LPOLEOBJECTVTBL lpvtbl
;
259 OLESTATUS WINAPI
OleRegisterServer(LPCSTR
,LPOLESERVER
,LHSERVER
*,HINSTANCE16
,OLE_SERVER_USE
);
260 OLESTATUS WINAPI
OleUnblockServer(LHSERVER
,BOOL16
*);
261 OLESTATUS WINAPI
OleRegisterServerDoc(LHSERVER
,LPCSTR
,LPOLESERVERDOC
,LHSERVERDOC
*);
262 OLESTATUS WINAPI
OleRegisterClientDoc(LPCSTR
,LPCSTR
,LONG
,LHCLIENTDOC
*);
263 OLESTATUS WINAPI
OleRenameClientDoc(LHCLIENTDOC
,LPCSTR
);
264 OLESTATUS WINAPI
OleRevokeServerDoc(LHSERVERDOC
);
265 OLESTATUS WINAPI
OleRevokeClientDoc(LHCLIENTDOC
);
266 OLESTATUS WINAPI
OleRevokeServer(LHSERVER
);
268 typedef enum tagCALLCONV
{
270 CC_MSCPASCAL
= CC_CDECL
+ 1,
271 CC_PASCAL
= CC_MSCPASCAL
,
272 CC_MACPASCAL
= CC_PASCAL
+ 1,
273 CC_STDCALL
= CC_MACPASCAL
+ 1,
274 CC_RESERVED
= CC_STDCALL
+ 1,
275 CC_SYSCALL
= CC_RESERVED
+ 1,
276 CC_MPWCDECL
= CC_SYSCALL
+ 1,
277 CC_MPWPASCAL
= CC_MPWCDECL
+ 1,
278 CC_MAX
= CC_MPWPASCAL
+ 1
281 typedef struct tagPARAMDATA
{
282 OLECHAR
* szName
; /* parameter name */
283 VARTYPE vt
; /* parameter type */
284 } PARAMDATA
, * LPPARAMDATA
;
286 typedef struct tagMETHODDATA
{
287 OLECHAR
* szName
; /* method name */
288 PARAMDATA
* ppdata
; /* pointer to an array of PARAMDATAs */
289 DISPID dispid
; /* method ID */
290 UINT16 iMeth
; /* method index */
291 CALLCONV cc
; /* calling convention */
292 UINT16 cArgs
; /* count of arguments */
293 WORD wFlags
; /* same wFlags as on IDispatch::Invoke() */
295 } METHODDATA
, * LPMETHODDATA
;
297 typedef struct tagINTERFACEDATA
{
298 METHODDATA
* pmethdata
; /* pointer to an array of METHODDATAs */
299 UINT16 cMembers
; /* count of members */
300 } INTERFACEDATA
, * LPINTERFACEDATA
;
303 #endif /* __WINE_OLE_H */