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.
29 #include "wine/windef16.h"
34 #include "wine/debug.h"
36 WINE_DEFAULT_DEBUG_CHANNEL(ole
);
43 OLE_ERROR_PROTECT_ONLY
,
81 OLE_ERROR_ADVISE_NATIVE
,
82 OLE_ERROR_ADVISE_PICT
,
83 OLE_ERROR_ADVISE_RENAME
,
84 OLE_ERROR_POKE_NATIVE
,
85 OLE_ERROR_REQUEST_NATIVE
,
86 OLE_ERROR_REQUEST_PICT
,
87 OLE_ERROR_SERVER_BLOCKED
,
88 OLE_ERROR_REGISTRATION
,
89 OLE_ERROR_ALREADY_REGISTERED
,
92 OLE_ERROR_CANT_UPDATE_CLIENT
,
94 OLE_ERROR_SETDATA_FORMAT
,
95 OLE_ERROR_STATIC_FROM_OTHER_OS
,
96 OLE_WARN_DELETE_DATA
= 1000
116 OLE_DELETE
, /* delete object */
117 OLE_LNKPASTE
, /* link paste */
118 OLE_EMBPASTE
, /* paste(and update) */
125 OLE_SETUPDATEOPTIONS
,
126 OLE_SERVERRUNLAUNCH
, /* unlaunch (terminate?) server */
127 OLE_LOADFROMSTREAM
, /* (auto reconnect) */
128 OLE_SETDATA
, /* OleSetData */
129 OLE_REQUESTDATA
, /* OleRequestData */
132 OLE_CREATEFROMTEMPLATE
,
133 OLE_CREATELINKFROMFILE
,
137 } OLE_RELEASE_METHOD
;
139 typedef LONG LHCLIENTDOC
;
140 typedef struct _OLEOBJECT
*_LPOLEOBJECT
;
141 typedef struct _OLECLIENT
*LPOLECLIENT
;
142 typedef LONG OLECLIPFORMAT
;/* dunno about this type, please change/add */
143 typedef OLEOPT_UPDATE
*LPOLEOPT_UPDATE
;
144 typedef LPCSTR LPCOLESTR16
;
148 typedef struct _OLEOBJECTVTBL
{
149 void CALLBACK
*(*QueryProtocol
)(_LPOLEOBJECT
,LPCOLESTR16
);
150 OLESTATUS (CALLBACK
*Release
)(_LPOLEOBJECT
);
151 OLESTATUS (CALLBACK
*Show
)(_LPOLEOBJECT
,BOOL16
);
152 OLESTATUS (CALLBACK
*DoVerb
)(_LPOLEOBJECT
,UINT16
,BOOL16
,BOOL16
);
153 OLESTATUS (CALLBACK
*GetData
)(_LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE16
*);
154 OLESTATUS (CALLBACK
*SetData
)(_LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE16
);
155 OLESTATUS (CALLBACK
*SetTargetDevice
)(_LPOLEOBJECT
,HGLOBAL16
);
156 OLESTATUS (CALLBACK
*SetBounds
)(_LPOLEOBJECT
,LPRECT16
);
157 OLESTATUS (CALLBACK
*EnumFormats
)(_LPOLEOBJECT
,OLECLIPFORMAT
);
158 OLESTATUS (CALLBACK
*SetColorScheme
)(_LPOLEOBJECT
,struct tagLOGPALETTE
*);
159 OLESTATUS (CALLBACK
*Delete
)(_LPOLEOBJECT
);
160 OLESTATUS (CALLBACK
*SetHostNames
)(_LPOLEOBJECT
,LPCOLESTR16
,LPCOLESTR16
);
161 OLESTATUS (CALLBACK
*SaveToStream
)(_LPOLEOBJECT
,struct _OLESTREAM
*);
162 OLESTATUS (CALLBACK
*Clone
)(_LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,LPCOLESTR16
,_LPOLEOBJECT
*);
163 OLESTATUS (CALLBACK
*CopyFromLink
)(_LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,LPCOLESTR16
,_LPOLEOBJECT
*);
164 OLESTATUS (CALLBACK
*Equal
)(_LPOLEOBJECT
,_LPOLEOBJECT
);
165 OLESTATUS (CALLBACK
*CopyToClipBoard
)(_LPOLEOBJECT
);
166 OLESTATUS (CALLBACK
*Draw
)(_LPOLEOBJECT
,HDC16
,LPRECT16
,LPRECT16
,HDC16
);
167 OLESTATUS (CALLBACK
*Activate
)(_LPOLEOBJECT
,UINT16
,BOOL16
,BOOL16
,HWND16
,LPRECT16
);
168 OLESTATUS (CALLBACK
*Execute
)(_LPOLEOBJECT
,HGLOBAL16
,UINT16
);
169 OLESTATUS (CALLBACK
*Close
)(_LPOLEOBJECT
);
170 OLESTATUS (CALLBACK
*Update
)(_LPOLEOBJECT
);
171 OLESTATUS (CALLBACK
*Reconnect
)(_LPOLEOBJECT
);
172 OLESTATUS (CALLBACK
*ObjectConvert
)(_LPOLEOBJECT
,LPCOLESTR16
,LPOLECLIENT
,LHCLIENTDOC
,LPCOLESTR16
,_LPOLEOBJECT
*);
173 OLESTATUS (CALLBACK
*GetLinkUpdateOptions
)(_LPOLEOBJECT
,LPOLEOPT_UPDATE
);
174 OLESTATUS (CALLBACK
*SetLinkUpdateOptions
)(_LPOLEOBJECT
,OLEOPT_UPDATE
);
175 OLESTATUS (CALLBACK
*Rename
)(_LPOLEOBJECT
,LPCOLESTR16
);
176 OLESTATUS (CALLBACK
*QueryName
)(_LPOLEOBJECT
,LPSTR
,LPUINT16
);
177 OLESTATUS (CALLBACK
*QueryType
)(_LPOLEOBJECT
,LPLONG
);
178 OLESTATUS (CALLBACK
*QueryBounds
)(_LPOLEOBJECT
,LPRECT16
);
179 OLESTATUS (CALLBACK
*QuerySize
)(_LPOLEOBJECT
,LPDWORD
);
180 OLESTATUS (CALLBACK
*QueryOpen
)(_LPOLEOBJECT
);
181 OLESTATUS (CALLBACK
*QueryOutOfDate
)(_LPOLEOBJECT
);
182 OLESTATUS (CALLBACK
*QueryReleaseStatus
)(_LPOLEOBJECT
);
183 OLESTATUS (CALLBACK
*QueryReleaseError
)(_LPOLEOBJECT
);
184 OLE_RELEASE_METHOD (CALLBACK
*QueryReleaseMethod
)(_LPOLEOBJECT
);
185 OLESTATUS (CALLBACK
*RequestData
)(_LPOLEOBJECT
,OLECLIPFORMAT
);
186 OLESTATUS (CALLBACK
*ObjectLong
)(_LPOLEOBJECT
,UINT16
,LPLONG
);
188 typedef OLEOBJECTVTBL
*LPOLEOBJECTVTBL
;
190 typedef struct _OLEOBJECT
192 const OLEOBJECTVTBL
*lpvtbl
;
195 static LONG OLE_current_handle
;
197 /******************************************************************************
198 * OleSavedClientDoc [OLECLI32.45]
200 OLESTATUS WINAPI
OleSavedClientDoc(LHCLIENTDOC hDoc
)
202 FIXME("(%ld: stub\n", hDoc
);
206 /******************************************************************************
207 * OleRegisterClientDoc [OLECLI32.41]
209 OLESTATUS WINAPI
OleRegisterClientDoc(LPCSTR classname
, LPCSTR docname
,
210 LONG reserved
, LHCLIENTDOC
*hRet
)
212 FIXME("(%s,%s,...): stub\n",classname
,docname
);
213 *hRet
=++OLE_current_handle
;
217 /******************************************************************************
218 * OleRenameClientDoc [OLECLI32.43]
220 OLESTATUS WINAPI
OleRenameClientDoc(LHCLIENTDOC hDoc
, LPCSTR newName
)
222 FIXME("(%ld,%s,...): stub\n",hDoc
, newName
);
226 /******************************************************************************
227 * OleRevokeClientDoc [OLECLI32.42]
229 OLESTATUS WINAPI
OleRevokeClientDoc(LHCLIENTDOC hServerDoc
)
231 FIXME("(%ld): stub\n",hServerDoc
);
235 /******************************************************************************
236 * OleCreateLinkFromClip [OLECLI32.11]
238 OLESTATUS WINAPI
OleCreateLinkFromClip(
239 LPCSTR name
,LPOLECLIENT olecli
,LHCLIENTDOC hclientdoc
,LPCSTR xname
,
240 _LPOLEOBJECT
*lpoleob
,OLEOPT_RENDER render
,OLECLIPFORMAT clipformat
242 FIXME("(%s,%p,%08lx,%s,%p,%d,%ld): stub!\n",
243 name
,olecli
,hclientdoc
,xname
,lpoleob
,render
,clipformat
);
247 /******************************************************************************
248 * OleQueryLinkFromClip [OLECLI32.9]
250 OLESTATUS WINAPI
OleQueryLinkFromClip(LPCSTR name
,OLEOPT_RENDER render
,OLECLIPFORMAT clipformat
) {
251 FIXME("(%s,%d,%ld): stub!\n",name
,render
,clipformat
);
255 /******************************************************************************
256 * OleQueryCreateFromClip [OLECLI32.10]
258 OLESTATUS WINAPI
OleQueryCreateFromClip(LPCSTR name
,OLEOPT_RENDER render
,OLECLIPFORMAT clipformat
) {
259 FIXME("(%s,%d,%ld): stub!\n",name
,render
,clipformat
);
263 /******************************************************************************
264 * OleIsDcMeta [OLECLI32.60]
266 BOOL WINAPI
OleIsDcMeta(HDC hdc
)
269 return GetObjectType( hdc
) == OBJ_METADC
;
272 /******************************************************************************
273 * OleSetHostNames [OLECLI32.15]
275 OLESTATUS WINAPI
OleSetHostNames(_LPOLEOBJECT oleob
,LPCSTR name1
,LPCSTR name2
) {
276 FIXME("(%p,%s,%s): stub\n",oleob
,name1
,name2
);
280 /******************************************************************************
281 * OleQueryType [OLECLI32.14]
283 OLESTATUS WINAPI
OleQueryType(_LPOLEOBJECT oleob
,LONG
*xlong
) {
284 FIXME("(%p,%p): stub!\n",oleob
,xlong
);
287 TRACE("Calling OLEOBJECT.QueryType (%p) (%p,%p)\n",
288 oleob
->lpvtbl
->QueryType
,oleob
,xlong
);
289 return oleob
->lpvtbl
->QueryType(oleob
,xlong
);
292 /******************************************************************************
293 * OleCreateFromClip [OLECLI32.12]
295 OLESTATUS WINAPI
OleCreateFromClip(
296 LPCSTR name
,LPOLECLIENT olecli
,LHCLIENTDOC hclientdoc
,LPCSTR xname
,
297 _LPOLEOBJECT
*lpoleob
,OLEOPT_RENDER render
, OLECLIPFORMAT clipformat
299 FIXME("(%s,%p,%08lx,%s,%p,%d,%ld): stub!\n",
300 name
,olecli
,hclientdoc
,xname
,lpoleob
,render
,clipformat
);
301 /* clipb type, object kreieren entsprechend etc. */