1 #ifndef __WINE_WINERROR_H
2 #define __WINE_WINERROR_H
5 extern int WIN32_LastError
;
7 #define FACILITY_NULL 0
9 #define FACILITY_DISPATCH 2
10 #define FACILITY_STORAGE 3
11 #define FACILITY_ITF 4
12 #define FACILITY_WIN32 7
13 #define FACILITY_WINDOWS 8
14 #define FACILITY_SSPI 9
15 #define FACILITY_CONTROL 10
16 #define FACILITY_CERT 11
17 #define FACILITY_INTERNET 12
19 #define SEVERITY_ERROR 1
22 #define MAKE_HRESULT(sev,fac,code) \
23 ((HRESULT) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) )
24 #define MAKE_SCODE(sev,fac,code) \
25 ((SCODE) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) )
26 #define SUCCEEDED(stat) ((HRESULT)(stat)>=0)
27 #define FAILED(stat) ((HRESULT)(stat)<0)
29 #define HRESULT_CODE(hr) ((hr) & 0xFFFF)
30 #define SCODE_CODE(sc) ((sc) & 0xFFFF)
32 #define HRESULT_FACILITY(hr) (((hr) >> 16) & 0x1FFF)
33 #define SCODE_FACILITY(sc) (((sc) >> 16) & 0x1FFF)
35 /* ERROR_UNKNOWN is a placeholder for error conditions which haven't
36 * been tested yet so we're not exactly sure what will be returned.
37 * All instances of ERROR_UNKNOWN should be tested under Win95/NT
40 #define ERROR_UNKNOWN 99999
42 #define SEVERITY_SUCCESS 0
43 #define SEVERITY_ERROR 1
46 #define ERROR_SUCCESS 0
47 #define ERROR_INVALID_FUNCTION 1
48 #define ERROR_FILE_NOT_FOUND 2
49 #define ERROR_PATH_NOT_FOUND 3
50 #define ERROR_TOO_MANY_OPEN_FILES 4
51 #define ERROR_ACCESS_DENIED 5
52 #define ERROR_INVALID_HANDLE 6
53 #define ERROR_ARENA_TRASHED 7
54 #define ERROR_NOT_ENOUGH_MEMORY 8
55 #define ERROR_INVALID_BLOCK 9
56 #define ERROR_BAD_ENVIRONMENT 10
57 #define ERROR_BAD_FORMAT 11
58 #define ERROR_INVALID_ACCESS 12
59 #define ERROR_INVALID_DATA 13
60 #define ERROR_OUTOFMEMORY 14
61 #define ERROR_INVALID_DRIVE 15
62 #define ERROR_CURRENT_DIRECTORY 16
63 #define ERROR_NOT_SAME_DEVICE 17
64 #define ERROR_NO_MORE_FILES 18
65 #define ERROR_WRITE_PROTECT 19
66 #define ERROR_BAD_UNIT 20
67 #define ERROR_NOT_READY 21
68 #define ERROR_BAD_COMMAND 22
70 #define ERROR_BAD_LENGTH 24
72 #define ERROR_NOT_DOS_DISK 26
73 #define ERROR_SECTOR_NOT_FOUND 27
74 #define ERROR_WRITE_FAULT 29
75 #define ERROR_READ_FAULT 30
76 #define ERROR_GEN_FAILURE 31
77 #define ERROR_SHARING_VIOLATION 32
78 #define ERROR_LOCK_VIOLATION 33
79 #define ERROR_WRONG_DISK 34
80 #define ERROR_SHARING_BUFFER_EXCEEDED 36
81 #define ERROR_HANDLE_EOF 38
82 #define ERROR_HANDLE_DISK_FULL 39
83 #define ERROR_NOT_SUPPORTED 50
84 #define ERROR_REM_NOT_LIST 51
85 #define ERROR_DUP_NAME 52
86 #define ERROR_BAD_NETPATH 53
87 #define ERROR_NETWORK_BUSY 54
88 #define ERROR_DEV_NOT_EXIST 55
89 #define ERROR_ADAP_HDW_ERR 57
90 #define ERROR_BAD_NET_RESP 58
91 #define ERROR_UNEXP_NET_ERR 59
92 #define ERROR_BAD_REM_ADAP 60
93 #define ERROR_PRINTQ_FULL 61
94 #define ERROR_NO_SPOOL_SPACE 62
95 #define ERROR_PRINT_CANCELLED 63
96 #define ERROR_NETNAME_DELETED 64
97 #define ERROR_NETWORK_ACCESS_DENIED 65
98 #define ERROR_BAD_DEV_TYPE 66
99 #define ERROR_BAD_NET_NAME 67
100 #define ERROR_TOO_MANY_NAMES 68
101 #define ERROR_TOO_MANY_SESS 69
102 #define ERROR_SHARING_PAUSED 70
103 #define ERROR_REQ_NOT_ACCEP 71
104 #define ERROR_REDIR_PAUSED 72
105 #define ERROR_FILE_EXISTS 80
106 #define ERROR_CANNOT_MAKE 82
107 #define ERROR_FAIL_I24 83
108 #define ERROR_OUT_OF_STRUCTURES 84
109 #define ERROR_ALREADY_ASSIGNED 85
110 #define ERROR_INVALID_PASSWORD 86
111 #define ERROR_INVALID_PARAMETER 87
112 #define ERROR_NET_WRITE_FAULT 88
113 #define ERROR_NO_PROC_SLOTS 89
114 #define ERROR_TOO_MANY_SEMAPHORES 100
115 #define ERROR_EXCL_SEM_ALREADY_OWNED 101
116 #define ERROR_SEM_IS_SET 102
117 #define ERROR_TOO_MANY_SEM_REQUESTS 103
118 #define ERROR_INVALID_AT_INTERRUPT_TIME 104
119 #define ERROR_SEM_OWNER_DIED 105
120 #define ERROR_SEM_USER_LIMIT 106
121 #define ERROR_DISK_CHANGE 107
122 #define ERROR_DRIVE_LOCKED 108
123 #define ERROR_BROKEN_PIPE 109
124 #define ERROR_OPEN_FAILED 110
125 #define ERROR_BUFFER_OVERFLOW 111
126 #define ERROR_DISK_FULL 112
127 #define ERROR_NO_MORE_SEARCH_HANDLES 113
128 #define ERROR_INVALID_TARGET_HANDLE 114
129 #define ERROR_INVALID_CATEGORY 117
130 #define ERROR_INVALID_VERIFY_SWITCH 118
131 #define ERROR_BAD_DRIVER_LEVEL 119
132 #define ERROR_CALL_NOT_IMPLEMENTED 120
133 #define ERROR_SEM_TIMEOUT 121
134 #define ERROR_INSUFFICIENT_BUFFER 122
135 #define ERROR_INVALID_NAME 123
136 #define ERROR_INVALID_LEVEL 124
137 #define ERROR_NO_VOLUME_LABEL 125
138 #define ERROR_MOD_NOT_FOUND 126
139 #define ERROR_PROC_NOT_FOUND 127
140 #define ERROR_WAIT_NO_CHILDREN 128
141 #define ERROR_CHILD_NOT_COMPLETE 129
142 #define ERROR_DIRECT_ACCESS_HANDLE 130
143 #define ERROR_NEGATIVE_SEEK 131
144 #define ERROR_SEEK_ON_DEVICE 132
145 #define ERROR_IS_JOIN_TARGET 133
146 #define ERROR_IS_JOINED 134
147 #define ERROR_IS_SUBSTED 135
148 #define ERROR_NOT_JOINED 136
149 #define ERROR_NOT_SUBSTED 137
150 #define ERROR_JOIN_TO_JOIN 138
151 #define ERROR_SUBST_TO_SUBST 139
152 #define ERROR_JOIN_TO_SUBST 140
153 #define ERROR_SUBST_TO_JOIN 141
154 #define ERROR_BUSY_DRIVE 142
155 #define ERROR_SAME_DRIVE 143
156 #define ERROR_DIR_NOT_ROOT 144
157 #define ERROR_DIR_NOT_EMPTY 145
158 #define ERROR_IS_SUBST_PATH 146
159 #define ERROR_IS_JOIN_PATH 147
160 #define ERROR_PATH_BUSY 148
161 #define ERROR_IS_SUBST_TARGET 149
162 #define ERROR_SYSTEM_TRACE 150
163 #define ERROR_INVALID_EVENT_COUNT 151
164 #define ERROR_TOO_MANY_MUXWAITERS 152
165 #define ERROR_INVALID_LIST_FORMAT 153
166 #define ERROR_LABEL_TOO_LONG 154
167 #define ERROR_TOO_MANY_TCBS 155
168 #define ERROR_SIGNAL_REFUSED 156
169 #define ERROR_DISCARDED 157
170 #define ERROR_NOT_LOCKED 158
171 #define ERROR_BAD_THREADID_ADDR 159
172 #define ERROR_BAD_ARGUMENTS 160
173 #define ERROR_BAD_PATHNAME 161
174 #define ERROR_SIGNAL_PENDING 162
175 #define ERROR_MAX_THRDS_REACHED 164
176 #define ERROR_LOCK_FAILED 167
177 #define ERROR_BUSY 170
178 #define ERROR_CANCEL_VIOLATION 173
179 #define ERROR_ATOMIC_LOCKS_NOT_SUPPORTED 174
180 #define ERROR_INVALID_SEGMENT_NUMBER 180
181 #define ERROR_INVALID_ORDINAL 182
182 #define ERROR_ALREADY_EXISTS 183
183 #define ERROR_INVALID_FLAG_NUMBER 186
184 #define ERROR_SEM_NOT_FOUND 187
185 #define ERROR_INVALID_STARTING_CODESEG 188
186 #define ERROR_INVALID_STACKSEG 189
187 #define ERROR_INVALID_MODULETYPE 190
188 #define ERROR_INVALID_EXE_SIGNATURE 191
189 #define ERROR_EXE_MARKED_INVALID 192
190 #define ERROR_BAD_EXE_FORMAT 193
191 #define ERROR_ITERATED_DATA_EXCEEDS_64k 194
192 #define ERROR_INVALID_MINALLOCSIZE 195
193 #define ERROR_DYNLINK_FROM_INVALID_RING 196
194 #define ERROR_IOPL_NOT_ENABLED 197
195 #define ERROR_INVALID_SEGDPL 198
196 #define ERROR_AUTODATASEG_EXCEEDS_64k 199
197 #define ERROR_RING2SEG_MUST_BE_MOVABLE 200
198 #define ERROR_RELOC_CHAIN_XEEDS_SEGLIM 201
199 #define ERROR_INFLOOP_IN_RELOC_CHAIN 202
200 #define ERROR_ENVVAR_NOT_FOUND 203
201 #define ERROR_NO_SIGNAL_SENT 205
202 #define ERROR_FILENAME_EXCED_RANGE 206
203 #define ERROR_RING2_STACK_IN_USE 207
204 #define ERROR_META_EXPANSION_TOO_LONG 208
205 #define ERROR_INVALID_SIGNAL_NUMBER 209
206 #define ERROR_THREAD_1_INACTIVE 210
207 #define ERROR_LOCKED 212
208 #define ERROR_TOO_MANY_MODULES 214
209 #define ERROR_NESTING_NOT_ALLOWED 215
210 #define ERROR_EXE_MACHINE_TYPE_MISMATCH 216
211 #define ERROR_BAD_PIPE 230
212 #define ERROR_PIPE_BUSY 231
213 #define ERROR_NO_DATA 232
214 #define ERROR_PIPE_NOT_CONNECTED 233
215 #define ERROR_MORE_DATA 234
216 #define ERROR_VC_DISCONNECTED 240
217 #define ERROR_INVALID_EA_NAME 254
218 #define ERROR_EA_LIST_INCONSISTENT 255
219 #define ERROR_NO_MORE_ITEMS 259
220 #define ERROR_CANNOT_COPY 266
221 #define ERROR_DIRECTORY 267
222 #define ERROR_EAS_DIDNT_FIT 275
223 #define ERROR_EA_FILE_CORRUPT 276
224 #define ERROR_EA_TABLE_FULL 277
225 #define ERROR_INVALID_EA_HANDLE 278
226 #define ERROR_EAS_NOT_SUPPORTED 282
227 #define ERROR_NOT_OWNER 288
228 #define ERROR_TOO_MANY_POSTS 298
229 #define ERROR_PARTIAL_COPY 299
230 #define ERROR_OPLOCK_NOT_GRANTED 300
231 #define ERROR_INVALID_OPLOCK_PROTOCOL 301
232 #define ERROR_MR_MID_NOT_FOUND 317
233 #define ERROR_INVALID_ADDRESS 487
234 #define ERROR_ARITHMETIC_OVERFLOW 534
235 #define ERROR_PIPE_CONNECTED 535
236 #define ERROR_PIPE_LISTENING 536
237 #define ERROR_EA_ACCESS_DENIED 994
238 #define ERROR_OPERATION_ABORTED 995
239 #define ERROR_IO_INCOMPLETE 996
240 #define ERROR_IO_PENDING 997
241 #define ERROR_NOACCESS 998
242 #define ERROR_SWAPERROR 999
243 #define ERROR_CAN_NOT_COMPLETE 1003
244 #define ERROR_INVALID_FLAGS 1004
245 #define ERROR_BADKEY 1010 /* Config reg key invalid */
246 #define ERROR_CANTREAD 1012 /* Config reg key couldn't be read */
247 #define ERROR_CANTWRITE 1013 /* Config reg key couldn't be written */
248 #define ERROR_DLL_INIT_FAILED 1114
249 #define ERROR_IO_DEVICE 1117
250 #define ERROR_POSSIBLE_DEADLOCK 1131
251 #define ERROR_BAD_DEVICE 1200
252 #define ERROR_NO_NETWORK 1222
253 #define ERROR_ALREADY_INITIALIZED 1247
254 #define ERROR_PRIVILEGE_NOT_HELD 1314
255 #define ERROR_INVALID_WINDOW_HANDLE 1400
256 #define ERROR_CANNOT_FIND_WND_CLASS 1407
257 #define ERROR_WINDOW_OF_OTHER_THREAD 1408
258 #define ERROR_CLASS_ALREADY_EXISTS 1410
259 #define ERROR_CLASS_DOES_NOT_EXIST 1411
260 #define ERROR_CLASS_HAS_WINDOWS 1412
261 #define ERROR_COMMITMENT_LIMIT 1455
262 #define ERROR_INVALID_PRINTER_NAME 1801
264 /* HRESULT values for OLE, SHELL and other Interface stuff */
265 /* the codes 4000-40ff are reserved for OLE */
267 #define S_OK ((HRESULT)0L)
268 #define S_FALSE ((HRESULT)1L)
270 #define DISP_E_UNKNOWNINTERFACE 0x80020001L
271 #define DISP_E_MEMBERNOTFOUND 0x80020003L
272 #define DISP_E_PARAMNOTFOUND 0x80020004L
273 #define DISP_E_TYPEMISMATCH 0x80020005L
274 #define DISP_E_UNKNOWNNAME 0x80020006L
275 #define DISP_E_NONAMEDARGS 0x80020007L
276 #define DISP_E_BADVARTYPE 0x80020008L
277 #define DISP_E_EXCEPTION 0x80020009L
278 #define DISP_E_OVERFLOW 0x8002000AL
279 #define DISP_E_BADINDEX 0x8002000BL
280 #define DISP_E_UNKNOWNLCID 0x8002000CL
281 #define DISP_E_ARRAYISLOCKED 0x8002000DL
282 #define DISP_E_BADPARAMCOUNT 0x8002000EL
283 #define DISP_E_PARAMNOTOPTIONAL 0x8002000FL
285 #define TYPE_E_ELEMENTNOTFOUND 0x8002802BL
286 #define TYPE_E_CANTLOADLIBRARY 0x80029C4AL
290 #define DRAGDROP_S_DROP 0x00040100L
291 #define DRAGDROP_S_CANCEL 0x00040101L
292 #define DRAGDROP_E_NOTREGISTERED 0x80040100L
293 #define DRAGDROP_E_ALREADYREGISTERED 0x80040101L
294 #define DRAGDROP_S_USEDEFAULTCURSORS 0x00040102L
296 #define E_UNEXPECTED 0x8000FFFF
298 #define E_NOTIMPL 0x80004001
299 #define E_NOINTERFACE 0x80004002
300 #define E_POINTER 0x80004003
301 #define E_ABORT 0x80004004
302 #define E_FAIL 0x80004005
303 #define E_UNSPEC E_FAIL // must to be defined (used by FileMoniker, IOleLink and DoDragDrop as a return value)
305 /*#define CO_E_INIT_TLS 0x80004006
306 #define CO_E_INIT_SHARED_ALLOCATOR 0x80004007
307 #define CO_E_INIT_MEMORY_ALLOCATOR 0x80004008
308 #define CO_E_INIT_CLASS_CACHE 0x80004009
309 #define CO_E_INIT_RPC_CHANNEL 0x8000400A
310 #define CO_E_INIT_TLS_SET_CHANNEL_CONTROL 0x8000400B
311 #define CO_E_INIT_TLS_CHANNEL_CONTROL 0x8000400C
312 #define CO_E_INIT_UNACCEPTED_USER_ALLOCATOR 0x8000400D
313 #define CO_E_INIT_SCM_MUTEX_EXISTS 0x8000400E
314 #define CO_E_INIT_SCM_FILE_MAPPING_EXISTS 0x8000400F
315 #define CO_E_INIT_SCM_MAP_VIEW_OF_FILE 0x80004010
316 #define CO_E_INIT_SCM_EXEC_FAILURE 0x80004011
317 #define CO_E_INIT_ONLY_SINGLE_THREADED 0x80004012 */
319 #define CO_S_NOTALLINTERFACES 0x00080012
320 #define CO_E_NOTINITIALIZED 0x800401F0
321 #define CO_E_ERRORINDLL 0x800401F9
322 #define CO_E_OBJISREG 0x800401FB
324 #define OLE_E_ENUM_NOMORE 0x80040002
325 #define OLE_E_ADVISENOTSUPPORTED 0x80040003
326 #define OLE_E_NOCONNECTION 0x80040004
327 #define OLE_E_NOTRUNNING 0x80040005
328 #define OLE_E_NOCACHE 0x80040006
329 #define OLE_E_BLANK 0x80040007
330 #define OLE_E_NOT_INPLACEACTIVE 0x80040010
331 #define OLE_E_STATIC 0x8004000B
332 #define OLE_E_PROMPTSAVECANCELLED 0x8004000C
333 #define OLE_S_USEREG 0x00040000
335 #define DV_E_FORMATETC 0x80040064
336 #define DV_E_DVASPECT 0x8004006B
338 #define CLASS_E_NOAGGREGATION 0x80040110
339 #define CLASS_E_CLASSNOTAVAILABLE 0x80040111
341 #define DATA_S_SAMEFORMATETC 0x80040130
343 #define E_ACCESSDENIED 0x80070005
344 #define E_HANDLE 0x80070006
345 #define E_OUTOFMEMORY 0x8007000E
346 #define E_INVALIDARG 0x80070057
348 /*#define OLE_E_FIRST 0x80040000L */
349 /*#define OLE_E_LAST 0x800400FFL */
350 /*#define OLE_S_FIRST 0x00040000L */
351 /*#define OLE_S_LAST 0x000400FFL */
353 #define MK_S_REDUCED_TO_SELF 0x000401E2
354 #define MK_S_ME 0x000401E4
355 #define MK_S_HIM 0x000401E5
356 #define MK_S_US 0x000401E6
357 #define MK_S_MONIKERALREADYREGISTERED 0x000401E7
359 #define MK_E_EXCEEDEDDEADLINE 0x800401E1
360 #define MK_E_NEEDGENERIC 0x800401E2
361 #define MK_E_UNAVAILABLE 0x800401E3
362 #define MK_E_SYNTAX 0x800401E4
363 #define MK_E_NOOBJECT 0x800401E5
364 #define MK_E_INVALIDEXTENSION 0x800401E6
365 #define MK_E_INTERMEDIATEINTERFACENOTSUPPORTED 0x800401E7
366 #define MK_E_NOTBINDABLE 0x800401E8
367 #define MK_E_NOTBOUND 0x800401E9
368 #define MK_E_CANTOPENFILE 0x800401EA
369 #define MK_E_MIUSTBOTHERUSER 0x800401EB
370 #define MK_E_NOINVERSE 0x800401EC
371 #define MK_E_NOSTORAGE 0x800401ED
372 #define MK_E_NOPREFIX 0x800401EE
374 #define STG_E_INVALIDFUNCTION 0x80030001
375 #define STG_E_FILENOTFOUND 0x80030002
376 #define STG_E_PATHNOTFOUND 0x80030003
377 #define STG_E_TOOMANYOPENFILES 0x80030004
378 #define STG_E_ACCESSDENIED 0x80030005
379 #define STG_E_INVALIDHANDLE 0x80030006
380 #define STG_E_INSUFFICIENTMEMORY 0x80030008
381 #define STG_E_INVALIDPOINTER 0x80030009
382 #define STG_E_NOMOREFILES 0x80030012
383 #define STG_E_DISKISWRITEPROTECTED 0x80030013
384 #define STG_E_SEEKERROR 0x80030019
385 #define STG_E_WRITEFAULT 0x8003001D
386 #define STG_E_READFAULT 0x8003001E
387 #define STG_E_SHAREVIOLATION 0x80030020
388 #define STG_E_LOCKVIOLATION 0x80030021
389 #define STG_E_FILEALREADYEXISTS 0x80030050
390 #define STG_E_INVALIDPARAMETER 0x80030057
391 #define STG_E_MEDIUMFULL 0x80030070
392 #define STG_E_ABNORMALAPIEXIT 0x800300FA
393 #define STG_E_INVALIDHEADER 0x800300FB
394 #define STG_E_INVALIDNAME 0x800300FC
395 #define STG_E_UNKNOWN 0x800300FD
396 #define STG_E_UNIMPLEMENTEDFUNCTION 0x800300FE
397 #define STG_E_INVALIDFLAG 0x800300FF
398 #define STG_E_INUSE 0x80030100
399 #define STG_E_NOTCURRENT 0x80030101
400 #define STG_E_REVERTED 0x80030102
401 #define STG_E_CANTSAVE 0x80030103
402 #define STG_E_OLDFORMAT 0x80030104
403 #define STG_E_OLDDLL 0x80030105
404 #define STG_E_SHAREREQUIRED 0x80030106
405 #define STG_E_NOTFILEBASEDSTORAGE 0x80030107
406 #define STG_E_EXTANTMARSHALLINGS 0x80030108
409 #define E_NOTIMPL 0x80000001
410 #define E_OUTOFMEMORY 0x80000002
411 #define E_INVALIDARG 0x80000003
412 #define E_NOINTERFACE 0x80000004
413 #define E_POINTER 0x80000005
414 #define E_HANDLE 0x80000006
415 #define E_ABORT 0x80000007
416 #define E_FAIL 0x80000008
417 #define E_ACCESSDENIED 0x80000009 */
419 /* Obtained from lcc-win32 include files */
420 #define GDI_ERROR 0xffffffff
423 /* registry errors */
424 #define REGDB_E_READREGDB 0x80040150
425 #define REGDB_E_CLASSNOTREG 0x80040154
427 #define INPLACE_E_NOTUNDOABLE 0x800401A0
428 #define INPLACE_E_NOTOOLSPACE 0x800401A1
430 #define DATA_E_FORMATETC DV_E_FORMATETC
432 #define CLASSFACTORY_E_FIRST 0x80040110L
433 #define CLASSFACTORY_E_LAST 0x8004011FL
434 #define CLASSFACTORY_S_FIRST 0x80040110L
435 #define CLASSFACTORY_S_LAST 0x8004011FL
437 #define CLASS_E_NOTLICENSED (CLASSFACTORY_E_FIRST+2)
438 #define CLASS_E_NOAGGREGATION 0x80040110
439 #define CLASS_E_CLASSNOTAVAILABLE 0x80040111
442 #define OLEOBJ_E_NOVERBS 0x00040180L
443 #define OLEOBJ_S_INVALIDVERB 0x00040180L
445 #endif /* __WINE_WINERROR_H */