2 * ole.h - Declarations for OLESVR and OLECLI
18 #define OLEVERB_PRIMARY 0
25 OLE_ERROR_PROTECT_ONLY
,
63 OLE_ERROR_ADVISE_NATIVE
,
64 OLE_ERROR_ADVISE_PICT
,
65 OLE_ERROR_ADVISE_RENAME
,
66 OLE_ERROR_POKE_NATIVE
,
67 OLE_ERROR_REQUEST_NATIVE
,
68 OLE_ERROR_REQUEST_PICT
,
69 OLE_ERROR_SERVER_BLOCKED
,
70 OLE_ERROR_REGISTRATION
,
71 OLE_ERROR_ALREADY_REGISTERED
,
74 OLE_ERROR_CANT_UPDATE_CLIENT
,
76 OLE_ERROR_SETDATA_FORMAT
,
77 OLE_ERROR_STATIC_FROM_OTHER_OS
,
78 OLE_WARN_DELETE_DATA
= 1000
109 typedef LONG LHSERVER
;
110 typedef LONG LHSERVERDOC
;
111 typedef LONG LHCLIENTDOC
;
112 typedef LONG OLECLIPFORMAT
;/* dunno about this type, please change/add */
113 typedef OLEOPT_UPDATE
* LPOLEOPT_UPDATE
;
117 OLE_DELETE
, /* delete object */
118 OLE_LNKPASTE
, /* link paste */
119 OLE_EMBPASTE
, /* paste(and update) */
126 OLE_SETUPDATEOPTIONS
,
127 OLE_SERVERRUNLAUNCH
, /* unlaunch (terminate?) server */
128 OLE_LOADFROMSTREAM
, /* (auto reconnect) */
129 OLE_SETDATA
, /* OleSetData */
130 OLE_REQUESTDATA
, /* OleRequestData */
133 OLE_CREATEFROMTEMPLATE
,
134 OLE_CREATELINKFROMFILE
,
138 } OLE_RELEASE_METHOD
;
140 typedef struct _OLETARGETDEVICE
{
141 UINT16 otdDeviceNameOffset
;
142 UINT16 otdDriverNameOffset
;
143 UINT16 otdPortNameOffset
;
144 UINT16 otdExtDevmodeOffset
;
145 UINT16 otdExtDevmodeSize
;
146 UINT16 otdEnvironmentOffset
;
147 UINT16 otdEnvironmentSize
;
151 typedef struct _OLESTREAM
* LPOLESTREAM
;
152 typedef struct _OLESTREAMVTBL
{
153 DWORD
CALLBACK (*Get
)(LPOLESTREAM
,LPSTR
,DWORD
);
154 DWORD
CALLBACK (*Put
)(LPOLESTREAM
,LPSTR
,DWORD
);
156 typedef OLESTREAMVTBL
* LPOLESTREAMVTBL
;
157 typedef struct _OLESTREAM
{
158 LPOLESTREAMVTBL lpstbl
;
160 typedef struct _OLESERVERDOC
* LPOLESERVERDOC
;
161 typedef struct _OLEOBJECT
* LPOLEOBJECT
;
162 typedef struct _OLECLIENT
* LPOLECLIENT
;
163 typedef struct _OLESERVERDOCVTBL
{
164 OLESTATUS
CALLBACK (*Save
)(LPOLESERVERDOC
);
165 OLESTATUS
CALLBACK (*Close
)(LPOLESERVERDOC
);
166 OLESTATUS
CALLBACK (*SetHostNames
)(LPOLESERVERDOC
,LPCOLESTR16
,LPCOLESTR16
);
167 OLESTATUS
CALLBACK (*SetDocDimensions
)(LPOLESERVERDOC
,LPRECT16
);
169 /* GetObject is a WINELIB_NAME macro so it cannot be used in Wine itself */
170 OLESTATUS
CALLBACK (*pGetObject
)(LPOLESERVERDOC
,LPCOLESTR16
,LPOLEOBJECT
*,LPOLECLIENT
);
172 OLESTATUS
CALLBACK (*GetObject
)(LPOLESERVERDOC
,LPCOLESTR16
,LPOLEOBJECT
*,LPOLECLIENT
);
174 OLESTATUS
CALLBACK (*Release
)(LPOLESERVERDOC
);
175 OLESTATUS
CALLBACK (*SetColorScheme
)(LPOLESERVERDOC
,LPLOGPALETTE
);
176 OLESTATUS
CALLBACK (*Execute
)(LPOLESERVERDOC
,HGLOBAL16
);
178 typedef OLESERVERDOCVTBL
* LPOLESERVERDOCVTBL
;
179 typedef struct _OLESERVERDOC
{
180 LPOLESERVERDOCVTBL lpvtbl
;
181 /* server provided state info */
184 typedef struct _OLESERVER
* LPOLESERVER
;
185 typedef struct _OLESERVERVTBL
{
186 OLESTATUS
CALLBACK (*Open
)(LPOLESERVER
,LHSERVERDOC
,LPCOLESTR16
,LPOLESERVERDOC
*);
187 OLESTATUS
CALLBACK (*Create
)(LPOLESERVER
,LHSERVERDOC
,LPCOLESTR16
,LPCOLESTR16
,LPOLESERVERDOC
*);
188 OLESTATUS
CALLBACK (*CreateFromTemplate
)(LPOLESERVER
,LHSERVERDOC
,LPCOLESTR16
,LPCOLESTR16
,LPCOLESTR16
,LPOLESERVERDOC
*);
189 OLESTATUS
CALLBACK (*Edit
)(LPOLESERVER
,LHSERVERDOC
,LPCOLESTR16
,LPCOLESTR16
,LPOLESERVERDOC
*);
190 OLESTATUS
CALLBACK (*Exit
)(LPOLESERVER
);
191 OLESTATUS
CALLBACK (*Release
)(LPOLESERVER
);
192 OLESTATUS
CALLBACK (*Execute
)(LPOLESERVER
);
194 typedef OLESERVERVTBL
*LPOLESERVERVTBL
;
195 typedef struct _OLESERVER
{
196 LPOLESERVERVTBL lpvtbl
;
197 /* server specific data */
199 typedef struct _OLECLIENTVTBL
{
200 int CALLBACK (*CallBack
)(LPOLECLIENT
,OLE_NOTIFICATION
,LPOLEOBJECT
);
202 typedef OLECLIENTVTBL
*LPOLECLIENTVTBL
;
204 typedef struct _OLECLIENT
{
205 LPOLECLIENTVTBL lpvtbl
;
209 typedef struct _OLEOBJECTVTBL
{
210 void CALLBACK
*(*QueryProtocol
)(LPOLEOBJECT
,LPCOLESTR16
);
211 OLESTATUS
CALLBACK (*Release
)(LPOLEOBJECT
);
212 OLESTATUS
CALLBACK (*Show
)(LPOLEOBJECT
,BOOL16
);
213 OLESTATUS
CALLBACK (*DoVerb
)(LPOLEOBJECT
,UINT16
,BOOL16
,BOOL16
);
214 OLESTATUS
CALLBACK (*GetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE16
*);
215 OLESTATUS
CALLBACK (*SetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE16
);
216 OLESTATUS
CALLBACK (*SetTargetDevice
)(LPOLEOBJECT
,HGLOBAL16
);
217 OLESTATUS
CALLBACK (*SetBounds
)(LPOLEOBJECT
,LPRECT16
);
218 OLESTATUS
CALLBACK (*EnumFormats
)(LPOLEOBJECT
,OLECLIPFORMAT
);
219 OLESTATUS
CALLBACK (*SetColorScheme
)(LPOLEOBJECT
,LPLOGPALETTE
);
220 OLESTATUS
CALLBACK (*Delete
)(LPOLEOBJECT
);
221 OLESTATUS
CALLBACK (*SetHostNames
)(LPOLEOBJECT
,LPCOLESTR16
,LPCOLESTR16
);
222 OLESTATUS
CALLBACK (*SaveToStream
)(LPOLEOBJECT
,LPOLESTREAM
);
223 OLESTATUS
CALLBACK (*Clone
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,LPCOLESTR16
,LPOLEOBJECT
*);
224 OLESTATUS
CALLBACK (*CopyFromLink
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,LPCOLESTR16
,LPOLEOBJECT
*);
225 OLESTATUS
CALLBACK (*Equal
)(LPOLEOBJECT
,LPOLEOBJECT
);
226 OLESTATUS
CALLBACK (*CopyToClipBoard
)(LPOLEOBJECT
);
227 OLESTATUS
CALLBACK (*Draw
)(LPOLEOBJECT
,HDC16
,LPRECT16
,LPRECT16
,HDC16
);
228 OLESTATUS
CALLBACK (*Activate
)(LPOLEOBJECT
,UINT16
,BOOL16
,BOOL16
,HWND16
,LPRECT16
);
229 OLESTATUS
CALLBACK (*Execute
)(LPOLEOBJECT
,HGLOBAL16
,UINT16
);
230 OLESTATUS
CALLBACK (*Close
)(LPOLEOBJECT
);
231 OLESTATUS
CALLBACK (*Update
)(LPOLEOBJECT
);
232 OLESTATUS
CALLBACK (*Reconnect
)(LPOLEOBJECT
);
233 OLESTATUS
CALLBACK (*ObjectConvert
)(LPOLEOBJECT
,LPCOLESTR16
,LPOLECLIENT
,LHCLIENTDOC
,LPCOLESTR16
,LPOLEOBJECT
*);
234 OLESTATUS
CALLBACK (*GetLinkUpdateOptions
)(LPOLEOBJECT
,LPOLEOPT_UPDATE
);
235 OLESTATUS
CALLBACK (*SetLinkUpdateOptions
)(LPOLEOBJECT
,OLEOPT_UPDATE
);
236 OLESTATUS
CALLBACK (*Rename
)(LPOLEOBJECT
,LPCOLESTR16
);
237 OLESTATUS
CALLBACK (*QueryName
)(LPOLEOBJECT
,LPSTR
,LPUINT16
);
238 OLESTATUS
CALLBACK (*QueryType
)(LPOLEOBJECT
,LPLONG
);
239 OLESTATUS
CALLBACK (*QueryBounds
)(LPOLEOBJECT
,LPRECT16
);
240 OLESTATUS
CALLBACK (*QuerySize
)(LPOLEOBJECT
,LPDWORD
);
241 OLESTATUS
CALLBACK (*QueryOpen
)(LPOLEOBJECT
);
242 OLESTATUS
CALLBACK (*QueryOutOfDate
)(LPOLEOBJECT
);
243 OLESTATUS
CALLBACK (*QueryReleaseStatus
)(LPOLEOBJECT
);
244 OLESTATUS
CALLBACK (*QueryReleaseError
)(LPOLEOBJECT
);
245 OLE_RELEASE_METHOD
CALLBACK (*QueryReleaseMethod
)(LPOLEOBJECT
);
246 OLESTATUS
CALLBACK (*RequestData
)(LPOLEOBJECT
,OLECLIPFORMAT
);
247 OLESTATUS
CALLBACK (*ObjectLong
)(LPOLEOBJECT
,UINT16
,LPLONG
);
249 typedef OLEOBJECTVTBL
* LPOLEOBJECTVTBL
;
251 typedef struct _OLEOBJECT
{
252 LPOLEOBJECTVTBL lpvtbl
;
256 OLESTATUS WINAPI
OleRegisterServer16(LPCSTR
,LPOLESERVER
,LHSERVER
*,HINSTANCE16
,OLE_SERVER_USE
);
257 OLESTATUS WINAPI
OleUnblockServer16(LHSERVER
,BOOL16
*);
258 OLESTATUS WINAPI
OleRegisterServerDoc16(LHSERVER
,LPCSTR
,LPOLESERVERDOC
,LHSERVERDOC
*);
259 OLESTATUS WINAPI
OleRegisterClientDoc16(LPCSTR
,LPCSTR
,LONG
,LHCLIENTDOC
*);
260 OLESTATUS WINAPI
OleRenameClientDoc16(LHCLIENTDOC
,LPCSTR
);
261 OLESTATUS WINAPI
OleRevokeServerDoc16(LHSERVERDOC
);
262 OLESTATUS WINAPI
OleRevokeClientDoc16(LHCLIENTDOC
);
263 OLESTATUS WINAPI
OleRevokeServer16(LHSERVER
);
264 OLESTATUS WINAPI
OleRevertClientDoc16(LHCLIENTDOC hServerDoc
);
265 OLESTATUS WINAPI
OleEnumObjects16(LHCLIENTDOC hServerDoc
, SEGPTR data
);
266 OLESTATUS WINAPI
OleCreateLinkFromClip16(
267 LPCSTR name
, LPOLECLIENT olecli
, LHCLIENTDOC hclientdoc
, LPCSTR xname
,
268 LPOLEOBJECT
*lpoleob
, UINT16 render
, UINT16 clipformat
);
269 OLESTATUS WINAPI
OleQueryLinkFromClip16(LPCSTR name
, UINT16 render
, UINT16 clipformat
);
270 OLESTATUS WINAPI
OleQueryCreateFromClip16(LPCSTR name
, UINT16 render
, UINT16 clipformat
);
271 OLESTATUS WINAPI
OleQueryType16(LPOLEOBJECT oleob
, SEGPTR xlong
);
272 OLESTATUS WINAPI
OleCreateFromClip16(
273 LPCSTR name
, LPOLECLIENT olecli
, LHCLIENTDOC hclientdoc
, LPCSTR xname
,
274 LPOLEOBJECT
*lpoleob
, UINT16 render
, UINT16 clipformat
);
277 void WINAPI
CoFreeUnusedLibraries(void);
278 HINSTANCE WINAPI
CoLoadLibrary(LPOLESTR lpszLibName
, BOOL bAutoFree
);
279 void WINAPI
CoFreeUnusedLibraries(void);
280 void WINAPI
CoFreeAllLibraries(void);
286 #endif /* __WINE_OLE_H */