hidclass.sys: Return STATUS_INVALID_USER_BUFFER if buffer_len is 0.
[wine.git] / dlls / olesvr.dll16 / olesvr.c
blob44e68228f4c85b0e4b7b10c5d98785033cfb5768
1 /*
2 * OLESVR library
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.
24 #include <stdarg.h>
26 #include "windef.h"
27 #include "winbase.h"
28 #include "wine/windef16.h"
29 #include "objbase.h"
30 #include "wine/debug.h"
32 WINE_DEFAULT_DEBUG_CHANNEL(ole);
34 typedef enum
36 OLE_OK,
37 OLE_WAIT_FOR_RELEASE,
38 OLE_BUSY,
39 OLE_ERROR_PROTECT_ONLY,
40 OLE_ERROR_MEMORY,
41 OLE_ERROR_STREAM,
42 OLE_ERROR_STATIC,
43 OLE_ERROR_BLANK,
44 OLE_ERROR_DRAW,
45 OLE_ERROR_METAFILE,
46 OLE_ERROR_ABORT,
47 OLE_ERROR_CLIPBOARD,
48 OLE_ERROR_FORMAT,
49 OLE_ERROR_OBJECT,
50 OLE_ERROR_OPTION,
51 OLE_ERROR_PROTOCOL,
52 OLE_ERROR_ADDRESS,
53 OLE_ERROR_NOT_EQUAL,
54 OLE_ERROR_HANDLE,
55 OLE_ERROR_GENERIC,
56 OLE_ERROR_CLASS,
57 OLE_ERROR_SYNTAX,
58 OLE_ERROR_DATATYPE,
59 OLE_ERROR_PALETTE,
60 OLE_ERROR_NOT_LINK,
61 OLE_ERROR_NOT_EMPTY,
62 OLE_ERROR_SIZE,
63 OLE_ERROR_DRIVE,
64 OLE_ERROR_NETWORK,
65 OLE_ERROR_NAME,
66 OLE_ERROR_TEMPLATE,
67 OLE_ERROR_NEW,
68 OLE_ERROR_EDIT,
69 OLE_ERROR_OPEN,
70 OLE_ERROR_NOT_OPEN,
71 OLE_ERROR_LAUNCH,
72 OLE_ERROR_COMM,
73 OLE_ERROR_TERMINATE,
74 OLE_ERROR_COMMAND,
75 OLE_ERROR_SHOW,
76 OLE_ERROR_DOVERB,
77 OLE_ERROR_ADVISE_NATIVE,
78 OLE_ERROR_ADVISE_PICT,
79 OLE_ERROR_ADVISE_RENAME,
80 OLE_ERROR_POKE_NATIVE,
81 OLE_ERROR_REQUEST_NATIVE,
82 OLE_ERROR_REQUEST_PICT,
83 OLE_ERROR_SERVER_BLOCKED,
84 OLE_ERROR_REGISTRATION,
85 OLE_ERROR_ALREADY_REGISTERED,
86 OLE_ERROR_TASK,
87 OLE_ERROR_OUTOFDATE,
88 OLE_ERROR_CANT_UPDATE_CLIENT,
89 OLE_ERROR_UPDATE,
90 OLE_ERROR_SETDATA_FORMAT,
91 OLE_ERROR_STATIC_FROM_OTHER_OS,
92 OLE_WARN_DELETE_DATA = 1000
93 } OLESTATUS;
95 typedef enum {
96 OLE_SERVER_MULTI,
97 OLE_SERVER_SINGLE
98 } OLE_SERVER_USE;
100 typedef LONG LHSERVER;
101 typedef LONG LHSERVERDOC;
102 typedef LPCSTR LPCOLESTR16;
104 typedef struct _OLESERVERDOC *LPOLESERVERDOC;
106 struct _OLESERVERDOCVTBL;
107 typedef struct _OLESERVERDOC
109 const struct _OLESERVERDOCVTBL *lpvtbl;
110 /* server provided state info */
111 } OLESERVERDOC;
113 typedef struct _OLESERVER *LPOLESERVER;
114 typedef struct _OLESERVERVTBL
116 OLESTATUS (CALLBACK *Open)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPOLESERVERDOC *);
117 OLESTATUS (CALLBACK *Create)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC*);
118 OLESTATUS (CALLBACK *CreateFromTemplate)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC *);
119 OLESTATUS (CALLBACK *Edit)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC *);
120 OLESTATUS (CALLBACK *Exit)(LPOLESERVER);
121 OLESTATUS (CALLBACK *Release)(LPOLESERVER);
122 OLESTATUS (CALLBACK *Execute)(LPOLESERVER);
123 } OLESERVERVTBL, *LPOLESERVERVTBL;
125 typedef struct _OLESERVER
127 const OLESERVERVTBL *lpvtbl;
128 /* server specific data */
129 } OLESERVER;
131 static LONG OLE_current_handle;
133 /******************************************************************************
134 * OleRegisterServer [OLESVR.2]
136 OLESTATUS WINAPI OleRegisterServer16( LPCSTR name, LPOLESERVER serverStruct,
137 LHSERVER *hRet, HINSTANCE16 hServer,
138 OLE_SERVER_USE use )
140 FIXME("(%s,...): stub\n",name);
141 *hRet=++OLE_current_handle;
142 /* return OLE_ERROR_MEMORY, OLE_ERROR_PROTECT_ONLY if you want it fail*/
143 return OLE_OK;
146 /******************************************************************************
147 * OleRevokeServer [OLESVR.3]
149 OLESTATUS WINAPI OleRevokeServer16(LHSERVER hServer)
151 FIXME("%d - stub\n",hServer);
152 return OLE_OK;
155 /******************************************************************************
156 * OleBlockServer [OLESVR.4]
158 OLESTATUS WINAPI OleBlockServer16(LHSERVER hServer)
160 FIXME("(%d): stub\n",hServer);
161 return OLE_OK;
164 /******************************************************************************
165 * OleUnblockServer [OLESVR.5]
167 OLESTATUS WINAPI OleUnblockServer16(LHSERVER hServer, BOOL16 *block)
169 FIXME("(%d): stub\n",hServer);
170 /* no more blocked messages :) */
171 *block=FALSE;
172 return OLE_OK;
175 /***********************************************************************
176 * OleRegisterServerDoc [OLESVR.6]
178 OLESTATUS WINAPI OleRegisterServerDoc16( LHSERVER hServer, LPCSTR docname,
179 LPOLESERVERDOC document,
180 LHSERVERDOC *hRet)
182 FIXME("(%d,%s): stub\n",hServer, docname);
183 *hRet=++OLE_current_handle;
184 return OLE_OK;
187 /******************************************************************************
188 * OleRevokeServerDoc [OLESVR.7]
190 OLESTATUS WINAPI OleRevokeServerDoc16(LHSERVERDOC hServerDoc)
192 FIXME("%d - stub\n",hServerDoc);
193 return OLE_OK;
196 /******************************************************************************
197 * OleRenameServerDoc [OLESVR.8]
200 OLESTATUS WINAPI OleRenameServerDoc16(LHSERVERDOC hDoc, LPCSTR newName)
202 FIXME("(%d,%s): stub.\n", hDoc, newName);
203 return OLE_OK;
206 /******************************************************************************
207 * OleRevertServerDoc [OLESVR.9]
210 OLESTATUS WINAPI OleRevertServerDoc16(LHSERVERDOC hDoc)
212 FIXME("(%d): stub.\n", hDoc);
213 return OLE_OK;
216 /******************************************************************************
217 * OleSavedServerDoc [OLESVR.10]
220 OLESTATUS WINAPI OleSavedServerDoc16(LHSERVERDOC hDoc)
222 FIXME("(%d): stub.\n", hDoc);
223 return OLE_OK;