4 * Copyright 1995 Martin von Loewis
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 /* At the moment, these are only empty stubs.
27 #include "wine/windef16.h"
32 #include "wine/debug.h"
34 WINE_DEFAULT_DEBUG_CHANNEL(ole
);
41 OLE_ERROR_PROTECT_ONLY
,
79 OLE_ERROR_ADVISE_NATIVE
,
80 OLE_ERROR_ADVISE_PICT
,
81 OLE_ERROR_ADVISE_RENAME
,
82 OLE_ERROR_POKE_NATIVE
,
83 OLE_ERROR_REQUEST_NATIVE
,
84 OLE_ERROR_REQUEST_PICT
,
85 OLE_ERROR_SERVER_BLOCKED
,
86 OLE_ERROR_REGISTRATION
,
87 OLE_ERROR_ALREADY_REGISTERED
,
90 OLE_ERROR_CANT_UPDATE_CLIENT
,
92 OLE_ERROR_SETDATA_FORMAT
,
93 OLE_ERROR_STATIC_FROM_OTHER_OS
,
94 OLE_WARN_DELETE_DATA
= 1000
114 OLE_DELETE
, /* delete object */
115 OLE_LNKPASTE
, /* link paste */
116 OLE_EMBPASTE
, /* paste(and update) */
123 OLE_SETUPDATEOPTIONS
,
124 OLE_SERVERRUNLAUNCH
, /* unlaunch (terminate?) server */
125 OLE_LOADFROMSTREAM
, /* (auto reconnect) */
126 OLE_SETDATA
, /* OleSetData */
127 OLE_REQUESTDATA
, /* OleRequestData */
130 OLE_CREATEFROMTEMPLATE
,
131 OLE_CREATELINKFROMFILE
,
135 } OLE_RELEASE_METHOD
;
137 typedef LONG LHCLIENTDOC
;
138 typedef struct _OLEOBJECT
*LPOLEOBJECT
;
139 typedef struct _OLECLIENT
*LPOLECLIENT
;
140 typedef LONG OLECLIPFORMAT
;/* dunno about this type, please change/add */
141 typedef OLEOPT_UPDATE
*LPOLEOPT_UPDATE
;
145 typedef struct _OLEOBJECTVTBL
{
146 void CALLBACK
*(*QueryProtocol
)(LPOLEOBJECT
,LPCOLESTR16
);
147 OLESTATUS (CALLBACK
*Release
)(LPOLEOBJECT
);
148 OLESTATUS (CALLBACK
*Show
)(LPOLEOBJECT
,BOOL16
);
149 OLESTATUS (CALLBACK
*DoVerb
)(LPOLEOBJECT
,UINT16
,BOOL16
,BOOL16
);
150 OLESTATUS (CALLBACK
*GetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE16
*);
151 OLESTATUS (CALLBACK
*SetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE16
);
152 OLESTATUS (CALLBACK
*SetTargetDevice
)(LPOLEOBJECT
,HGLOBAL16
);
153 OLESTATUS (CALLBACK
*SetBounds
)(LPOLEOBJECT
,LPRECT16
);
154 OLESTATUS (CALLBACK
*EnumFormats
)(LPOLEOBJECT
,OLECLIPFORMAT
);
155 OLESTATUS (CALLBACK
*SetColorScheme
)(LPOLEOBJECT
,struct tagLOGPALETTE
*);
156 OLESTATUS (CALLBACK
*Delete
)(LPOLEOBJECT
);
157 OLESTATUS (CALLBACK
*SetHostNames
)(LPOLEOBJECT
,LPCOLESTR16
,LPCOLESTR16
);
158 OLESTATUS (CALLBACK
*SaveToStream
)(LPOLEOBJECT
,struct _OLESTREAM
*);
159 OLESTATUS (CALLBACK
*Clone
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,LPCOLESTR16
,LPOLEOBJECT
*);
160 OLESTATUS (CALLBACK
*CopyFromLink
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,LPCOLESTR16
,LPOLEOBJECT
*);
161 OLESTATUS (CALLBACK
*Equal
)(LPOLEOBJECT
,LPOLEOBJECT
);
162 OLESTATUS (CALLBACK
*CopyToClipBoard
)(LPOLEOBJECT
);
163 OLESTATUS (CALLBACK
*Draw
)(LPOLEOBJECT
,HDC16
,LPRECT16
,LPRECT16
,HDC16
);
164 OLESTATUS (CALLBACK
*Activate
)(LPOLEOBJECT
,UINT16
,BOOL16
,BOOL16
,HWND16
,LPRECT16
);
165 OLESTATUS (CALLBACK
*Execute
)(LPOLEOBJECT
,HGLOBAL16
,UINT16
);
166 OLESTATUS (CALLBACK
*Close
)(LPOLEOBJECT
);
167 OLESTATUS (CALLBACK
*Update
)(LPOLEOBJECT
);
168 OLESTATUS (CALLBACK
*Reconnect
)(LPOLEOBJECT
);
169 OLESTATUS (CALLBACK
*ObjectConvert
)(LPOLEOBJECT
,LPCOLESTR16
,LPOLECLIENT
,LHCLIENTDOC
,LPCOLESTR16
,LPOLEOBJECT
*);
170 OLESTATUS (CALLBACK
*GetLinkUpdateOptions
)(LPOLEOBJECT
,LPOLEOPT_UPDATE
);
171 OLESTATUS (CALLBACK
*SetLinkUpdateOptions
)(LPOLEOBJECT
,OLEOPT_UPDATE
);
172 OLESTATUS (CALLBACK
*Rename
)(LPOLEOBJECT
,LPCOLESTR16
);
173 OLESTATUS (CALLBACK
*QueryName
)(LPOLEOBJECT
,LPSTR
,LPUINT16
);
174 OLESTATUS (CALLBACK
*QueryType
)(LPOLEOBJECT
,LPLONG
);
175 OLESTATUS (CALLBACK
*QueryBounds
)(LPOLEOBJECT
,LPRECT16
);
176 OLESTATUS (CALLBACK
*QuerySize
)(LPOLEOBJECT
,LPDWORD
);
177 OLESTATUS (CALLBACK
*QueryOpen
)(LPOLEOBJECT
);
178 OLESTATUS (CALLBACK
*QueryOutOfDate
)(LPOLEOBJECT
);
179 OLESTATUS (CALLBACK
*QueryReleaseStatus
)(LPOLEOBJECT
);
180 OLESTATUS (CALLBACK
*QueryReleaseError
)(LPOLEOBJECT
);
181 OLE_RELEASE_METHOD (CALLBACK
*QueryReleaseMethod
)(LPOLEOBJECT
);
182 OLESTATUS (CALLBACK
*RequestData
)(LPOLEOBJECT
,OLECLIPFORMAT
);
183 OLESTATUS (CALLBACK
*ObjectLong
)(LPOLEOBJECT
,UINT16
,LPLONG
);
185 typedef OLEOBJECTVTBL
*LPOLEOBJECTVTBL
;
187 typedef struct _OLEOBJECT
189 LPOLEOBJECTVTBL lpvtbl
;
192 static LONG OLE_current_handle
;
194 /******************************************************************************
195 * OleSavedClientDoc [OLECLI32.45]
197 OLESTATUS WINAPI
OleSavedClientDoc(LHCLIENTDOC hDoc
)
199 FIXME("(%ld: stub\n", hDoc
);
203 /******************************************************************************
204 * OleSavedClientDoc [OLECLI.45]
206 OLESTATUS WINAPI
OleSavedClientDoc16(LHCLIENTDOC hDoc
)
208 FIXME("(%ld: stub\n", hDoc
);
212 /******************************************************************************
213 * OleRegisterClientDoc [OLECLI.41]
215 OLESTATUS WINAPI
OleRegisterClientDoc16(LPCSTR classname
, LPCSTR docname
,
216 LONG reserved
, LHCLIENTDOC
*hRet
)
218 FIXME("(%s,%s,...): stub\n",classname
,docname
);
219 *hRet
=++OLE_current_handle
;
223 /******************************************************************************
224 * OleRegisterClientDoc [OLECLI32.41]
226 OLESTATUS WINAPI
OleRegisterClientDoc(LPCSTR classname
, LPCSTR docname
,
227 LONG reserved
, LHCLIENTDOC
*hRet
)
229 FIXME("(%s,%s,...): stub\n",classname
,docname
);
230 *hRet
=++OLE_current_handle
;
234 /******************************************************************************
235 * OleRenameClientDoc [OLECLI.43]
237 OLESTATUS WINAPI
OleRenameClientDoc16(LHCLIENTDOC hDoc
, LPCSTR newName
)
239 FIXME("(%ld,%s,...): stub\n",hDoc
, newName
);
243 /******************************************************************************
244 * OleRenameClientDoc [OLECLI32.43]
246 OLESTATUS WINAPI
OleRenameClientDoc(LHCLIENTDOC hDoc
, LPCSTR newName
)
248 FIXME("(%ld,%s,...): stub\n",hDoc
, newName
);
252 /******************************************************************************
253 * OleRevokeClientDoc [OLECLI.42]
255 OLESTATUS WINAPI
OleRevokeClientDoc16(LHCLIENTDOC hServerDoc
)
257 FIXME("(%ld): stub\n",hServerDoc
);
261 /******************************************************************************
262 * OleRevokeClientDoc [OLECLI32.42]
264 OLESTATUS WINAPI
OleRevokeClientDoc(LHCLIENTDOC hServerDoc
)
266 FIXME("(%ld): stub\n",hServerDoc
);
270 /******************************************************************************
271 * OleRevertClientDoc [OLECLI.44]
273 OLESTATUS WINAPI
OleRevertClientDoc16(LHCLIENTDOC hServerDoc
)
275 FIXME("(%ld): stub\n", hServerDoc
);
279 /******************************************************************************
280 * OleEnumObjects [OLECLI.47]
282 OLESTATUS WINAPI
OleEnumObjects16(LHCLIENTDOC hServerDoc
, SEGPTR data
)
284 FIXME("(%ld, %04x:%04x): stub\n", hServerDoc
, HIWORD(data
),
289 /******************************************************************************
290 * OleCreateLinkFromClip [OLECLI.11]
292 OLESTATUS WINAPI
OleCreateLinkFromClip16( LPCSTR name
, SEGPTR olecli
, LHCLIENTDOC hclientdoc
,
293 LPCSTR xname
, SEGPTR lpoleob
, UINT16 render
,
296 FIXME("(%s, %04x:%04x, %ld, %s, %04x:%04x, %d, %d): stub!\n",
297 name
, HIWORD(olecli
), LOWORD(olecli
), hclientdoc
, xname
, HIWORD(lpoleob
),
298 LOWORD(lpoleob
), render
, clipformat
);
302 /******************************************************************************
303 * OleCreateLinkFromClip [OLECLI32.11]
305 OLESTATUS WINAPI
OleCreateLinkFromClip(
306 LPCSTR name
,LPOLECLIENT olecli
,LHCLIENTDOC hclientdoc
,LPCSTR xname
,
307 LPOLEOBJECT
*lpoleob
,OLEOPT_RENDER render
,OLECLIPFORMAT clipformat
309 FIXME("(%s,%p,%08lx,%s,%p,%d,%ld): stub!\n",
310 name
,olecli
,hclientdoc
,xname
,lpoleob
,render
,clipformat
);
314 /******************************************************************************
315 * OleQueryLinkFromClip [OLECLI.9]
317 OLESTATUS WINAPI
OleQueryLinkFromClip16(LPCSTR name
, UINT16 render
, UINT16 clipformat
)
319 FIXME("(%s, %d, %d): stub!\n", name
, render
, clipformat
);
323 /******************************************************************************
324 * OleQueryLinkFromClip [OLECLI32.9]
326 OLESTATUS WINAPI
OleQueryLinkFromClip(LPCSTR name
,OLEOPT_RENDER render
,OLECLIPFORMAT clipformat
) {
327 FIXME("(%s,%d,%ld): stub!\n",name
,render
,clipformat
);
331 /******************************************************************************
332 * OleQueryCreateFromClip [OLECLI.10]
334 OLESTATUS WINAPI
OleQueryCreateFromClip16(LPCSTR name
, UINT16 render
, UINT16 clipformat
)
336 FIXME("(%s, %d, %d): stub!\n", name
, render
, clipformat
);
340 /******************************************************************************
341 * OleQueryCreateFromClip [OLECLI32.10]
343 OLESTATUS WINAPI
OleQueryCreateFromClip(LPCSTR name
,OLEOPT_RENDER render
,OLECLIPFORMAT clipformat
) {
344 FIXME("(%s,%d,%ld): stub!\n",name
,render
,clipformat
);
348 /******************************************************************************
349 * OleIsDcMeta [OLECLI32.60]
351 BOOL WINAPI
OleIsDcMeta(HDC hdc
)
354 return GetObjectType( hdc
) == OBJ_METADC
;
358 /******************************************************************************
359 * OleIsDcMeta [OLECLI.60]
361 BOOL16 WINAPI
OleIsDcMeta16(HDC16 hdc
)
363 return OleIsDcMeta( HDC_32(hdc
) );
367 /******************************************************************************
368 * OleSetHostNames [OLECLI32.15]
370 OLESTATUS WINAPI
OleSetHostNames(LPOLEOBJECT oleob
,LPCSTR name1
,LPCSTR name2
) {
371 FIXME("(%p,%s,%s): stub\n",oleob
,name1
,name2
);
375 /******************************************************************************
376 * OleQueryType [OLECLI.14]
378 OLESTATUS WINAPI
OleQueryType16(LPOLEOBJECT oleob
, SEGPTR xlong
) {
379 FIXME("(%p, %p): stub!\n", oleob
, MapSL(xlong
));
383 /******************************************************************************
384 * OleQueryType [OLECLI32.14]
386 OLESTATUS WINAPI
OleQueryType(LPOLEOBJECT oleob
,LONG
*xlong
) {
387 FIXME("(%p,%p): stub!\n",oleob
,xlong
);
390 TRACE("Calling OLEOBJECT.QueryType (%p) (%p,%p)\n",
391 oleob
->lpvtbl
->QueryType
,oleob
,xlong
);
392 return oleob
->lpvtbl
->QueryType(oleob
,xlong
);
395 /******************************************************************************
396 * OleCreateFromClip [OLECLI.12]
398 OLESTATUS WINAPI
OleCreateFromClip16( LPCSTR name
, SEGPTR olecli
, LHCLIENTDOC hclientdoc
,
399 LPCSTR xname
, SEGPTR lpoleob
,
400 UINT16 render
, UINT16 clipformat
)
402 FIXME("(%s, %04x:%04x, %ld, %s, %04x:%04x, %d, %d): stub!\n",
403 name
, HIWORD(olecli
), LOWORD(olecli
), hclientdoc
, xname
, HIWORD(lpoleob
),
404 LOWORD(lpoleob
), render
, clipformat
);
408 /******************************************************************************
409 * OleCreateFromClip [OLECLI32.12]
411 OLESTATUS WINAPI
OleCreateFromClip(
412 LPCSTR name
,LPOLECLIENT olecli
,LHCLIENTDOC hclientdoc
,LPCSTR xname
,
413 LPOLEOBJECT
*lpoleob
,OLEOPT_RENDER render
, OLECLIPFORMAT clipformat
415 FIXME("(%s,%p,%08lx,%s,%p,%d,%ld): stub!\n",
416 name
,olecli
,hclientdoc
,xname
,lpoleob
,render
,clipformat
);
417 /* clipb type, object kreieren entsprechend etc. */