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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, 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 _OLEOBJECTVTBL16
{
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 [OLECLI.45]
200 OLESTATUS WINAPI
OleSavedClientDoc16(LHCLIENTDOC hDoc
)
202 FIXME("(%d: stub\n", hDoc
);
206 /******************************************************************************
207 * OleRegisterClientDoc [OLECLI.41]
209 OLESTATUS WINAPI
OleRegisterClientDoc16(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 [OLECLI.43]
220 OLESTATUS WINAPI
OleRenameClientDoc16(LHCLIENTDOC hDoc
, LPCSTR newName
)
222 FIXME("(%d,%s,...): stub\n",hDoc
, newName
);
226 /******************************************************************************
227 * OleRevokeClientDoc [OLECLI.42]
229 OLESTATUS WINAPI
OleRevokeClientDoc16(LHCLIENTDOC hServerDoc
)
231 FIXME("(%d): stub\n",hServerDoc
);
235 /******************************************************************************
236 * OleRevertClientDoc [OLECLI.44]
238 OLESTATUS WINAPI
OleRevertClientDoc16(LHCLIENTDOC hServerDoc
)
240 FIXME("(%d): stub\n", hServerDoc
);
244 /******************************************************************************
245 * OleEnumObjects [OLECLI.47]
247 OLESTATUS WINAPI
OleEnumObjects16(LHCLIENTDOC hServerDoc
, SEGPTR data
)
249 FIXME("(%d, %04x:%04x): stub\n", hServerDoc
, HIWORD(data
),
254 /******************************************************************************
255 * OleCreateLinkFromClip [OLECLI.11]
257 OLESTATUS WINAPI
OleCreateLinkFromClip16( LPCSTR name
, SEGPTR olecli
, LHCLIENTDOC hclientdoc
,
258 LPCSTR xname
, SEGPTR lpoleob
, UINT16 render
,
261 FIXME("(%s, %04x:%04x, %d, %s, %04x:%04x, %d, %d): stub!\n",
262 name
, HIWORD(olecli
), LOWORD(olecli
), hclientdoc
, xname
, HIWORD(lpoleob
),
263 LOWORD(lpoleob
), render
, clipformat
);
267 /******************************************************************************
268 * OleQueryLinkFromClip [OLECLI.9]
270 OLESTATUS WINAPI
OleQueryLinkFromClip16(LPCSTR name
, UINT16 render
, UINT16 clipformat
)
272 FIXME("(%s, %d, %d): stub!\n", name
, render
, clipformat
);
276 /******************************************************************************
277 * OleQueryCreateFromClip [OLECLI.10]
279 OLESTATUS WINAPI
OleQueryCreateFromClip16(LPCSTR name
, UINT16 render
, UINT16 clipformat
)
281 FIXME("(%s, %d, %d): stub!\n", name
, render
, clipformat
);
285 /******************************************************************************
286 * OleIsDcMeta [OLECLI.60]
288 BOOL16 WINAPI
OleIsDcMeta16(HDC16 hdc
)
290 return GetObjectType( HDC_32(hdc
) ) == OBJ_METADC
;
293 /******************************************************************************
294 * OleQueryType [OLECLI.14]
296 OLESTATUS WINAPI
OleQueryType16(_LPOLEOBJECT oleob
, SEGPTR xlong
) {
297 FIXME("(%p, %p): stub!\n", oleob
, MapSL(xlong
));
301 /******************************************************************************
302 * OleCreateFromClip [OLECLI.12]
304 OLESTATUS WINAPI
OleCreateFromClip16( LPCSTR name
, SEGPTR olecli
, LHCLIENTDOC hclientdoc
,
305 LPCSTR xname
, SEGPTR lpoleob
,
306 UINT16 render
, UINT16 clipformat
)
308 FIXME("(%s, %04x:%04x, %d, %s, %04x:%04x, %d, %d): stub!\n",
309 name
, HIWORD(olecli
), LOWORD(olecli
), hclientdoc
, xname
, HIWORD(lpoleob
),
310 LOWORD(lpoleob
), render
, clipformat
);