Merge pull request #2274 from esdrubal/udpclientreceive
[mono.git] / mono / io-layer / messages.c
1 /*
2  * messages.c:  Error message handling
3  *
4  * Author:
5  *      Dick Porter (dick@ximian.com)
6  *
7  * (C) 2008 Novell, Inc.
8  */
9
10 #include <config.h>
11 #include <glib.h>
12 #include <stdarg.h>
13 #include <string.h>
14 #include <stdio.h>
15
16 #include <mono/io-layer/wapi.h>
17 #include <mono/io-layer/wapi-private.h>
18 #include <mono/io-layer/messages.h>
19 #include <mono/utils/bsearch.h>
20
21 #undef DEBUG
22
23 typedef struct {
24         int id;
25         const char *txt;
26 } ErrorDesc;
27
28 static ErrorDesc common_messages [] = {
29         { ERROR_SUCCESS, "Success" },
30         { ERROR_FILE_NOT_FOUND, "Cannot find the specified file" },
31         { ERROR_PATH_NOT_FOUND, "Cannot find the specified file" },
32         { ERROR_TOO_MANY_OPEN_FILES, "Too many open files" },
33         { ERROR_ACCESS_DENIED, "Access denied" },
34         { ERROR_INVALID_HANDLE, "Invalid handle" },
35         { ERROR_INVALID_DATA, "Invalid data" },
36         { ERROR_OUTOFMEMORY, "Out of memory" },
37         { ERROR_NOT_SAME_DEVICE, "Not same device" },
38         { ERROR_NO_MORE_FILES, "No more files" },
39         { ERROR_BAD_LENGTH, "Bad length" },
40         { ERROR_GEN_FAILURE, "General failure" },
41         { ERROR_SHARING_VIOLATION, "Sharing violation" },
42         { ERROR_LOCK_VIOLATION, "Lock violation" },
43         { ERROR_NOT_SUPPORTED, "Operation not supported" },
44         { ERROR_INVALID_PARAMETER, "Invalid parameter" },
45         { ERROR_CALL_NOT_IMPLEMENTED, "Call not implemented" },
46         { ERROR_INVALID_NAME, "Invalid name" },
47         { ERROR_PROC_NOT_FOUND, "Process not found" },
48         { ERROR_ALREADY_EXISTS, "Already exists" },
49         { ERROR_DIRECTORY, "Is a directory" },
50         { ERROR_OPERATION_ABORTED, "Operation aborted" },
51         { ERROR_ENCRYPTION_FAILED, "Encryption failed" },
52         { WSAEINTR, "interrupted" },
53         { WSAEBADF, "Bad file number" },
54         { WSAEACCES, "Access denied" },
55         { WSAEFAULT, "Bad address" },
56         { WSAEINVAL, "Invalid arguments" },
57         { WSAEMFILE, "Too many open files" },
58         { WSAEWOULDBLOCK, "Operation on non-blocking socket would block" },
59         { WSAEINPROGRESS, "Operation in progress" },
60         { WSAEALREADY, "Operation already in progress" },
61         { WSAENOTSOCK, "The descriptor is not a socket" },
62         { WSAEDESTADDRREQ, "Destination address required" },
63         { WSAEMSGSIZE, "Message too long" },
64         { WSAEPROTOTYPE, "Protocol wrong type for socket" },
65         { WSAENOPROTOOPT, "Protocol option not supported" },
66         { WSAEPROTONOSUPPORT, "Protocol not supported" },
67         { WSAESOCKTNOSUPPORT, "Socket not supported" },
68         { WSAEOPNOTSUPP, "Operation not supported" },
69         { WSAEPFNOSUPPORT, "Protocol family not supported" },
70         { WSAEAFNOSUPPORT, "An address incompatible with the requested protocol was used" },
71         { WSAEADDRINUSE, "Address already in use" },
72         { WSAEADDRNOTAVAIL, "The requested address is not valid in this context" },
73         { WSAENETDOWN, "Network subsystem is down" },
74         { WSAENETUNREACH, "Network is unreachable" },
75         { WSAENETRESET, "Connection broken, keep-alive detected a problem" },
76         { WSAECONNABORTED, "An established connection was aborted in your host machine." },
77         { WSAECONNRESET, "Connection reset by peer" },
78         { WSAENOBUFS, "Not enough buffer space is available" },
79         { WSAEISCONN, "Socket is already connected" },
80         { WSAENOTCONN, "The socket is not connected" },
81         { WSAESHUTDOWN, "The socket has been shut down" },
82         { WSAETOOMANYREFS, "Too many references: cannot splice" },
83         { WSAETIMEDOUT, "Connection timed out" },
84         { WSAECONNREFUSED, "Connection refused" },
85         { WSAELOOP, "Too many symbolic links encountered" },
86         { WSAENAMETOOLONG, "File name too long" },
87         { WSAEHOSTDOWN, "Host is down" },
88         { WSAEHOSTUNREACH, "No route to host" },
89         { WSAENOTEMPTY, "Directory not empty" },
90         { WSAEPROCLIM, "EPROCLIM" },
91         { WSAEUSERS, "Too many users" },
92         { WSAEDQUOT, "Quota exceeded" },
93         { WSAESTALE, "Stale NFS file handle" },
94         { WSAEREMOTE, "Object is remote" },
95         { WSASYSNOTREADY, "SYSNOTREADY" },
96         { WSAVERNOTSUPPORTED, "VERNOTSUPPORTED" },
97         { WSANOTINITIALISED, "Winsock not initialised" },
98         { WSAEDISCON, "EDISCON" },
99         { WSAENOMORE, "ENOMORE" },
100         { WSAECANCELLED, "Operation canceled" },
101         { WSAEINVALIDPROCTABLE, "EINVALIDPROCTABLE" },
102         { WSAEINVALIDPROVIDER, "EINVALIDPROVIDER" },
103         { WSAEPROVIDERFAILEDINIT, "EPROVIDERFAILEDINIT" },
104         { WSASYSCALLFAILURE, "System call failed" },
105         { WSASERVICE_NOT_FOUND, "SERVICE_NOT_FOUND" },
106         { WSATYPE_NOT_FOUND, "TYPE_NOT_FOUND" },
107         { WSA_E_NO_MORE, "E_NO_MORE" },
108         { WSA_E_CANCELLED, "E_CANCELLED" },
109         { WSAEREFUSED, "EREFUSED" },
110         { WSAHOST_NOT_FOUND, "No such host is known" },
111         { WSATRY_AGAIN, "A temporary error occurred on an authoritative name server.  Try again later." },
112         { WSANO_RECOVERY, "No recovery" },
113         { WSANO_DATA, "No data" },
114 };
115
116 #ifndef DISABLE_FULL_MESSAGES
117 static ErrorDesc messages [] = {
118         { ERROR_INVALID_FUNCTION, "Invalid function" },
119         { ERROR_ARENA_TRASHED, "Arena trashed" },
120         { ERROR_NOT_ENOUGH_MEMORY, "Not enough memory" },
121         { ERROR_INVALID_BLOCK, "Invalid block" },
122         { ERROR_BAD_ENVIRONMENT, "Bad environment" },
123         { ERROR_BAD_FORMAT, "Bad format" },
124         { ERROR_INVALID_ACCESS, "Invalid access" },
125         { ERROR_INVALID_DRIVE, "Invalid drive" },
126         { ERROR_CURRENT_DIRECTORY, "Current directory" },
127         { ERROR_WRITE_PROTECT, "Write protect" },
128         { ERROR_BAD_UNIT, "Bad unit" },
129         { ERROR_NOT_READY, "Not ready" },
130         { ERROR_BAD_COMMAND, "Bad command" },
131         { ERROR_CRC, "CRC" },
132         { ERROR_SEEK, "Seek" },
133         { ERROR_NOT_DOS_DISK, "Not DOS disk" },
134         { ERROR_SECTOR_NOT_FOUND, "Sector not found" },
135         { ERROR_OUT_OF_PAPER, "Out of paper" },
136         { ERROR_WRITE_FAULT, "Write fault" },
137         { ERROR_READ_FAULT, "Read fault" },
138         { ERROR_WRONG_DISK, "Wrong disk" },
139         { ERROR_SHARING_BUFFER_EXCEEDED, "Sharing buffer exceeded" },
140         { ERROR_HANDLE_EOF, "Handle EOF" },
141         { ERROR_HANDLE_DISK_FULL, "Handle disk full" },
142         { ERROR_REM_NOT_LIST, "Rem not list" },
143         { ERROR_DUP_NAME, "Duplicate name" },
144         { ERROR_BAD_NETPATH, "Bad netpath" },
145         { ERROR_NETWORK_BUSY, "Network busy" },
146         { ERROR_DEV_NOT_EXIST, "Device does not exist" },
147         { ERROR_TOO_MANY_CMDS, "Too many commands" },
148         { ERROR_ADAP_HDW_ERR, "ADAP HDW error" },
149         { ERROR_BAD_NET_RESP, "Bad net response" },
150         { ERROR_UNEXP_NET_ERR, "Unexpected net error" },
151         { ERROR_BAD_REM_ADAP, "Bad rem adap" },
152         { ERROR_PRINTQ_FULL, "Print queue full" },
153         { ERROR_NO_SPOOL_SPACE, "No spool space" },
154         { ERROR_PRINT_CANCELLED, "Print cancelled" },
155         { ERROR_NETNAME_DELETED, "Netname deleted" },
156         { ERROR_NETWORK_ACCESS_DENIED, "Network access denied" },
157         { ERROR_BAD_DEV_TYPE, "Bad device type" },
158         { ERROR_BAD_NET_NAME, "Bad net name" },
159         { ERROR_TOO_MANY_NAMES, "Too many names" },
160         { ERROR_TOO_MANY_SESS, "Too many sessions" },
161         { ERROR_SHARING_PAUSED, "Sharing paused" },
162         { ERROR_REQ_NOT_ACCEP, "Req not accep" },
163         { ERROR_REDIR_PAUSED, "Redir paused" },
164         { ERROR_FILE_EXISTS, "File exists" },
165         { ERROR_CANNOT_MAKE, "Cannot make" },
166         { ERROR_FAIL_I24, "Fail i24" },
167         { ERROR_OUT_OF_STRUCTURES, "Out of structures" },
168         { ERROR_ALREADY_ASSIGNED, "Already assigned" },
169         { ERROR_INVALID_PASSWORD, "Invalid password" },
170         { ERROR_NET_WRITE_FAULT, "Net write fault" },
171         { ERROR_NO_PROC_SLOTS, "No proc slots" },
172         { ERROR_TOO_MANY_SEMAPHORES, "Too many semaphores" },
173         { ERROR_EXCL_SEM_ALREADY_OWNED, "Exclusive semaphore already owned" },
174         { ERROR_SEM_IS_SET, "Semaphore is set" },
175         { ERROR_TOO_MANY_SEM_REQUESTS, "Too many semaphore requests" },
176         { ERROR_INVALID_AT_INTERRUPT_TIME, "Invalid at interrupt time" },
177         { ERROR_SEM_OWNER_DIED, "Semaphore owner died" },
178         { ERROR_SEM_USER_LIMIT, "Semaphore user limit" },
179         { ERROR_DISK_CHANGE, "Disk change" },
180         { ERROR_DRIVE_LOCKED, "Drive locked" },
181         { ERROR_BROKEN_PIPE, "Broken pipe" },
182         { ERROR_OPEN_FAILED, "Open failed" },
183         { ERROR_BUFFER_OVERFLOW, "Buffer overflow" },
184         { ERROR_DISK_FULL, "Disk full" },
185         { ERROR_NO_MORE_SEARCH_HANDLES, "No more search handles" },
186         { ERROR_INVALID_TARGET_HANDLE, "Invalid target handle" },
187         { ERROR_INVALID_CATEGORY, "Invalid category" },
188         { ERROR_INVALID_VERIFY_SWITCH, "Invalid verify switch" },
189         { ERROR_BAD_DRIVER_LEVEL, "Bad driver level" },
190         { ERROR_SEM_TIMEOUT, "Semaphore timeout" },
191         { ERROR_INSUFFICIENT_BUFFER, "Insufficient buffer" },
192         { ERROR_INVALID_LEVEL, "Invalid level" },
193         { ERROR_NO_VOLUME_LABEL, "No volume label" },
194         { ERROR_MOD_NOT_FOUND, "Module not found" },
195         { ERROR_WAIT_NO_CHILDREN, "Wait no children" },
196         { ERROR_CHILD_NOT_COMPLETE, "Child not complete" },
197         { ERROR_DIRECT_ACCESS_HANDLE, "Direct access handle" },
198         { ERROR_NEGATIVE_SEEK, "Negative seek" },
199         { ERROR_SEEK_ON_DEVICE, "Seek on device" },
200         { ERROR_IS_JOIN_TARGET, "Is join target" },
201         { ERROR_IS_JOINED, "Is joined" },
202         { ERROR_IS_SUBSTED, "Is substed" },
203         { ERROR_NOT_JOINED, "Not joined" },
204         { ERROR_NOT_SUBSTED, "Not substed" },
205         { ERROR_JOIN_TO_JOIN, "Join to join" },
206         { ERROR_SUBST_TO_SUBST, "Subst to subst" },
207         { ERROR_JOIN_TO_SUBST, "Join to subst" },
208         { ERROR_SUBST_TO_JOIN, "Subst to join" },
209         { ERROR_BUSY_DRIVE, "Busy drive" },
210         { ERROR_SAME_DRIVE, "Same drive" },
211         { ERROR_DIR_NOT_ROOT, "Directory not root" },
212         { ERROR_DIR_NOT_EMPTY, "Directory not empty" },
213         { ERROR_IS_SUBST_PATH, "Is subst path" },
214         { ERROR_IS_JOIN_PATH, "Is join path" },
215         { ERROR_PATH_BUSY, "Path busy" },
216         { ERROR_IS_SUBST_TARGET, "Is subst target" },
217         { ERROR_SYSTEM_TRACE, "System trace" },
218         { ERROR_INVALID_EVENT_COUNT, "Invalid event count" },
219         { ERROR_TOO_MANY_MUXWAITERS, "Too many muxwaiters" },
220         { ERROR_INVALID_LIST_FORMAT, "Invalid list format" },
221         { ERROR_LABEL_TOO_LONG, "Label too long" },
222         { ERROR_TOO_MANY_TCBS, "Too many TCBs" },
223         { ERROR_SIGNAL_REFUSED, "Signal refused" },
224         { ERROR_DISCARDED, "Discarded" },
225         { ERROR_NOT_LOCKED, "Not locked" },
226         { ERROR_BAD_THREADID_ADDR, "Bad thread ID addr" },
227         { ERROR_BAD_ARGUMENTS, "Bad arguments" },
228         { ERROR_BAD_PATHNAME, "Bad pathname" },
229         { ERROR_SIGNAL_PENDING, "Signal pending" },
230         { ERROR_MAX_THRDS_REACHED, "Max thrds reached" },
231         { ERROR_LOCK_FAILED, "Lock failed" },
232         { ERROR_BUSY, "Busy" },
233         { ERROR_CANCEL_VIOLATION, "Cancel violation" },
234         { ERROR_ATOMIC_LOCKS_NOT_SUPPORTED, "Atomic locks not supported" },
235         { ERROR_INVALID_SEGMENT_NUMBER, "Invalid segment number" },
236         { ERROR_INVALID_ORDINAL, "Invalid ordinal" },
237         { ERROR_INVALID_FLAG_NUMBER, "Invalid flag number" },
238         { ERROR_SEM_NOT_FOUND, "Sem not found" },
239         { ERROR_INVALID_STARTING_CODESEG, "Invalid starting codeseg" },
240         { ERROR_INVALID_STACKSEG, "Invalid stackseg" },
241         { ERROR_INVALID_MODULETYPE, "Invalid moduletype" },
242         { ERROR_INVALID_EXE_SIGNATURE, "Invalid exe signature" },
243         { ERROR_EXE_MARKED_INVALID, "Exe marked invalid" },
244         { ERROR_BAD_EXE_FORMAT, "Bad exe format" },
245         { ERROR_ITERATED_DATA_EXCEEDS_64k, "Iterated data exceeds 64k (and that should be enough for anybody!)" },
246         { ERROR_INVALID_MINALLOCSIZE, "Invalid minallocsize" },
247         { ERROR_DYNLINK_FROM_INVALID_RING, "Dynlink from invalid ring" },
248         { ERROR_IOPL_NOT_ENABLED, "IOPL not enabled" },
249         { ERROR_INVALID_SEGDPL, "Invalid segdpl" },
250         { ERROR_AUTODATASEG_EXCEEDS_64k, "Autodataseg exceeds 64k" },
251         { ERROR_RING2SEG_MUST_BE_MOVABLE, "Ring2seg must be movable" },
252         { ERROR_RELOC_CHAIN_XEEDS_SEGLIM, "Reloc chain exceeds seglim" },
253         { ERROR_INFLOOP_IN_RELOC_CHAIN, "Infloop in reloc chain" },
254         { ERROR_ENVVAR_NOT_FOUND, "Env var not found" },
255         { ERROR_NO_SIGNAL_SENT, "No signal sent" },
256         { ERROR_FILENAME_EXCED_RANGE, "Filename exceeds range" },
257         { ERROR_RING2_STACK_IN_USE, "Ring2 stack in use" },
258         { ERROR_META_EXPANSION_TOO_LONG, "Meta expansion too long" },
259         { ERROR_INVALID_SIGNAL_NUMBER, "Invalid signal number" },
260         { ERROR_THREAD_1_INACTIVE, "Thread 1 inactive" },
261         { ERROR_LOCKED, "Locked" },
262         { ERROR_TOO_MANY_MODULES, "Too many modules" },
263         { ERROR_NESTING_NOT_ALLOWED, "Nesting not allowed" },
264         { ERROR_EXE_MACHINE_TYPE_MISMATCH, "Exe machine type mismatch" },
265         { ERROR_BAD_PIPE, "Bad pipe" },
266         { ERROR_PIPE_BUSY, "Pipe busy" },
267         { ERROR_NO_DATA, "No data" },
268         { ERROR_PIPE_NOT_CONNECTED, "Pipe not connected" },
269         { ERROR_MORE_DATA, "More data" },
270         { ERROR_VC_DISCONNECTED, "VC disconnected" },
271         { ERROR_INVALID_EA_NAME, "Invalid EA name" },
272         { ERROR_EA_LIST_INCONSISTENT, "EA list inconsistent" },
273         { WAIT_TIMEOUT, "Wait timeout" },
274         { ERROR_NO_MORE_ITEMS, "No more items" },
275         { ERROR_CANNOT_COPY, "Cannot copy" },
276         { ERROR_EAS_DIDNT_FIT, "EAS didnt fit" },
277         { ERROR_EA_FILE_CORRUPT, "EA file corrupt" },
278         { ERROR_EA_TABLE_FULL, "EA table full" },
279         { ERROR_INVALID_EA_HANDLE, "Invalid EA handle" },
280         { ERROR_EAS_NOT_SUPPORTED, "EAs not supported" },
281         { ERROR_NOT_OWNER, "Not owner" },
282         { ERROR_TOO_MANY_POSTS, "Too many posts" },
283         { ERROR_PARTIAL_COPY, "Partial copy" },
284         { ERROR_OPLOCK_NOT_GRANTED, "Oplock not granted" },
285         { ERROR_INVALID_OPLOCK_PROTOCOL, "Invalid oplock protocol" },
286         { ERROR_DISK_TOO_FRAGMENTED, "Disk too fragmented" },
287         { ERROR_DELETE_PENDING, "Delete pending" },
288         { ERROR_MR_MID_NOT_FOUND, "Mr Mid not found" },
289         { ERROR_INVALID_ADDRESS, "Invalid address" },
290         { ERROR_ARITHMETIC_OVERFLOW, "Arithmetic overflow" },
291         { ERROR_PIPE_CONNECTED, "Pipe connected" },
292         { ERROR_PIPE_LISTENING, "Pipe listening" },
293         { ERROR_EA_ACCESS_DENIED, "EA access denied" },
294         { ERROR_IO_INCOMPLETE, "IO incomplete" },
295         { ERROR_IO_PENDING, "IO pending" },
296         { ERROR_NOACCESS, "No access" },
297         { ERROR_SWAPERROR, "Swap error" },
298         { ERROR_STACK_OVERFLOW, "Stack overflow" },
299         { ERROR_INVALID_MESSAGE, "Invalid message" },
300         { ERROR_CAN_NOT_COMPLETE, "Can not complete" },
301         { ERROR_INVALID_FLAGS, "Invalid flags" },
302         { ERROR_UNRECOGNIZED_VOLUME, "Unrecognised volume" },
303         { ERROR_FILE_INVALID, "File invalid" },
304         { ERROR_FULLSCREEN_MODE, "Full screen mode" },
305         { ERROR_NO_TOKEN, "No token" },
306         { ERROR_BADDB, "Bad DB" },
307         { ERROR_BADKEY, "Bad key" },
308         { ERROR_CANTOPEN, "Can't open" },
309         { ERROR_CANTREAD, "Can't read" },
310         { ERROR_CANTWRITE, "Can't write" },
311         { ERROR_REGISTRY_RECOVERED, "Registry recovered" },
312         { ERROR_REGISTRY_CORRUPT, "Registry corrupt" },
313         { ERROR_REGISTRY_IO_FAILED, "Registry IO failed" },
314         { ERROR_NOT_REGISTRY_FILE, "Not registry file" },
315         { ERROR_KEY_DELETED, "Key deleted" },
316         { ERROR_NO_LOG_SPACE, "No log space" },
317         { ERROR_KEY_HAS_CHILDREN, "Key has children" },
318         { ERROR_CHILD_MUST_BE_VOLATILE, "Child must be volatile" },
319         { ERROR_NOTIFY_ENUM_DIR, "Notify enum dir" },
320         { ERROR_DEPENDENT_SERVICES_RUNNING, "Dependent services running" },
321         { ERROR_INVALID_SERVICE_CONTROL, "Invalid service control" },
322         { ERROR_SERVICE_REQUEST_TIMEOUT, "Service request timeout" },
323         { ERROR_SERVICE_NO_THREAD, "Service no thread" },
324         { ERROR_SERVICE_DATABASE_LOCKED, "Service database locked" },
325         { ERROR_SERVICE_ALREADY_RUNNING, "Service already running" },
326         { ERROR_INVALID_SERVICE_ACCOUNT, "Invalid service account" },
327         { ERROR_SERVICE_DISABLED, "Service disabled" },
328         { ERROR_CIRCULAR_DEPENDENCY, "Circular dependency" },
329         { ERROR_SERVICE_DOES_NOT_EXIST, "Service does not exist" },
330         { ERROR_SERVICE_CANNOT_ACCEPT_CTRL, "Service cannot accept ctrl" },
331         { ERROR_SERVICE_NOT_ACTIVE, "Service not active" },
332         { ERROR_FAILED_SERVICE_CONTROLLER_CONNECT, "Failed service controller connect" },
333         { ERROR_EXCEPTION_IN_SERVICE, "Exception in service" },
334         { ERROR_DATABASE_DOES_NOT_EXIST, "Database does not exist" },
335         { ERROR_SERVICE_SPECIFIC_ERROR, "Service specific error" },
336         { ERROR_PROCESS_ABORTED, "Process aborted" },
337         { ERROR_SERVICE_DEPENDENCY_FAIL, "Service dependency fail" },
338         { ERROR_SERVICE_LOGON_FAILED, "Service logon failed" },
339         { ERROR_SERVICE_START_HANG, "Service start hang" },
340         { ERROR_INVALID_SERVICE_LOCK, "Invalid service lock" },
341         { ERROR_SERVICE_MARKED_FOR_DELETE, "Service marked for delete" },
342         { ERROR_SERVICE_EXISTS, "Service exists" },
343         { ERROR_ALREADY_RUNNING_LKG, "Already running lkg" },
344         { ERROR_SERVICE_DEPENDENCY_DELETED, "Service dependency deleted" },
345         { ERROR_BOOT_ALREADY_ACCEPTED, "Boot already accepted" },
346         { ERROR_SERVICE_NEVER_STARTED, "Service never started" },
347         { ERROR_DUPLICATE_SERVICE_NAME, "Duplicate service name" },
348         { ERROR_DIFFERENT_SERVICE_ACCOUNT, "Different service account" },
349         { ERROR_CANNOT_DETECT_DRIVER_FAILURE, "Cannot detect driver failure" },
350         { ERROR_CANNOT_DETECT_PROCESS_ABORT, "Cannot detect process abort" },
351         { ERROR_NO_RECOVERY_PROGRAM, "No recovery program" },
352         { ERROR_SERVICE_NOT_IN_EXE, "Service not in exe" },
353         { ERROR_NOT_SAFEBOOT_SERVICE, "Not safeboot service" },
354         { ERROR_END_OF_MEDIA, "End of media" },
355         { ERROR_FILEMARK_DETECTED, "Filemark detected" },
356         { ERROR_BEGINNING_OF_MEDIA, "Beginning of media" },
357         { ERROR_SETMARK_DETECTED, "Setmark detected" },
358         { ERROR_NO_DATA_DETECTED, "No data detected" },
359         { ERROR_PARTITION_FAILURE, "Partition failure" },
360         { ERROR_INVALID_BLOCK_LENGTH, "Invalid block length" },
361         { ERROR_DEVICE_NOT_PARTITIONED, "Device not partitioned" },
362         { ERROR_UNABLE_TO_LOCK_MEDIA, "Unable to lock media" },
363         { ERROR_UNABLE_TO_UNLOAD_MEDIA, "Unable to unload media" },
364         { ERROR_MEDIA_CHANGED, "Media changed" },
365         { ERROR_BUS_RESET, "Bus reset" },
366         { ERROR_NO_MEDIA_IN_DRIVE, "No media in drive" },
367         { ERROR_NO_UNICODE_TRANSLATION, "No unicode translation" },
368         { ERROR_DLL_INIT_FAILED, "DLL init failed" },
369         { ERROR_SHUTDOWN_IN_PROGRESS, "Shutdown in progress" },
370         { ERROR_NO_SHUTDOWN_IN_PROGRESS, "No shutdown in progress" },
371         { ERROR_IO_DEVICE, "IO device" },
372         { ERROR_SERIAL_NO_DEVICE, "Serial IO device" },
373         { ERROR_IRQ_BUSY, "IRQ busy" },
374         { ERROR_MORE_WRITES, "More writes" },
375         { ERROR_COUNTER_TIMEOUT, "Counter timeout" },
376         { ERROR_FLOPPY_ID_MARK_NOT_FOUND, "Floppy ID mark not found" },
377         { ERROR_FLOPPY_WRONG_CYLINDER, "Floppy wrong cylinder" },
378         { ERROR_FLOPPY_UNKNOWN_ERROR, "Floppy unknown error" },
379         { ERROR_FLOPPY_BAD_REGISTERS, "Floppy bad registers" },
380         { ERROR_DISK_RECALIBRATE_FAILED, "Disk recalibrate failed" },
381         { ERROR_DISK_OPERATION_FAILED, "Disk operation failed" },
382         { ERROR_DISK_RESET_FAILED, "Disk reset failed" },
383         { ERROR_EOM_OVERFLOW, "EOM overflow" },
384         { ERROR_NOT_ENOUGH_SERVER_MEMORY, "Not enough server memory" },
385         { ERROR_POSSIBLE_DEADLOCK, "Possible deadlock" },
386         { ERROR_MAPPED_ALIGNMENT, "Mapped alignment" },
387         { ERROR_SET_POWER_STATE_VETOED, "Set power state vetoed" },
388         { ERROR_SET_POWER_STATE_FAILED, "Set power state failed" },
389         { ERROR_TOO_MANY_LINKS, "Too many links" },
390         { ERROR_OLD_WIN_VERSION, "Old win version" },
391         { ERROR_APP_WRONG_OS, "App wrong OS" },
392         { ERROR_SINGLE_INSTANCE_APP, "Single instance app" },
393         { ERROR_RMODE_APP, "Rmode app" },
394         { ERROR_INVALID_DLL, "Invalid DLL" },
395         { ERROR_NO_ASSOCIATION, "No association" },
396         { ERROR_DDE_FAIL, "DDE fail" },
397         { ERROR_DLL_NOT_FOUND, "DLL not found" },
398         { ERROR_NO_MORE_USER_HANDLES, "No more user handles" },
399         { ERROR_MESSAGE_SYNC_ONLY, "Message sync only" },
400         { ERROR_SOURCE_ELEMENT_EMPTY, "Source element empty" },
401         { ERROR_DESTINATION_ELEMENT_FULL, "Destination element full" },
402         { ERROR_ILLEGAL_ELEMENT_ADDRESS, "Illegal element address" },
403         { ERROR_MAGAZINE_NOT_PRESENT, "Magazine not present" },
404         { ERROR_DEVICE_REINITIALIZATION_NEEDED, "Device reinitialization needed" },
405         { ERROR_DEVICE_REQUIRES_CLEANING, "Device requires cleaning" },
406         { ERROR_DEVICE_DOOR_OPEN, "Device door open" },
407         { ERROR_DEVICE_NOT_CONNECTED, "Device not connected" },
408         { ERROR_NOT_FOUND, "Not found" },
409         { ERROR_NO_MATCH, "No match" },
410         { ERROR_SET_NOT_FOUND, "Set not found" },
411         { ERROR_POINT_NOT_FOUND, "Point not found" },
412         { ERROR_NO_TRACKING_SERVICE, "No tracking service" },
413         { ERROR_NO_VOLUME_ID, "No volume ID" },
414         { ERROR_UNABLE_TO_REMOVE_REPLACED, "Unable to remove replaced" },
415         { ERROR_UNABLE_TO_MOVE_REPLACEMENT, "Unable to move replacement" },
416         { ERROR_UNABLE_TO_MOVE_REPLACEMENT_2, "Unable to move replacement 2" },
417         { ERROR_JOURNAL_DELETE_IN_PROGRESS, "Journal delete in progress" },
418         { ERROR_JOURNAL_NOT_ACTIVE, "Journal not active" },
419         { ERROR_POTENTIAL_FILE_FOUND, "Potential file found" },
420         { ERROR_JOURNAL_ENTRY_DELETED, "Journal entry deleted" },
421         { ERROR_BAD_DEVICE, "Bad device" },
422         { ERROR_CONNECTION_UNAVAIL, "Connection unavail" },
423         { ERROR_DEVICE_ALREADY_REMEMBERED, "Device already remembered" },
424         { ERROR_NO_NET_OR_BAD_PATH, "No net or bad path" },
425         { ERROR_BAD_PROVIDER, "Bad provider" },
426         { ERROR_CANNOT_OPEN_PROFILE, "Cannot open profile" },
427         { ERROR_BAD_PROFILE, "Bad profile" },
428         { ERROR_NOT_CONTAINER, "Not container" },
429         { ERROR_EXTENDED_ERROR, "Extended error" },
430         { ERROR_INVALID_GROUPNAME, "Invalid group name" },
431         { ERROR_INVALID_COMPUTERNAME, "Invalid computer name" },
432         { ERROR_INVALID_EVENTNAME, "Invalid event name" },
433         { ERROR_INVALID_DOMAINNAME, "Invalid domain name" },
434         { ERROR_INVALID_SERVICENAME, "Invalid service name" },
435         { ERROR_INVALID_NETNAME, "Invalid net name" },
436         { ERROR_INVALID_SHARENAME, "Invalid share name" },
437         { ERROR_INVALID_PASSWORDNAME, "Invalid password name" },
438         { ERROR_INVALID_MESSAGENAME, "Invalid message name" },
439         { ERROR_INVALID_MESSAGEDEST, "Invalid message dest" },
440         { ERROR_SESSION_CREDENTIAL_CONFLICT, "Session credential conflict" },
441         { ERROR_REMOTE_SESSION_LIMIT_EXCEEDED, "Remote session limit exceeded" },
442         { ERROR_DUP_DOMAINNAME, "Dup domain name" },
443         { ERROR_NO_NETWORK, "No network" },
444         { ERROR_CANCELLED, "Cancelled" },
445         { ERROR_USER_MAPPED_FILE, "User mapped file" },
446         { ERROR_CONNECTION_REFUSED, "Connection refused" },
447         { ERROR_GRACEFUL_DISCONNECT, "Graceful disconnect" },
448         { ERROR_ADDRESS_ALREADY_ASSOCIATED, "Address already associated" },
449         { ERROR_ADDRESS_NOT_ASSOCIATED, "Address not associated" },
450         { ERROR_CONNECTION_INVALID, "Connected invalid" },
451         { ERROR_CONNECTION_ACTIVE, "Connection active" },
452         { ERROR_NETWORK_UNREACHABLE, "Network unreachable" },
453         { ERROR_HOST_UNREACHABLE, "Host unreachable" },
454         { ERROR_PROTOCOL_UNREACHABLE, "Protocol unreachable" },
455         { ERROR_PORT_UNREACHABLE, "Port unreachable" },
456         { ERROR_REQUEST_ABORTED, "Request aborted" },
457         { ERROR_CONNECTION_ABORTED, "Connection aborted" },
458         { ERROR_RETRY, "Retry" },
459         { ERROR_CONNECTION_COUNT_LIMIT, "Connection count limit" },
460         { ERROR_LOGIN_TIME_RESTRICTION, "Login time restriction" },
461         { ERROR_LOGIN_WKSTA_RESTRICTION, "Login wksta restriction" },
462         { ERROR_INCORRECT_ADDRESS, "Incorrect address" },
463         { ERROR_ALREADY_REGISTERED, "Already registered" },
464         { ERROR_SERVICE_NOT_FOUND, "Service not found" },
465         { ERROR_NOT_AUTHENTICATED, "Not authenticated" },
466         { ERROR_NOT_LOGGED_ON, "Not logged on" },
467         { ERROR_CONTINUE, "Continue" },
468         { ERROR_ALREADY_INITIALIZED, "Already initialised" },
469         { ERROR_NO_MORE_DEVICES, "No more devices" },
470         { ERROR_NO_SUCH_SITE, "No such site" },
471         { ERROR_DOMAIN_CONTROLLER_EXISTS, "Domain controller exists" },
472         { ERROR_ONLY_IF_CONNECTED, "Only if connected" },
473         { ERROR_OVERRIDE_NOCHANGES, "Override no changes" },
474         { ERROR_BAD_USER_PROFILE, "Bad user profile" },
475         { ERROR_NOT_SUPPORTED_ON_SBS, "Not supported on SBS" },
476         { ERROR_SERVER_SHUTDOWN_IN_PROGRESS, "Server shutdown in progress" },
477         { ERROR_HOST_DOWN, "Host down" },
478         { ERROR_NON_ACCOUNT_SID, "Non account sid" },
479         { ERROR_NON_DOMAIN_SID, "Non domain sid" },
480         { ERROR_APPHELP_BLOCK, "Apphelp block" },
481         { ERROR_ACCESS_DISABLED_BY_POLICY, "Access disabled by policy" },
482         { ERROR_REG_NAT_CONSUMPTION, "Reg nat consumption" },
483         { ERROR_CSCSHARE_OFFLINE, "CSC share offline" },
484         { ERROR_PKINIT_FAILURE, "PK init failure" },
485         { ERROR_SMARTCARD_SUBSYSTEM_FAILURE, "Smartcard subsystem failure" },
486         { ERROR_DOWNGRADE_DETECTED, "Downgrade detected" },
487         { SEC_E_SMARTCARD_CERT_REVOKED, "Smartcard cert revoked" },
488         { SEC_E_ISSUING_CA_UNTRUSTED, "Issuing CA untrusted" },
489         { SEC_E_REVOCATION_OFFLINE_C, "Revocation offline" },
490         { SEC_E_PKINIT_CLIENT_FAILUR, "PK init client failure" },
491         { SEC_E_SMARTCARD_CERT_EXPIRED, "Smartcard cert expired" },
492         { ERROR_MACHINE_LOCKED, "Machine locked" },
493         { ERROR_CALLBACK_SUPPLIED_INVALID_DATA, "Callback supplied invalid data" },
494         { ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED, "Sync foreground refresh required" },
495         { ERROR_DRIVER_BLOCKED, "Driver blocked" },
496         { ERROR_INVALID_IMPORT_OF_NON_DLL, "Invalid import of non DLL" },
497         { ERROR_NOT_ALL_ASSIGNED, "Not all assigned" },
498         { ERROR_SOME_NOT_MAPPED, "Some not mapped" },
499         { ERROR_NO_QUOTAS_FOR_ACCOUNT, "No quotas for account" },
500         { ERROR_LOCAL_USER_SESSION_KEY, "Local user session key" },
501         { ERROR_NULL_LM_PASSWORD, "Null LM password" },
502         { ERROR_UNKNOWN_REVISION, "Unknown revision" },
503         { ERROR_REVISION_MISMATCH, "Revision mismatch" },
504         { ERROR_INVALID_OWNER, "Invalid owner" },
505         { ERROR_INVALID_PRIMARY_GROUP, "Invalid primary group" },
506         { ERROR_NO_IMPERSONATION_TOKEN, "No impersonation token" },
507         { ERROR_CANT_DISABLE_MANDATORY, "Can't disable mandatory" },
508         { ERROR_NO_LOGON_SERVERS, "No logon servers" },
509         { ERROR_NO_SUCH_LOGON_SESSION, "No such logon session" },
510         { ERROR_NO_SUCH_PRIVILEGE, "No such privilege" },
511         { ERROR_PRIVILEGE_NOT_HELD, "Privilege not held" },
512         { ERROR_INVALID_ACCOUNT_NAME, "Invalid account name" },
513         { ERROR_USER_EXISTS, "User exists" },
514         { ERROR_NO_SUCH_USER, "No such user" },
515         { ERROR_GROUP_EXISTS, "Group exists" },
516         { ERROR_NO_SUCH_GROUP, "No such group" },
517         { ERROR_MEMBER_IN_GROUP, "Member in group" },
518         { ERROR_MEMBER_NOT_IN_GROUP, "Member not in group" },
519         { ERROR_LAST_ADMIN, "Last admin" },
520         { ERROR_WRONG_PASSWORD, "Wrong password" },
521         { ERROR_ILL_FORMED_PASSWORD, "Ill formed password" },
522         { ERROR_PASSWORD_RESTRICTION, "Password restriction" },
523         { ERROR_LOGON_FAILURE, "Logon failure" },
524         { ERROR_ACCOUNT_RESTRICTION, "Account restriction" },
525         { ERROR_INVALID_LOGON_HOURS, "Invalid logon hours" },
526         { ERROR_INVALID_WORKSTATION, "Invalid workstation" },
527         { ERROR_PASSWORD_EXPIRED, "Password expired" },
528         { ERROR_ACCOUNT_DISABLED, "Account disabled" },
529         { ERROR_NONE_MAPPED, "None mapped" },
530         { ERROR_TOO_MANY_LUIDS_REQUESTED, "Too many LUIDs requested" },
531         { ERROR_LUIDS_EXHAUSTED, "LUIDs exhausted" },
532         { ERROR_INVALID_SUB_AUTHORITY, "Invalid sub authority" },
533         { ERROR_INVALID_ACL, "Invalid ACL" },
534         { ERROR_INVALID_SID, "Invalid SID" },
535         { ERROR_INVALID_SECURITY_DESCR, "Invalid security descr" },
536         { ERROR_BAD_INHERITANCE_ACL, "Bad inheritance ACL" },
537         { ERROR_SERVER_DISABLED, "Server disabled" },
538         { ERROR_SERVER_NOT_DISABLED, "Server not disabled" },
539         { ERROR_INVALID_ID_AUTHORITY, "Invalid ID authority" },
540         { ERROR_ALLOTTED_SPACE_EXCEEDED, "Allotted space exceeded" },
541         { ERROR_INVALID_GROUP_ATTRIBUTES, "Invalid group attributes" },
542         { ERROR_BAD_IMPERSONATION_LEVEL, "Bad impersonation level" },
543         { ERROR_CANT_OPEN_ANONYMOUS, "Can't open anonymous" },
544         { ERROR_BAD_VALIDATION_CLASS, "Bad validation class" },
545         { ERROR_BAD_TOKEN_TYPE, "Bad token type" },
546         { ERROR_NO_SECURITY_ON_OBJECT, "No security on object" },
547         { ERROR_CANT_ACCESS_DOMAIN_INFO, "Can't access domain info" },
548         { ERROR_INVALID_SERVER_STATE, "Invalid server state" },
549         { ERROR_INVALID_DOMAIN_STATE, "Invalid domain state" },
550         { ERROR_INVALID_DOMAIN_ROLE, "Invalid domain role" },
551         { ERROR_NO_SUCH_DOMAIN, "No such domain" },
552         { ERROR_DOMAIN_EXISTS, "Domain exists" },
553         { ERROR_DOMAIN_LIMIT_EXCEEDED, "Domain limit exceeded" },
554         { ERROR_INTERNAL_DB_CORRUPTION, "Internal DB corruption" },
555         { ERROR_INTERNAL_ERROR, "Internal error" },
556         { ERROR_GENERIC_NOT_MAPPED, "Generic not mapped" },
557         { ERROR_BAD_DESCRIPTOR_FORMAT, "Bad descriptor format" },
558         { ERROR_NOT_LOGON_PROCESS, "Not logon process" },
559         { ERROR_LOGON_SESSION_EXISTS, "Logon session exists" },
560         { ERROR_NO_SUCH_PACKAGE, "No such package" },
561         { ERROR_BAD_LOGON_SESSION_STATE, "Bad logon session state" },
562         { ERROR_LOGON_SESSION_COLLISION, "Logon session collision" },
563         { ERROR_INVALID_LOGON_TYPE, "Invalid logon type" },
564         { ERROR_CANNOT_IMPERSONATE, "Cannot impersonate" },
565         { ERROR_RXACT_INVALID_STATE, "Rxact invalid state" },
566         { ERROR_RXACT_COMMIT_FAILURE, "Rxact commit failure" },
567         { ERROR_SPECIAL_ACCOUNT, "Special account" },
568         { ERROR_SPECIAL_GROUP, "Special group" },
569         { ERROR_SPECIAL_USER, "Special user" },
570         { ERROR_MEMBERS_PRIMARY_GROUP, "Members primary group" },
571         { ERROR_TOKEN_ALREADY_IN_USE, "Token already in use" },
572         { ERROR_NO_SUCH_ALIAS, "No such alias" },
573         { ERROR_MEMBER_NOT_IN_ALIAS, "Member not in alias" },
574         { ERROR_MEMBER_IN_ALIAS, "Member in alias" },
575         { ERROR_ALIAS_EXISTS, "Alias exists" },
576         { ERROR_LOGON_NOT_GRANTED, "Logon not granted" },
577         { ERROR_TOO_MANY_SECRETS, "Too many secrets" },
578         { ERROR_SECRET_TOO_LONG, "Secret too long" },
579         { ERROR_INTERNAL_DB_ERROR, "Internal DB error" },
580         { ERROR_TOO_MANY_CONTEXT_IDS, "Too many context IDs" },
581         { ERROR_LOGON_TYPE_NOT_GRANTED, "Logon type not granted" },
582         { ERROR_NT_CROSS_ENCRYPTION_REQUIRED, "NT cross encryption required" },
583         { ERROR_NO_SUCH_MEMBER, "No such member" },
584         { ERROR_INVALID_MEMBER, "Invalid member" },
585         { ERROR_TOO_MANY_SIDS, "Too many SIDs" },
586         { ERROR_LM_CROSS_ENCRYPTION_REQUIRED, "LM cross encryption required" },
587         { ERROR_NO_INHERITANCE, "No inheritance" },
588         { ERROR_FILE_CORRUPT, "File corrupt" },
589         { ERROR_DISK_CORRUPT, "Disk corrupt" },
590         { ERROR_NO_USER_SESSION_KEY, "No user session key" },
591         { ERROR_LICENSE_QUOTA_EXCEEDED, "Licence quota exceeded" },
592         { ERROR_WRONG_TARGET_NAME, "Wrong target name" },
593         { ERROR_MUTUAL_AUTH_FAILED, "Mutual auth failed" },
594         { ERROR_TIME_SKEW, "Time skew" },
595         { ERROR_CURRENT_DOMAIN_NOT_ALLOWED, "Current domain not allowed" },
596         { ERROR_INVALID_WINDOW_HANDLE, "Invalid window handle" },
597         { ERROR_INVALID_MENU_HANDLE, "Invalid menu handle" },
598         { ERROR_INVALID_CURSOR_HANDLE, "Invalid cursor handle" },
599         { ERROR_INVALID_ACCEL_HANDLE, "Invalid accel handle" },
600         { ERROR_INVALID_HOOK_HANDLE, "Invalid hook handle" },
601         { ERROR_INVALID_DWP_HANDLE, "Invalid DWP handle" },
602         { ERROR_TLW_WITH_WSCHILD, "TLW with wschild" },
603         { ERROR_CANNOT_FIND_WND_CLASS, "Cannot find WND class" },
604         { ERROR_WINDOW_OF_OTHER_THREAD, "Window of other thread" },
605         { ERROR_HOTKEY_ALREADY_REGISTERED, "Hotkey already registered" },
606         { ERROR_CLASS_ALREADY_EXISTS, "Class already exists" },
607         { ERROR_CLASS_DOES_NOT_EXIST, "Class does not exist" },
608         { ERROR_CLASS_HAS_WINDOWS, "Class has windows" },
609         { ERROR_INVALID_INDEX, "Invalid index" },
610         { ERROR_INVALID_ICON_HANDLE, "Invalid icon handle" },
611         { ERROR_PRIVATE_DIALOG_INDEX, "Private dialog index" },
612         { ERROR_LISTBOX_ID_NOT_FOUND, "Listbox ID not found" },
613         { ERROR_NO_WILDCARD_CHARACTERS, "No wildcard characters" },
614         { ERROR_CLIPBOARD_NOT_OPEN, "Clipboard not open" },
615         { ERROR_HOTKEY_NOT_REGISTERED, "Hotkey not registered" },
616         { ERROR_WINDOW_NOT_DIALOG, "Window not dialog" },
617         { ERROR_CONTROL_ID_NOT_FOUND, "Control ID not found" },
618         { ERROR_INVALID_COMBOBOX_MESSAGE, "Invalid combobox message" },
619         { ERROR_WINDOW_NOT_COMBOBOX, "Window not combobox" },
620         { ERROR_INVALID_EDIT_HEIGHT, "Invalid edit height" },
621         { ERROR_DC_NOT_FOUND, "DC not found" },
622         { ERROR_INVALID_HOOK_FILTER, "Invalid hook filter" },
623         { ERROR_INVALID_FILTER_PROC, "Invalid filter proc" },
624         { ERROR_HOOK_NEEDS_HMOD, "Hook needs HMOD" },
625         { ERROR_GLOBAL_ONLY_HOOK, "Global only hook" },
626         { ERROR_JOURNAL_HOOK_SET, "Journal hook set" },
627         { ERROR_HOOK_NOT_INSTALLED, "Hook not installed" },
628         { ERROR_INVALID_LB_MESSAGE, "Invalid LB message" },
629         { ERROR_SETCOUNT_ON_BAD_LB, "Setcount on bad LB" },
630         { ERROR_LB_WITHOUT_TABSTOPS, "LB without tabstops" },
631         { ERROR_DESTROY_OBJECT_OF_OTHER_THREAD, "Destroy object of other thread" },
632         { ERROR_CHILD_WINDOW_MENU, "Child window menu" },
633         { ERROR_NO_SYSTEM_MENU, "No system menu" },
634         { ERROR_INVALID_MSGBOX_STYLE, "Invalid msgbox style" },
635         { ERROR_INVALID_SPI_VALUE, "Invalid SPI value" },
636         { ERROR_SCREEN_ALREADY_LOCKED, "Screen already locked" },
637         { ERROR_HWNDS_HAVE_DIFF_PARENT, "HWNDs have different parent" },
638         { ERROR_NOT_CHILD_WINDOW, "Not child window" },
639         { ERROR_INVALID_GW_COMMAND, "Invalid GW command" },
640         { ERROR_INVALID_THREAD_ID, "Invalid thread ID" },
641         { ERROR_NON_MDICHILD_WINDOW, "Non MDI child window" },
642         { ERROR_POPUP_ALREADY_ACTIVE, "Popup already active" },
643         { ERROR_NO_SCROLLBARS, "No scrollbars" },
644         { ERROR_INVALID_SCROLLBAR_RANGE, "Invalid scrollbar range" },
645         { ERROR_INVALID_SHOWWIN_COMMAND, "Invalid showwin command" },
646         { ERROR_NO_SYSTEM_RESOURCES, "No system resources" },
647         { ERROR_NONPAGED_SYSTEM_RESOURCES, "Nonpaged system resources" },
648         { ERROR_PAGED_SYSTEM_RESOURCES, "Paged system resources" },
649         { ERROR_WORKING_SET_QUOTA, "Working set quota" },
650         { ERROR_PAGEFILE_QUOTA, "Pagefile quota" },
651         { ERROR_COMMITMENT_LIMIT, "Commitment limit" },
652         { ERROR_MENU_ITEM_NOT_FOUND, "Menu item not found" },
653         { ERROR_INVALID_KEYBOARD_HANDLE, "Invalid keyboard handle" },
654         { ERROR_HOOK_TYPE_NOT_ALLOWED, "Hook type not allowed" },
655         { ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION, "Requires interactive windowstation" },
656         { ERROR_TIMEOUT, "Timeout" },
657         { ERROR_INVALID_MONITOR_HANDLE, "Invalid monitor handle" },
658         { ERROR_EVENTLOG_FILE_CORRUPT, "Eventlog file corrupt" },
659         { ERROR_EVENTLOG_CANT_START, "Eventlog can't start" },
660         { ERROR_LOG_FILE_FULL, "Log file full" },
661         { ERROR_EVENTLOG_FILE_CHANGED, "Eventlog file changed" },
662         { ERROR_INSTALL_SERVICE_FAILURE, "Install service failure" },
663         { ERROR_INSTALL_USEREXIT, "Install userexit" },
664         { ERROR_INSTALL_FAILURE, "Install failure" },
665         { ERROR_INSTALL_SUSPEND, "Install suspend" },
666         { ERROR_UNKNOWN_PRODUCT, "Unknown product" },
667         { ERROR_UNKNOWN_FEATURE, "Unknown feature" },
668         { ERROR_UNKNOWN_COMPONENT, "Unknown component" },
669         { ERROR_UNKNOWN_PROPERTY, "Unknown property" },
670         { ERROR_INVALID_HANDLE_STATE, "Invalid handle state" },
671         { ERROR_BAD_CONFIGURATION, "Bad configuration" },
672         { ERROR_INDEX_ABSENT, "Index absent" },
673         { ERROR_INSTALL_SOURCE_ABSENT, "Install source absent" },
674         { ERROR_INSTALL_PACKAGE_VERSION, "Install package version" },
675         { ERROR_PRODUCT_UNINSTALLED, "Product uninstalled" },
676         { ERROR_BAD_QUERY_SYNTAX, "Bad query syntax" },
677         { ERROR_INVALID_FIELD, "Invalid field" },
678         { ERROR_DEVICE_REMOVED, "Device removed" },
679         { ERROR_INSTALL_ALREADY_RUNNING, "Install already running" },
680         { ERROR_INSTALL_PACKAGE_OPEN_FAILED, "Install package open failed" },
681         { ERROR_INSTALL_PACKAGE_INVALID, "Install package invalid" },
682         { ERROR_INSTALL_UI_FAILURE, "Install UI failure" },
683         { ERROR_INSTALL_LOG_FAILURE, "Install log failure" },
684         { ERROR_INSTALL_LANGUAGE_UNSUPPORTED, "Install language unsupported" },
685         { ERROR_INSTALL_TRANSFORM_FAILURE, "Install transform failure" },
686         { ERROR_INSTALL_PACKAGE_REJECTED, "Install package rejected" },
687         { ERROR_FUNCTION_NOT_CALLED, "Function not called" },
688         { ERROR_FUNCTION_FAILED, "Function failed" },
689         { ERROR_INVALID_TABLE, "Invalid table" },
690         { ERROR_DATATYPE_MISMATCH, "Datatype mismatch" },
691         { ERROR_UNSUPPORTED_TYPE, "Unsupported type" },
692         { ERROR_CREATE_FAILED, "Create failed" },
693         { ERROR_INSTALL_TEMP_UNWRITABLE, "Install temp unwritable" },
694         { ERROR_INSTALL_PLATFORM_UNSUPPORTED, "Install platform unsupported" },
695         { ERROR_INSTALL_NOTUSED, "Install notused" },
696         { ERROR_PATCH_PACKAGE_OPEN_FAILED, "Patch package open failed" },
697         { ERROR_PATCH_PACKAGE_INVALID, "Patch package invalid" },
698         { ERROR_PATCH_PACKAGE_UNSUPPORTED, "Patch package unsupported" },
699         { ERROR_PRODUCT_VERSION, "Product version" },
700         { ERROR_INVALID_COMMAND_LINE, "Invalid command line" },
701         { ERROR_INSTALL_REMOTE_DISALLOWED, "Install remote disallowed" },
702         { ERROR_SUCCESS_REBOOT_INITIATED, "Success reboot initiated" },
703         { ERROR_PATCH_TARGET_NOT_FOUND, "Patch target not found" },
704         { ERROR_PATCH_PACKAGE_REJECTED, "Patch package rejected" },
705         { ERROR_INSTALL_TRANSFORM_REJECTED, "Install transform rejected" },
706         { RPC_S_INVALID_STRING_BINDING, "RPC S Invalid string binding" },
707         { RPC_S_WRONG_KIND_OF_BINDING, "RPC S Wrong kind of binding" },
708         { RPC_S_INVALID_BINDING, "RPC S Invalid binding" },
709         { RPC_S_PROTSEQ_NOT_SUPPORTED, "RPC S Protseq not supported" },
710         { RPC_S_INVALID_RPC_PROTSEQ, "RPC S Invalid RPC protseq" },
711         { RPC_S_INVALID_STRING_UUID, "RPC S Invalid string UUID" },
712         { RPC_S_INVALID_ENDPOINT_FORMAT, "RPC S Invalid endpoint format" },
713         { RPC_S_INVALID_NET_ADDR, "RPC S Invalid net addr" },
714         { RPC_S_NO_ENDPOINT_FOUND, "RPC S No endpoint found" },
715         { RPC_S_INVALID_TIMEOUT, "RPC S Invalid timeout" },
716         { RPC_S_OBJECT_NOT_FOUND, "RPC S Object not found" },
717         { RPC_S_ALREADY_REGISTERED, "RPC S Already registered" },
718         { RPC_S_TYPE_ALREADY_REGISTERED, "RPC S Type already registered" },
719         { RPC_S_ALREADY_LISTENING, "RPC S Already listening" },
720         { RPC_S_NO_PROTSEQS_REGISTERED, "RPC S Not protseqs registered" },
721         { RPC_S_NOT_LISTENING, "RPC S Not listening" },
722         { RPC_S_UNKNOWN_MGR_TYPE, "RPC S Unknown mgr type" },
723         { RPC_S_UNKNOWN_IF, "RPC S Unknown IF" },
724         { RPC_S_NO_BINDINGS, "RPC S No bindings" },
725         { RPC_S_NO_PROTSEQS, "RPC S Not protseqs" },
726         { RPC_S_CANT_CREATE_ENDPOINT, "RPC S Can't create endpoint" },
727         { RPC_S_OUT_OF_RESOURCES, "RPC S Out of resources" },
728         { RPC_S_SERVER_UNAVAILABLE, "RPC S Server unavailable" },
729         { RPC_S_SERVER_TOO_BUSY, "RPC S Server too busy" },
730         { RPC_S_INVALID_NETWORK_OPTIONS, "RPC S Invalid network options" },
731         { RPC_S_NO_CALL_ACTIVE, "RPC S No call active" },
732         { RPC_S_CALL_FAILED, "RPC S Call failed" },
733         { RPC_S_CALL_FAILED_DNE, "RPC S Call failed DNE" },
734         { RPC_S_PROTOCOL_ERROR, "RPC S Protocol error" },
735         { RPC_S_UNSUPPORTED_TRANS_SYN, "RPC S Unsupported trans syn" },
736         { RPC_S_UNSUPPORTED_TYPE, "RPC S Unsupported type" },
737         { RPC_S_INVALID_TAG, "RPC S Invalid tag" },
738         { RPC_S_INVALID_BOUND, "RPC S Invalid bound" },
739         { RPC_S_NO_ENTRY_NAME, "RPC S No entry name" },
740         { RPC_S_INVALID_NAME_SYNTAX, "RPC S Invalid name syntax" },
741         { RPC_S_UNSUPPORTED_NAME_SYNTAX, "RPC S Unsupported name syntax" },
742         { RPC_S_UUID_NO_ADDRESS, "RPC S UUID no address" },
743         { RPC_S_DUPLICATE_ENDPOINT, "RPC S Duplicate endpoint" },
744         { RPC_S_UNKNOWN_AUTHN_TYPE, "RPC S Unknown authn type" },
745         { RPC_S_MAX_CALLS_TOO_SMALL, "RPC S Max calls too small" },
746         { RPC_S_STRING_TOO_LONG, "RPC S String too long" },
747         { RPC_S_PROTSEQ_NOT_FOUND, "RPC S Protseq not found" },
748         { RPC_S_PROCNUM_OUT_OF_RANGE, "RPC S Procnum out of range" },
749         { RPC_S_BINDING_HAS_NO_AUTH, "RPC S Binding has no auth" },
750         { RPC_S_UNKNOWN_AUTHN_SERVICE, "RPC S Unknown authn service" },
751         { RPC_S_UNKNOWN_AUTHN_LEVEL, "RPC S Unknown authn level" },
752         { RPC_S_INVALID_AUTH_IDENTITY, "RPC S Invalid auth identity" },
753         { RPC_S_UNKNOWN_AUTHZ_SERVICE, "RPC S Unknown authz service" },
754         { EPT_S_INVALID_ENTRY, "EPT S Invalid entry" },
755         { EPT_S_CANT_PERFORM_OP, "EPT S Can't perform op" },
756         { EPT_S_NOT_REGISTERED, "EPT S Not registered" },
757         { RPC_S_NOTHING_TO_EXPORT, "RPC S Nothing to export" },
758         { RPC_S_INCOMPLETE_NAME, "RPC S Incomplete name" },
759         { RPC_S_INVALID_VERS_OPTION, "RPC S Invalid vers option" },
760         { RPC_S_NO_MORE_MEMBERS, "RPC S No more members" },
761         { RPC_S_NOT_ALL_OBJS_UNEXPORTED, "RPC S Not all objs unexported" },
762         { RPC_S_INTERFACE_NOT_FOUND, "RPC S Interface not found" },
763         { RPC_S_ENTRY_ALREADY_EXISTS, "RPC S Entry already exists" },
764         { RPC_S_ENTRY_NOT_FOUND, "RPC S Entry not found" },
765         { RPC_S_NAME_SERVICE_UNAVAILABLE, "RPC S Name service unavailable" },
766         { RPC_S_INVALID_NAF_ID, "RPC S Invalid naf ID" },
767         { RPC_S_CANNOT_SUPPORT, "RPC S Cannot support" },
768         { RPC_S_NO_CONTEXT_AVAILABLE, "RPC S No context available" },
769         { RPC_S_INTERNAL_ERROR, "RPC S Internal error" },
770         { RPC_S_ZERO_DIVIDE, "RPC S Zero divide" },
771         { RPC_S_ADDRESS_ERROR, "RPC S Address error" },
772         { RPC_S_FP_DIV_ZERO, "RPC S FP div zero" },
773         { RPC_S_FP_UNDERFLOW, "RPC S FP Underflow" },
774         { RPC_S_FP_OVERFLOW, "RPC S Overflow" },
775         { RPC_X_NO_MORE_ENTRIES, "RPC X No more entries" },
776         { RPC_X_SS_CHAR_TRANS_OPEN_FAIL, "RPC X SS char trans open fail" },
777         { RPC_X_SS_CHAR_TRANS_SHORT_FILE, "RPC X SS char trans short file" },
778         { RPC_X_SS_IN_NULL_CONTEXT, "RPC S SS in null context" },
779         { RPC_X_SS_CONTEXT_DAMAGED, "RPC X SS context damaged" },
780         { RPC_X_SS_HANDLES_MISMATCH, "RPC X SS handles mismatch" },
781         { RPC_X_SS_CANNOT_GET_CALL_HANDLE, "RPC X SS cannot get call handle" },
782         { RPC_X_NULL_REF_POINTER, "RPC X Null ref pointer" },
783         { RPC_X_ENUM_VALUE_OUT_OF_RANGE, "RPC X enum value out of range" },
784         { RPC_X_BYTE_COUNT_TOO_SMALL, "RPC X byte count too small" },
785         { RPC_X_BAD_STUB_DATA, "RPC X bad stub data" },
786         { ERROR_INVALID_USER_BUFFER, "Invalid user buffer" },
787         { ERROR_UNRECOGNIZED_MEDIA, "Unrecognised media" },
788         { ERROR_NO_TRUST_LSA_SECRET, "No trust lsa secret" },
789         { ERROR_NO_TRUST_SAM_ACCOUNT, "No trust sam account" },
790         { ERROR_TRUSTED_DOMAIN_FAILURE, "Trusted domain failure" },
791         { ERROR_TRUSTED_RELATIONSHIP_FAILURE, "Trusted relationship failure" },
792         { ERROR_TRUST_FAILURE, "Trust failure" },
793         { RPC_S_CALL_IN_PROGRESS, "RPC S call in progress" },
794         { ERROR_NETLOGON_NOT_STARTED, "Error netlogon not started" },
795         { ERROR_ACCOUNT_EXPIRED, "Account expired" },
796         { ERROR_REDIRECTOR_HAS_OPEN_HANDLES, "Redirector has open handles" },
797         { ERROR_PRINTER_DRIVER_ALREADY_INSTALLED, "Printer driver already installed" },
798         { ERROR_UNKNOWN_PORT, "Unknown port" },
799         { ERROR_UNKNOWN_PRINTER_DRIVER, "Unknown printer driver" },
800         { ERROR_UNKNOWN_PRINTPROCESSOR, "Unknown printprocessor" },
801         { ERROR_INVALID_SEPARATOR_FILE, "Invalid separator file" },
802         { ERROR_INVALID_PRIORITY, "Invalid priority" },
803         { ERROR_INVALID_PRINTER_NAME, "Invalid printer name" },
804         { ERROR_PRINTER_ALREADY_EXISTS, "Printer already exists" },
805         { ERROR_INVALID_PRINTER_COMMAND, "Invalid printer command" },
806         { ERROR_INVALID_DATATYPE, "Invalid datatype" },
807         { ERROR_INVALID_ENVIRONMENT, "Invalid environment" },
808         { RPC_S_NO_MORE_BINDINGS, "RPC S no more bindings" },
809         { ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT, "Nologon interdomain trust account" },
810         { ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT, "Nologon workstation trust account" },
811         { ERROR_NOLOGON_SERVER_TRUST_ACCOUNT, "Nologon server trust account" },
812         { ERROR_DOMAIN_TRUST_INCONSISTENT, "Domain trust inconsistent" },
813         { ERROR_SERVER_HAS_OPEN_HANDLES, "Server has open handles" },
814         { ERROR_RESOURCE_DATA_NOT_FOUND, "Resource data not found" },
815         { ERROR_RESOURCE_TYPE_NOT_FOUND, "Resource type not found" },
816         { ERROR_RESOURCE_NAME_NOT_FOUND, "Resource name not found" },
817         { ERROR_RESOURCE_LANG_NOT_FOUND, "Resource lang not found" },
818         { ERROR_NOT_ENOUGH_QUOTA, "Not enough quota" },
819         { RPC_S_NO_INTERFACES, "RPC S no interfaces" },
820         { RPC_S_CALL_CANCELLED, "RPC S Call cancelled" },
821         { RPC_S_BINDING_INCOMPLETE, "RPC S Binding incomplete" },
822         { RPC_S_COMM_FAILURE, "RPC S Comm failure" },
823         { RPC_S_UNSUPPORTED_AUTHN_LEVEL, "RPC S Unsupported authn level" },
824         { RPC_S_NO_PRINC_NAME, "RPC S No princ name" },
825         { RPC_S_NOT_RPC_ERROR, "RPC S Not RPC error" },
826         { RPC_S_UUID_LOCAL_ONLY, "RPC U UUID local only" },
827         { RPC_S_SEC_PKG_ERROR, "RPC S Sec pkg error" },
828         { RPC_S_NOT_CANCELLED, "RPC S Not cancelled" },
829         { RPC_X_INVALID_ES_ACTION, "RPC X Invalid ES action" },
830         { RPC_X_WRONG_ES_VERSION, "RPC X Wrong ES version" },
831         { RPC_X_WRONG_STUB_VERSION, "RPC X Wrong stub version" },
832         { RPC_X_INVALID_PIPE_OBJECT, "RPC X Invalid pipe object" },
833         { RPC_X_WRONG_PIPE_ORDER, "RPC X Wrong pipe order" },
834         { RPC_X_WRONG_PIPE_VERSION, "RPC X Wrong pipe version" },
835         { RPC_S_GROUP_MEMBER_NOT_FOUND, "RPC S group member not found" },
836         { EPT_S_CANT_CREATE, "EPT S Can't create" },
837         { RPC_S_INVALID_OBJECT, "RPC S Invalid object" },
838         { ERROR_INVALID_TIME, "Invalid time" },
839         { ERROR_INVALID_FORM_NAME, "Invalid form name" },
840         { ERROR_INVALID_FORM_SIZE, "Invalid form size" },
841         { ERROR_ALREADY_WAITING, "Already waiting" },
842         { ERROR_PRINTER_DELETED, "Printer deleted" },
843         { ERROR_INVALID_PRINTER_STATE, "Invalid printer state" },
844         { ERROR_PASSWORD_MUST_CHANGE, "Password must change" },
845         { ERROR_DOMAIN_CONTROLLER_NOT_FOUND, "Domain controller not found" },
846         { ERROR_ACCOUNT_LOCKED_OUT, "Account locked out" },
847         { OR_INVALID_OXID, "OR Invalid OXID" },
848         { OR_INVALID_OID, "OR Invalid OID" },
849         { OR_INVALID_SET, "OR Invalid set" },
850         { RPC_S_SEND_INCOMPLETE, "RPC S Send incomplete" },
851         { RPC_S_INVALID_ASYNC_HANDLE, "RPC S Invalid async handle" },
852         { RPC_S_INVALID_ASYNC_CALL, "RPC S Invalid async call" },
853         { RPC_X_PIPE_CLOSED, "RPC X Pipe closed" },
854         { RPC_X_PIPE_DISCIPLINE_ERROR, "RPC X Pipe discipline error" },
855         { RPC_X_PIPE_EMPTY, "RPC X Pipe empty" },
856         { ERROR_NO_SITENAME, "No sitename" },
857         { ERROR_CANT_ACCESS_FILE, "Can't access file" },
858         { ERROR_CANT_RESOLVE_FILENAME, "Can't resolve filename" },
859         { RPC_S_ENTRY_TYPE_MISMATCH, "RPC S Entry type mismatch" },
860         { RPC_S_NOT_ALL_OBJS_EXPORTED, "RPC S Not all objs exported" },
861         { RPC_S_INTERFACE_NOT_EXPORTED, "RPC S Interface not exported" },
862         { RPC_S_PROFILE_NOT_ADDED, "RPC S Profile not added" },
863         { RPC_S_PRF_ELT_NOT_ADDED, "RPC S PRF ELT not added" },
864         { RPC_S_PRF_ELT_NOT_REMOVED, "RPC S PRF ELT not removed" },
865         { RPC_S_GRP_ELT_NOT_ADDED, "RPC S GRP ELT not added" },
866         { RPC_S_GRP_ELT_NOT_REMOVED, "RPC S GRP ELT not removed" },
867         { ERROR_KM_DRIVER_BLOCKED, "KM driver blocked" },
868         { ERROR_CONTEXT_EXPIRED, "Context expired" },
869         { ERROR_INVALID_PIXEL_FORMAT, "Invalid pixel format" },
870         { ERROR_BAD_DRIVER, "Bad driver" },
871         { ERROR_INVALID_WINDOW_STYLE, "Invalid window style" },
872         { ERROR_METAFILE_NOT_SUPPORTED, "Metafile not supported" },
873         { ERROR_TRANSFORM_NOT_SUPPORTED, "Transform not supported" },
874         { ERROR_CLIPPING_NOT_SUPPORTED, "Clipping not supported" },
875         { ERROR_INVALID_CMM, "Invalid CMM" },
876         { ERROR_INVALID_PROFILE, "Invalid profile" },
877         { ERROR_TAG_NOT_FOUND, "Tag not found" },
878         { ERROR_TAG_NOT_PRESENT, "Tag not present" },
879         { ERROR_DUPLICATE_TAG, "Duplicate tag" },
880         { ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE, "Profile not associated with device" },
881         { ERROR_PROFILE_NOT_FOUND, "Profile not found" },
882         { ERROR_INVALID_COLORSPACE, "Invalid colorspace" },
883         { ERROR_ICM_NOT_ENABLED, "ICM not enabled" },
884         { ERROR_DELETING_ICM_XFORM, "Deleting ICM xform" },
885         { ERROR_INVALID_TRANSFORM, "Invalid transform" },
886         { ERROR_COLORSPACE_MISMATCH, "Colorspace mismatch" },
887         { ERROR_INVALID_COLORINDEX, "Invalid colorindex" },
888         { ERROR_CONNECTED_OTHER_PASSWORD, "Connected other password" },
889         { ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT, "Connected other password default" },
890         { ERROR_BAD_USERNAME, "Bad username" },
891         { ERROR_NOT_CONNECTED, "Not connected" },
892         { ERROR_OPEN_FILES, "Open files" },
893         { ERROR_ACTIVE_CONNECTIONS, "Active connections" },
894         { ERROR_DEVICE_IN_USE, "Device in use" },
895         { ERROR_UNKNOWN_PRINT_MONITOR, "Unknown print monitor" },
896         { ERROR_PRINTER_DRIVER_IN_USE, "Printer driver in use" },
897         { ERROR_SPOOL_FILE_NOT_FOUND, "Spool file not found" },
898         { ERROR_SPL_NO_STARTDOC, "SPL no startdoc" },
899         { ERROR_SPL_NO_ADDJOB, "SPL no addjob" },
900         { ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED, "Print processor already installed" },
901         { ERROR_PRINT_MONITOR_ALREADY_INSTALLED, "Print monitor already installed" },
902         { ERROR_INVALID_PRINT_MONITOR, "Invalid print monitor" },
903         { ERROR_PRINT_MONITOR_IN_USE, "Print monitor in use" },
904         { ERROR_PRINTER_HAS_JOBS_QUEUED, "Printer has jobs queued" },
905         { ERROR_SUCCESS_REBOOT_REQUIRED, "Success reboot required" },
906         { ERROR_SUCCESS_RESTART_REQUIRED, "Success restart required" },
907         { ERROR_PRINTER_NOT_FOUND, "Printer not found" },
908         { ERROR_PRINTER_DRIVER_WARNED, "Printer driver warned" },
909         { ERROR_PRINTER_DRIVER_BLOCKED, "Printer driver blocked" },
910         { ERROR_WINS_INTERNAL, "Wins internal" },
911         { ERROR_CAN_NOT_DEL_LOCAL_WINS, "Can not del local wins" },
912         { ERROR_STATIC_INIT, "Static init" },
913         { ERROR_INC_BACKUP, "Inc backup" },
914         { ERROR_FULL_BACKUP, "Full backup" },
915         { ERROR_REC_NON_EXISTENT, "Rec not existent" },
916         { ERROR_RPL_NOT_ALLOWED, "RPL not allowed" },
917         { ERROR_DHCP_ADDRESS_CONFLICT, "DHCP address conflict" },
918         { ERROR_WMI_GUID_NOT_FOUND, "WMU GUID not found" },
919         { ERROR_WMI_INSTANCE_NOT_FOUND, "WMI instance not found" },
920         { ERROR_WMI_ITEMID_NOT_FOUND, "WMI ItemID not found" },
921         { ERROR_WMI_TRY_AGAIN, "WMI try again" },
922         { ERROR_WMI_DP_NOT_FOUND, "WMI DP not found" },
923         { ERROR_WMI_UNRESOLVED_INSTANCE_REF, "WMI unresolved instance ref" },
924         { ERROR_WMI_ALREADY_ENABLED, "WMU already enabled" },
925         { ERROR_WMI_GUID_DISCONNECTED, "WMU GUID disconnected" },
926         { ERROR_WMI_SERVER_UNAVAILABLE, "WMI server unavailable" },
927         { ERROR_WMI_DP_FAILED, "WMI DP failed" },
928         { ERROR_WMI_INVALID_MOF, "WMI invalid MOF" },
929         { ERROR_WMI_INVALID_REGINFO, "WMI invalid reginfo" },
930         { ERROR_WMI_ALREADY_DISABLED, "WMI already disabled" },
931         { ERROR_WMI_READ_ONLY, "WMI read only" },
932         { ERROR_WMI_SET_FAILURE, "WMI set failure" },
933         { ERROR_INVALID_MEDIA, "Invalid media" },
934         { ERROR_INVALID_LIBRARY, "Invalid library" },
935         { ERROR_INVALID_MEDIA_POOL, "Invalid media pool" },
936         { ERROR_DRIVE_MEDIA_MISMATCH, "Drive media mismatch" },
937         { ERROR_MEDIA_OFFLINE, "Media offline" },
938         { ERROR_LIBRARY_OFFLINE, "Library offline" },
939         { ERROR_EMPTY, "Empty" },
940         { ERROR_NOT_EMPTY, "Not empty" },
941         { ERROR_MEDIA_UNAVAILABLE, "Media unavailable" },
942         { ERROR_RESOURCE_DISABLED, "Resource disabled" },
943         { ERROR_INVALID_CLEANER, "Invalid cleaner" },
944         { ERROR_UNABLE_TO_CLEAN, "Unable to clean" },
945         { ERROR_OBJECT_NOT_FOUND, "Object not found" },
946         { ERROR_DATABASE_FAILURE, "Database failure" },
947         { ERROR_DATABASE_FULL, "Database full" },
948         { ERROR_MEDIA_INCOMPATIBLE, "Media incompatible" },
949         { ERROR_RESOURCE_NOT_PRESENT, "Resource not present" },
950         { ERROR_INVALID_OPERATION, "Invalid operation" },
951         { ERROR_MEDIA_NOT_AVAILABLE, "Media not available" },
952         { ERROR_DEVICE_NOT_AVAILABLE, "Device not available" },
953         { ERROR_REQUEST_REFUSED, "Request refused" },
954         { ERROR_INVALID_DRIVE_OBJECT, "Invalid drive object" },
955         { ERROR_LIBRARY_FULL, "Library full" },
956         { ERROR_MEDIUM_NOT_ACCESSIBLE, "Medium not accessible" },
957         { ERROR_UNABLE_TO_LOAD_MEDIUM, "Unable to load medium" },
958         { ERROR_UNABLE_TO_INVENTORY_DRIVE, "Unable to inventory drive" },
959         { ERROR_UNABLE_TO_INVENTORY_SLOT, "Unable to inventory slot" },
960         { ERROR_UNABLE_TO_INVENTORY_TRANSPORT, "Unable to inventory transport" },
961         { ERROR_TRANSPORT_FULL, "Transport full" },
962         { ERROR_CONTROLLING_IEPORT, "Controlling ieport" },
963         { ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA, "Unable to eject mounted media" },
964         { ERROR_CLEANER_SLOT_SET, "Cleaner slot set" },
965         { ERROR_CLEANER_SLOT_NOT_SET, "Cleaner slot not set" },
966         { ERROR_CLEANER_CARTRIDGE_SPENT, "Cleaner cartridge spent" },
967         { ERROR_UNEXPECTED_OMID, "Unexpected omid" },
968         { ERROR_CANT_DELETE_LAST_ITEM, "Can't delete last item" },
969         { ERROR_MESSAGE_EXCEEDS_MAX_SIZE, "Message exceeds max size" },
970         { ERROR_VOLUME_CONTAINS_SYS_FILES, "Volume contains sys files" },
971         { ERROR_INDIGENOUS_TYPE, "Indigenous type" },
972         { ERROR_NO_SUPPORTING_DRIVES, "No supporting drives" },
973         { ERROR_CLEANER_CARTRIDGE_INSTALLED, "Cleaner cartridge installed" },
974         { ERROR_FILE_OFFLINE, "Fill offline" },
975         { ERROR_REMOTE_STORAGE_NOT_ACTIVE, "Remote storage not active" },
976         { ERROR_REMOTE_STORAGE_MEDIA_ERROR, "Remote storage media error" },
977         { ERROR_NOT_A_REPARSE_POINT, "Not a reparse point" },
978         { ERROR_REPARSE_ATTRIBUTE_CONFLICT, "Reparse attribute conflict" },
979         { ERROR_INVALID_REPARSE_DATA, "Invalid reparse data" },
980         { ERROR_REPARSE_TAG_INVALID, "Reparse tag invalid" },
981         { ERROR_REPARSE_TAG_MISMATCH, "Reparse tag mismatch" },
982         { ERROR_VOLUME_NOT_SIS_ENABLED, "Volume not sis enabled" },
983         { ERROR_DEPENDENT_RESOURCE_EXISTS, "Dependent resource exists" },
984         { ERROR_DEPENDENCY_NOT_FOUND, "Dependency not found" },
985         { ERROR_DEPENDENCY_ALREADY_EXISTS, "Dependency already exists" },
986         { ERROR_RESOURCE_NOT_ONLINE, "Resource not online" },
987         { ERROR_HOST_NODE_NOT_AVAILABLE, "Host node not available" },
988         { ERROR_RESOURCE_NOT_AVAILABLE, "Resource not available" },
989         { ERROR_RESOURCE_NOT_FOUND, "Resource not found" },
990         { ERROR_SHUTDOWN_CLUSTER, "Shutdown cluster" },
991         { ERROR_CANT_EVICT_ACTIVE_NODE, "Can't evict active node" },
992         { ERROR_OBJECT_ALREADY_EXISTS, "Object already exists" },
993         { ERROR_OBJECT_IN_LIST, "Object in list" },
994         { ERROR_GROUP_NOT_AVAILABLE, "Group not available" },
995         { ERROR_GROUP_NOT_FOUND, "Group not found" },
996         { ERROR_GROUP_NOT_ONLINE, "Group not online" },
997         { ERROR_HOST_NODE_NOT_RESOURCE_OWNER, "Host node not resource owner" },
998         { ERROR_HOST_NODE_NOT_GROUP_OWNER, "Host node not group owner" },
999         { ERROR_RESMON_CREATE_FAILED, "Resmon create failed" },
1000         { ERROR_RESMON_ONLINE_FAILED, "Resmon online failed" },
1001         { ERROR_RESOURCE_ONLINE, "Resource online" },
1002         { ERROR_QUORUM_RESOURCE, "Quorum resource" },
1003         { ERROR_NOT_QUORUM_CAPABLE, "Not quorum capable" },
1004         { ERROR_CLUSTER_SHUTTING_DOWN, "Cluster shutting down" },
1005         { ERROR_INVALID_STATE, "Invalid state" },
1006         { ERROR_RESOURCE_PROPERTIES_STORED, "Resource properties stored" },
1007         { ERROR_NOT_QUORUM_CLASS, "Not quorum class" },
1008         { ERROR_CORE_RESOURCE, "Core resource" },
1009         { ERROR_QUORUM_RESOURCE_ONLINE_FAILED, "Quorum resource online failed" },
1010         { ERROR_QUORUMLOG_OPEN_FAILED, "Quorumlog open failed" },
1011         { ERROR_CLUSTERLOG_CORRUPT, "Clusterlog corrupt" },
1012         { ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE, "Clusterlog record exceeds maxsize" },
1013         { ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE, "Clusterlog exceeds maxsize" },
1014         { ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND, "Clusterlog chkpoint not found" },
1015         { ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE, "Clusterlog not enough space" },
1016         { ERROR_QUORUM_OWNER_ALIVE, "Quorum owner alive" },
1017         { ERROR_NETWORK_NOT_AVAILABLE, "Network not available" },
1018         { ERROR_NODE_NOT_AVAILABLE, "Node not available" },
1019         { ERROR_ALL_NODES_NOT_AVAILABLE, "All nodes not available" },
1020         { ERROR_RESOURCE_FAILED, "Resource failed" },
1021         { ERROR_CLUSTER_INVALID_NODE, "Cluster invalid node" },
1022         { ERROR_CLUSTER_NODE_EXISTS, "Cluster node exists" },
1023         { ERROR_CLUSTER_JOIN_IN_PROGRESS, "Cluster join in progress" },
1024         { ERROR_CLUSTER_NODE_NOT_FOUND, "Cluster node not found" },
1025         { ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND, "Cluster local node not found" },
1026         { ERROR_CLUSTER_NETWORK_EXISTS, "Cluster network exists" },
1027         { ERROR_CLUSTER_NETWORK_NOT_FOUND, "Cluster network not found" },
1028         { ERROR_CLUSTER_NETINTERFACE_EXISTS, "Cluster netinterface exists" },
1029         { ERROR_CLUSTER_NETINTERFACE_NOT_FOUND, "Cluster netinterface not found" },
1030         { ERROR_CLUSTER_INVALID_REQUEST, "Cluster invalid request" },
1031         { ERROR_CLUSTER_INVALID_NETWORK_PROVIDER, "Cluster invalid network provider" },
1032         { ERROR_CLUSTER_NODE_DOWN, "Cluster node down" },
1033         { ERROR_CLUSTER_NODE_UNREACHABLE, "Cluster node unreachable" },
1034         { ERROR_CLUSTER_NODE_NOT_MEMBER, "Cluster node not member" },
1035         { ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS, "Cluster join not in progress" },
1036         { ERROR_CLUSTER_INVALID_NETWORK, "Cluster invalid network" },
1037         { ERROR_CLUSTER_NODE_UP, "Cluster node up" },
1038         { ERROR_CLUSTER_IPADDR_IN_USE, "Cluster ipaddr in use" },
1039         { ERROR_CLUSTER_NODE_NOT_PAUSED, "Cluster node not paused" },
1040         { ERROR_CLUSTER_NO_SECURITY_CONTEXT, "Cluster no security context" },
1041         { ERROR_CLUSTER_NETWORK_NOT_INTERNAL, "Cluster network not internal" },
1042         { ERROR_CLUSTER_NODE_ALREADY_UP, "Cluster node already up" },
1043         { ERROR_CLUSTER_NODE_ALREADY_DOWN, "Cluster node already down" },
1044         { ERROR_CLUSTER_NETWORK_ALREADY_ONLINE, "Cluster network already online" },
1045         { ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE, "Cluster network already offline" },
1046         { ERROR_CLUSTER_NODE_ALREADY_MEMBER, "Cluster node already member" },
1047         { ERROR_CLUSTER_LAST_INTERNAL_NETWORK, "Cluster last internal network" },
1048         { ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS, "Cluster network has dependents" },
1049         { ERROR_INVALID_OPERATION_ON_QUORUM, "Invalid operation on quorum" },
1050         { ERROR_DEPENDENCY_NOT_ALLOWED, "Dependency not allowed" },
1051         { ERROR_CLUSTER_NODE_PAUSED, "Cluster node paused" },
1052         { ERROR_NODE_CANT_HOST_RESOURCE, "Node can't host resource" },
1053         { ERROR_CLUSTER_NODE_NOT_READY, "Cluster node not ready" },
1054         { ERROR_CLUSTER_NODE_SHUTTING_DOWN, "Cluster node shutting down" },
1055         { ERROR_CLUSTER_JOIN_ABORTED, "Cluster join aborted" },
1056         { ERROR_CLUSTER_INCOMPATIBLE_VERSIONS, "Cluster incompatible versions" },
1057         { ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED, "Cluster maxnum of resources exceeded" },
1058         { ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED, "Cluster system config changed" },
1059         { ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND, "Cluster resource type not found" },
1060         { ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED, "Cluster restype not supported" },
1061         { ERROR_CLUSTER_RESNAME_NOT_FOUND, "Cluster resname not found" },
1062         { ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED, "Cluster no RPC packages registered" },
1063         { ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST, "Cluster owner not in preflist" },
1064         { ERROR_CLUSTER_DATABASE_SEQMISMATCH, "Cluster database seqmismatch" },
1065         { ERROR_RESMON_INVALID_STATE, "Resmon invalid state" },
1066         { ERROR_CLUSTER_GUM_NOT_LOCKER, "Cluster gum not locker" },
1067         { ERROR_QUORUM_DISK_NOT_FOUND, "Quorum disk not found" },
1068         { ERROR_DATABASE_BACKUP_CORRUPT, "Database backup corrupt" },
1069         { ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT, "Cluster node already has DFS root" },
1070         { ERROR_RESOURCE_PROPERTY_UNCHANGEABLE, "Resource property unchangeable" },
1071         { ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE, "Cluster membership invalid state" },
1072         { ERROR_CLUSTER_QUORUMLOG_NOT_FOUND, "Cluster quorumlog not found" },
1073         { ERROR_CLUSTER_MEMBERSHIP_HALT, "Cluster membership halt" },
1074         { ERROR_CLUSTER_INSTANCE_ID_MISMATCH, "Cluster instance ID mismatch" },
1075         { ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP, "Cluster network not found for IP" },
1076         { ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH, "Cluster property data type mismatch" },
1077         { ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP, "Cluster evict without cleanup" },
1078         { ERROR_CLUSTER_PARAMETER_MISMATCH, "Cluster parameter mismatch" },
1079         { ERROR_NODE_CANNOT_BE_CLUSTERED, "Node cannot be clustered" },
1080         { ERROR_CLUSTER_WRONG_OS_VERSION, "Cluster wrong OS version" },
1081         { ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME, "Cluster can't create dup cluster name" },
1082         { ERROR_DECRYPTION_FAILED, "Decryption failed" },
1083         { ERROR_FILE_ENCRYPTED, "File encrypted" },
1084         { ERROR_NO_RECOVERY_POLICY, "No recovery policy" },
1085         { ERROR_NO_EFS, "No EFS" },
1086         { ERROR_WRONG_EFS, "Wrong EFS" },
1087         { ERROR_NO_USER_KEYS, "No user keys" },
1088         { ERROR_FILE_NOT_ENCRYPTED, "File not encryped" },
1089         { ERROR_NOT_EXPORT_FORMAT, "Not export format" },
1090         { ERROR_FILE_READ_ONLY, "File read only" },
1091         { ERROR_DIR_EFS_DISALLOWED, "Dir EFS disallowed" },
1092         { ERROR_EFS_SERVER_NOT_TRUSTED, "EFS server not trusted" },
1093         { ERROR_BAD_RECOVERY_POLICY, "Bad recovery policy" },
1094         { ERROR_EFS_ALG_BLOB_TOO_BIG, "ETS alg blob too big" },
1095         { ERROR_VOLUME_NOT_SUPPORT_EFS, "Volume not support EFS" },
1096         { ERROR_EFS_DISABLED, "EFS disabled" },
1097         { ERROR_EFS_VERSION_NOT_SUPPORT, "EFS version not support" },
1098         { ERROR_NO_BROWSER_SERVERS_FOUND, "No browser servers found" },
1099         { SCHED_E_SERVICE_NOT_LOCALSYSTEM, "Sched E service not localsystem" },
1100         { ERROR_CTX_WINSTATION_NAME_INVALID, "Ctx winstation name invalid" },
1101         { ERROR_CTX_INVALID_PD, "Ctx invalid PD" },
1102         { ERROR_CTX_PD_NOT_FOUND, "Ctx PD not found" },
1103         { ERROR_CTX_WD_NOT_FOUND, "Ctx WD not found" },
1104         { ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY, "Ctx cannot make eventlog entry" },
1105         { ERROR_CTX_SERVICE_NAME_COLLISION, "Ctx service name collision" },
1106         { ERROR_CTX_CLOSE_PENDING, "Ctx close pending" },
1107         { ERROR_CTX_NO_OUTBUF, "Ctx no outbuf" },
1108         { ERROR_CTX_MODEM_INF_NOT_FOUND, "Ctx modem inf not found" },
1109         { ERROR_CTX_INVALID_MODEMNAME, "Ctx invalid modemname" },
1110         { ERROR_CTX_MODEM_RESPONSE_ERROR, "Ctx modem response error" },
1111         { ERROR_CTX_MODEM_RESPONSE_TIMEOUT, "Ctx modem response timeout" },
1112         { ERROR_CTX_MODEM_RESPONSE_NO_CARRIER, "Ctx modem response no carrier" },
1113         { ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE, "Ctx modem response no dial tone" },
1114         { ERROR_CTX_MODEM_RESPONSE_BUSY, "Ctx modem response busy" },
1115         { ERROR_CTX_MODEM_RESPONSE_VOICE, "Ctx modem response voice" },
1116         { ERROR_CTX_TD_ERROR, "Ctx TD error" },
1117         { ERROR_CTX_WINSTATION_NOT_FOUND, "Ctx winstation not found" },
1118         { ERROR_CTX_WINSTATION_ALREADY_EXISTS, "Ctx winstation already exists" },
1119         { ERROR_CTX_WINSTATION_BUSY, "Ctx winstation busy" },
1120         { ERROR_CTX_BAD_VIDEO_MODE, "Ctx bad video mode" },
1121         { ERROR_CTX_GRAPHICS_INVALID, "Ctx graphics invalid" },
1122         { ERROR_CTX_LOGON_DISABLED, "Ctx logon disabled" },
1123         { ERROR_CTX_NOT_CONSOLE, "Ctx not console" },
1124         { ERROR_CTX_CLIENT_QUERY_TIMEOUT, "Ctx client query timeout" },
1125         { ERROR_CTX_CONSOLE_DISCONNECT, "Ctx console disconnect" },
1126         { ERROR_CTX_CONSOLE_CONNECT, "Ctx console connect" },
1127         { ERROR_CTX_SHADOW_DENIED, "Ctx shadow denied" },
1128         { ERROR_CTX_WINSTATION_ACCESS_DENIED, "Ctx winstation access denied" },
1129         { ERROR_CTX_INVALID_WD, "Ctx invalid WD" },
1130         { ERROR_CTX_SHADOW_INVALID, "Ctx shadow invalid" },
1131         { ERROR_CTX_SHADOW_DISABLED, "Ctx shadow disabled" },
1132         { ERROR_CTX_CLIENT_LICENSE_IN_USE, "Ctx client licence in use" },
1133         { ERROR_CTX_CLIENT_LICENSE_NOT_SET, "Ctx client licence not set" },
1134         { ERROR_CTX_LICENSE_NOT_AVAILABLE, "Ctx licence not available" },
1135         { ERROR_CTX_LICENSE_CLIENT_INVALID, "Ctx licence client invalid" },
1136         { ERROR_CTX_LICENSE_EXPIRED, "Ctx licence expired" },
1137         { ERROR_CTX_SHADOW_NOT_RUNNING, "Ctx shadow not running" },
1138         { ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE, "Ctx shadow ended by mode change" },
1139         { FRS_ERR_INVALID_API_SEQUENCE, "FRS err invalid API sequence" },
1140         { FRS_ERR_STARTING_SERVICE, "FRS err starting service" },
1141         { FRS_ERR_STOPPING_SERVICE, "FRS err stopping service" },
1142         { FRS_ERR_INTERNAL_API, "FRS err internal API" },
1143         { FRS_ERR_INTERNAL, "FRS err internal" },
1144         { FRS_ERR_SERVICE_COMM, "FRS err service comm" },
1145         { FRS_ERR_INSUFFICIENT_PRIV, "FRS err insufficient priv" },
1146         { FRS_ERR_AUTHENTICATION, "FRS err authentication" },
1147         { FRS_ERR_PARENT_INSUFFICIENT_PRIV, "FRS err parent insufficient priv" },
1148         { FRS_ERR_PARENT_AUTHENTICATION, "FRS err parent authentication" },
1149         { FRS_ERR_CHILD_TO_PARENT_COMM, "FRS err child to parent comm" },
1150         { FRS_ERR_PARENT_TO_CHILD_COMM, "FRS err parent to child comm" },
1151         { FRS_ERR_SYSVOL_POPULATE, "FRS err sysvol populate" },
1152         { FRS_ERR_SYSVOL_POPULATE_TIMEOUT, "FRS err sysvol populate timeout" },
1153         { FRS_ERR_SYSVOL_IS_BUSY, "FRS err sysvol is busy" },
1154         { FRS_ERR_SYSVOL_DEMOTE, "FRS err sysvol demote" },
1155         { FRS_ERR_INVALID_SERVICE_PARAMETER, "FRS err invalid service parameter" },
1156         { ERROR_DS_NOT_INSTALLED, "DS not installed" },
1157         { ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY, "DS membership evaluated locally" },
1158         { ERROR_DS_NO_ATTRIBUTE_OR_VALUE, "DS no attribute or value" },
1159         { ERROR_DS_INVALID_ATTRIBUTE_SYNTAX, "DS invalid attribute syntax" },
1160         { ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED, "DS attribute type undefined" },
1161         { ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS, "DS attribute or value exists" },
1162         { ERROR_DS_BUSY, "DS busy" },
1163         { ERROR_DS_UNAVAILABLE, "DS unavailable" },
1164         { ERROR_DS_NO_RIDS_ALLOCATED, "DS no rids allocated" },
1165         { ERROR_DS_NO_MORE_RIDS, "DS no more rids" },
1166         { ERROR_DS_INCORRECT_ROLE_OWNER, "DS incorrect role owner" },
1167         { ERROR_DS_RIDMGR_INIT_ERROR, "DS ridmgr init error" },
1168         { ERROR_DS_OBJ_CLASS_VIOLATION, "DS obj class violation" },
1169         { ERROR_DS_CANT_ON_NON_LEAF, "DS can't on non leaf" },
1170         { ERROR_DS_CANT_ON_RDN, "DS can't on rnd" },
1171         { ERROR_DS_CANT_MOD_OBJ_CLASS, "DS can't mod obj class" },
1172         { ERROR_DS_CROSS_DOM_MOVE_ERROR, "DS cross dom move error" },
1173         { ERROR_DS_GC_NOT_AVAILABLE, "DS GC not available" },
1174         { ERROR_SHARED_POLICY, "Shared policy" },
1175         { ERROR_POLICY_OBJECT_NOT_FOUND, "Policy object not found" },
1176         { ERROR_POLICY_ONLY_IN_DS, "Policy only in DS" },
1177         { ERROR_PROMOTION_ACTIVE, "Promotion active" },
1178         { ERROR_NO_PROMOTION_ACTIVE, "No promotion active" },
1179         { ERROR_DS_OPERATIONS_ERROR, "DS operations error" },
1180         { ERROR_DS_PROTOCOL_ERROR, "DS protocol error" },
1181         { ERROR_DS_TIMELIMIT_EXCEEDED, "DS timelimit exceeded" },
1182         { ERROR_DS_SIZELIMIT_EXCEEDED, "DS sizelimit exceeded" },
1183         { ERROR_DS_ADMIN_LIMIT_EXCEEDED, "DS admin limit exceeded" },
1184         { ERROR_DS_COMPARE_FALSE, "DS compare false" },
1185         { ERROR_DS_COMPARE_TRUE, "DS compare true" },
1186         { ERROR_DS_AUTH_METHOD_NOT_SUPPORTED, "DS auth method not supported" },
1187         { ERROR_DS_STRONG_AUTH_REQUIRED, "DS strong auth required" },
1188         { ERROR_DS_INAPPROPRIATE_AUTH, "DS inappropriate auth" },
1189         { ERROR_DS_AUTH_UNKNOWN, "DS auth unknown" },
1190         { ERROR_DS_REFERRAL, "DS referral" },
1191         { ERROR_DS_UNAVAILABLE_CRIT_EXTENSION, "DS unavailable crit extension" },
1192         { ERROR_DS_CONFIDENTIALITY_REQUIRED, "DS confidentiality required" },
1193         { ERROR_DS_INAPPROPRIATE_MATCHING, "DS inappropriate matching" },
1194         { ERROR_DS_CONSTRAINT_VIOLATION, "DS constraint violation" },
1195         { ERROR_DS_NO_SUCH_OBJECT, "DS no such object" },
1196         { ERROR_DS_ALIAS_PROBLEM, "DS alias problem" },
1197         { ERROR_DS_INVALID_DN_SYNTAX, "DS invalid dn syntax" },
1198         { ERROR_DS_IS_LEAF, "DS is leaf" },
1199         { ERROR_DS_ALIAS_DEREF_PROBLEM, "DS alias deref problem" },
1200         { ERROR_DS_UNWILLING_TO_PERFORM, "DS unwilling to perform" },
1201         { ERROR_DS_LOOP_DETECT, "DS loop detect" },
1202         { ERROR_DS_NAMING_VIOLATION, "DS naming violation" },
1203         { ERROR_DS_OBJECT_RESULTS_TOO_LARGE, "DS object results too large" },
1204         { ERROR_DS_AFFECTS_MULTIPLE_DSAS, "DS affects multiple dsas" },
1205         { ERROR_DS_SERVER_DOWN, "DS server down" },
1206         { ERROR_DS_LOCAL_ERROR, "DS local error" },
1207         { ERROR_DS_ENCODING_ERROR, "DS encoding error" },
1208         { ERROR_DS_DECODING_ERROR, "DS decoding error" },
1209         { ERROR_DS_FILTER_UNKNOWN, "DS filter unknown" },
1210         { ERROR_DS_PARAM_ERROR, "DS param error" },
1211         { ERROR_DS_NOT_SUPPORTED, "DS not supported" },
1212         { ERROR_DS_NO_RESULTS_RETURNED, "DS no results returned" },
1213         { ERROR_DS_CONTROL_NOT_FOUND, "DS control not found" },
1214         { ERROR_DS_CLIENT_LOOP, "DS client loop" },
1215         { ERROR_DS_REFERRAL_LIMIT_EXCEEDED, "DS referral limit exceeded" },
1216         { ERROR_DS_SORT_CONTROL_MISSING, "DS sort control missing" },
1217         { ERROR_DS_OFFSET_RANGE_ERROR, "DS offset range error" },
1218         { ERROR_DS_ROOT_MUST_BE_NC, "DS root must be nc" },
1219         { ERROR_DS_ADD_REPLICA_INHIBITED, "DS and replica inhibited" },
1220         { ERROR_DS_ATT_NOT_DEF_IN_SCHEMA, "DS att not def in schema" },
1221         { ERROR_DS_MAX_OBJ_SIZE_EXCEEDED, "DS max obj size exceeded" },
1222         { ERROR_DS_OBJ_STRING_NAME_EXISTS, "DS obj string name exists" },
1223         { ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA, "DS no rdn defined in schema" },
1224         { ERROR_DS_RDN_DOESNT_MATCH_SCHEMA, "DS rdn doesn't match schema" },
1225         { ERROR_DS_NO_REQUESTED_ATTS_FOUND, "DS no requested atts found" },
1226         { ERROR_DS_USER_BUFFER_TO_SMALL, "DS user buffer too small" },
1227         { ERROR_DS_ATT_IS_NOT_ON_OBJ, "DS att is not on obj" },
1228         { ERROR_DS_ILLEGAL_MOD_OPERATION, "DS illegal mod operation" },
1229         { ERROR_DS_OBJ_TOO_LARGE, "DS obj too large" },
1230         { ERROR_DS_BAD_INSTANCE_TYPE, "DS bad instance type" },
1231         { ERROR_DS_MASTERDSA_REQUIRED, "DS masterdsa required" },
1232         { ERROR_DS_OBJECT_CLASS_REQUIRED, "DS object class required" },
1233         { ERROR_DS_MISSING_REQUIRED_ATT, "DS missing required att" },
1234         { ERROR_DS_ATT_NOT_DEF_FOR_CLASS, "DS att not def for class" },
1235         { ERROR_DS_ATT_ALREADY_EXISTS, "DS att already exists" },
1236         { ERROR_DS_CANT_ADD_ATT_VALUES, "DS can't add att values" },
1237         { ERROR_DS_SINGLE_VALUE_CONSTRAINT, "DS single value constraint" },
1238         { ERROR_DS_RANGE_CONSTRAINT, "DS range constraint" },
1239         { ERROR_DS_ATT_VAL_ALREADY_EXISTS, "DS att val already exists" },
1240         { ERROR_DS_CANT_REM_MISSING_ATT, "DS can't rem missing att" },
1241         { ERROR_DS_CANT_REM_MISSING_ATT_VAL, "DS can't rem missing att val" },
1242         { ERROR_DS_ROOT_CANT_BE_SUBREF, "DS root can't be subref" },
1243         { ERROR_DS_NO_CHAINING, "DS no chaining" },
1244         { ERROR_DS_NO_CHAINED_EVAL, "DS no chained eval" },
1245         { ERROR_DS_NO_PARENT_OBJECT, "DS no parent object" },
1246         { ERROR_DS_PARENT_IS_AN_ALIAS, "DS parent is an alias" },
1247         { ERROR_DS_CANT_MIX_MASTER_AND_REPS, "DS can't mix master and reps" },
1248         { ERROR_DS_CHILDREN_EXIST, "DS children exist" },
1249         { ERROR_DS_OBJ_NOT_FOUND, "DS obj not found" },
1250         { ERROR_DS_ALIASED_OBJ_MISSING, "DS aliased obj missing" },
1251         { ERROR_DS_BAD_NAME_SYNTAX, "DS bad name syntax" },
1252         { ERROR_DS_ALIAS_POINTS_TO_ALIAS, "DS alias points to alias" },
1253         { ERROR_DS_CANT_DEREF_ALIAS, "DS can't redef alias" },
1254         { ERROR_DS_OUT_OF_SCOPE, "DS out of scope" },
1255         { ERROR_DS_OBJECT_BEING_REMOVED, "DS object being removed" },
1256         { ERROR_DS_CANT_DELETE_DSA_OBJ, "DS can't delete dsa obj" },
1257         { ERROR_DS_GENERIC_ERROR, "DS generic error" },
1258         { ERROR_DS_DSA_MUST_BE_INT_MASTER, "DS dsa must be int master" },
1259         { ERROR_DS_CLASS_NOT_DSA, "DS class not dsa" },
1260         { ERROR_DS_INSUFF_ACCESS_RIGHTS, "DS insuff access rights" },
1261         { ERROR_DS_ILLEGAL_SUPERIOR, "DS illegal superior" },
1262         { ERROR_DS_ATTRIBUTE_OWNED_BY_SAM, "DS attribute owned by sam" },
1263         { ERROR_DS_NAME_TOO_MANY_PARTS, "DS name too many parts" },
1264         { ERROR_DS_NAME_TOO_LONG, "DS name too long" },
1265         { ERROR_DS_NAME_VALUE_TOO_LONG, "DS name value too long" },
1266         { ERROR_DS_NAME_UNPARSEABLE, "DS name unparseable" },
1267         { ERROR_DS_NAME_TYPE_UNKNOWN, "DS name type unknown" },
1268         { ERROR_DS_NOT_AN_OBJECT, "DS not an object" },
1269         { ERROR_DS_SEC_DESC_TOO_SHORT, "DS sec desc too short" },
1270         { ERROR_DS_SEC_DESC_INVALID, "DS sec desc invalid" },
1271         { ERROR_DS_NO_DELETED_NAME, "DS no deleted name" },
1272         { ERROR_DS_SUBREF_MUST_HAVE_PARENT, "DS subref must have parent" },
1273         { ERROR_DS_NCNAME_MUST_BE_NC, "DS ncname must be nc" },
1274         { ERROR_DS_CANT_ADD_SYSTEM_ONLY, "DS can't add system only" },
1275         { ERROR_DS_CLASS_MUST_BE_CONCRETE, "DS class must be concrete" },
1276         { ERROR_DS_INVALID_DMD, "DS invalid dmd" },
1277         { ERROR_DS_OBJ_GUID_EXISTS, "DS obj GUID exists" },
1278         { ERROR_DS_NOT_ON_BACKLINK, "DS not on backlink" },
1279         { ERROR_DS_NO_CROSSREF_FOR_NC, "DS no crossref for nc" },
1280         { ERROR_DS_SHUTTING_DOWN, "DS shutting down" },
1281         { ERROR_DS_UNKNOWN_OPERATION, "DS unknown operation" },
1282         { ERROR_DS_INVALID_ROLE_OWNER, "DS invalid role owner" },
1283         { ERROR_DS_COULDNT_CONTACT_FSMO, "DS couldn't contact fsmo" },
1284         { ERROR_DS_CROSS_NC_DN_RENAME, "DS cross nc dn rename" },
1285         { ERROR_DS_CANT_MOD_SYSTEM_ONLY, "DS can't mod system only" },
1286         { ERROR_DS_REPLICATOR_ONLY, "DS replicator only" },
1287         { ERROR_DS_OBJ_CLASS_NOT_DEFINED, "DS obj class not defined" },
1288         { ERROR_DS_OBJ_CLASS_NOT_SUBCLASS, "DS obj class not subclass" },
1289         { ERROR_DS_NAME_REFERENCE_INVALID, "DS name reference invalid" },
1290         { ERROR_DS_CROSS_REF_EXISTS, "DS cross ref exists" },
1291         { ERROR_DS_CANT_DEL_MASTER_CROSSREF, "DS can't del master crossref" },
1292         { ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD, "DS subtree notify not nc head" },
1293         { ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX, "DS notify filter too complex" },
1294         { ERROR_DS_DUP_RDN, "DS dup rdn" },
1295         { ERROR_DS_DUP_OID, "DS dup oid" },
1296         { ERROR_DS_DUP_MAPI_ID, "DS dup mapi ID" },
1297         { ERROR_DS_DUP_SCHEMA_ID_GUID, "DS dup schema ID GUID" },
1298         { ERROR_DS_DUP_LDAP_DISPLAY_NAME, "DS dup LDAP display name" },
1299         { ERROR_DS_SEMANTIC_ATT_TEST, "DS semantic att test" },
1300         { ERROR_DS_SYNTAX_MISMATCH, "DS syntax mismatch" },
1301         { ERROR_DS_EXISTS_IN_MUST_HAVE, "DS exists in must have" },
1302         { ERROR_DS_EXISTS_IN_MAY_HAVE, "DS exists in may have" },
1303         { ERROR_DS_NONEXISTENT_MAY_HAVE, "DS nonexistent may have" },
1304         { ERROR_DS_NONEXISTENT_MUST_HAVE, "DS nonexistent must have" },
1305         { ERROR_DS_AUX_CLS_TEST_FAIL, "DS aux cls test fail" },
1306         { ERROR_DS_NONEXISTENT_POSS_SUP, "DS nonexistent poss sup" },
1307         { ERROR_DS_SUB_CLS_TEST_FAIL, "DS sub cls test fail" },
1308         { ERROR_DS_BAD_RDN_ATT_ID_SYNTAX, "DS bad rdn att ID syntax" },
1309         { ERROR_DS_EXISTS_IN_AUX_CLS, "DS exists in aux cls" },
1310         { ERROR_DS_EXISTS_IN_SUB_CLS, "DS exists in sub cls" },
1311         { ERROR_DS_EXISTS_IN_POSS_SUP, "DS exists in poss sup" },
1312         { ERROR_DS_RECALCSCHEMA_FAILED, "DS recalcschema failed" },
1313         { ERROR_DS_TREE_DELETE_NOT_FINISHED, "DS tree delete not finished" },
1314         { ERROR_DS_CANT_DELETE, "DS can't delete" },
1315         { ERROR_DS_ATT_SCHEMA_REQ_ID, "DS att schema req ID" },
1316         { ERROR_DS_BAD_ATT_SCHEMA_SYNTAX, "DS bad att schema syntax" },
1317         { ERROR_DS_CANT_CACHE_ATT, "DS can't cache att" },
1318         { ERROR_DS_CANT_CACHE_CLASS, "DS can't cache class" },
1319         { ERROR_DS_CANT_REMOVE_ATT_CACHE, "DS can't remove att cache" },
1320         { ERROR_DS_CANT_REMOVE_CLASS_CACHE, "DS can't remove class cache" },
1321         { ERROR_DS_CANT_RETRIEVE_DN, "DS can't retrieve DN" },
1322         { ERROR_DS_MISSING_SUPREF, "DS missing supref" },
1323         { ERROR_DS_CANT_RETRIEVE_INSTANCE, "DS can't retrieve instance" },
1324         { ERROR_DS_CODE_INCONSISTENCY, "DS code inconsistency" },
1325         { ERROR_DS_DATABASE_ERROR, "DS database error" },
1326         { ERROR_DS_GOVERNSID_MISSING, "DS governsid missing" },
1327         { ERROR_DS_MISSING_EXPECTED_ATT, "DS missing expected att" },
1328         { ERROR_DS_NCNAME_MISSING_CR_REF, "DS ncname missing cr ref" },
1329         { ERROR_DS_SECURITY_CHECKING_ERROR, "DS security checking error" },
1330         { ERROR_DS_SCHEMA_NOT_LOADED, "DS schema not loaded" },
1331         { ERROR_DS_SCHEMA_ALLOC_FAILED, "DS schema alloc failed" },
1332         { ERROR_DS_ATT_SCHEMA_REQ_SYNTAX, "DS att schema req syntax" },
1333         { ERROR_DS_GCVERIFY_ERROR, "DS gcverify error" },
1334         { ERROR_DS_DRA_SCHEMA_MISMATCH, "DS dra schema mismatch" },
1335         { ERROR_DS_CANT_FIND_DSA_OBJ, "DS can't find dsa obj" },
1336         { ERROR_DS_CANT_FIND_EXPECTED_NC, "DS can't find expected nc" },
1337         { ERROR_DS_CANT_FIND_NC_IN_CACHE, "DS can't find nc in cache" },
1338         { ERROR_DS_CANT_RETRIEVE_CHILD, "DS can't retrieve child" },
1339         { ERROR_DS_SECURITY_ILLEGAL_MODIFY, "DS security illegal modify" },
1340         { ERROR_DS_CANT_REPLACE_HIDDEN_REC, "DS can't replace hidden rec" },
1341         { ERROR_DS_BAD_HIERARCHY_FILE, "DS bad hierarchy file" },
1342         { ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED, "DS build hierarchy table failed" },
1343         { ERROR_DS_CONFIG_PARAM_MISSING, "DS config param missing" },
1344         { ERROR_DS_COUNTING_AB_INDICES_FAILED, "DS counting ab indices failed" },
1345         { ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED, "DS hierarchy table malloc failed" },
1346         { ERROR_DS_INTERNAL_FAILURE, "DS internal failure" },
1347         { ERROR_DS_UNKNOWN_ERROR, "DS unknown error" },
1348         { ERROR_DS_ROOT_REQUIRES_CLASS_TOP, "DS root requires class top" },
1349         { ERROR_DS_REFUSING_FSMO_ROLES, "DS refusing fmso roles" },
1350         { ERROR_DS_MISSING_FSMO_SETTINGS, "DS missing fmso settings" },
1351         { ERROR_DS_UNABLE_TO_SURRENDER_ROLES, "DS unable to surrender roles" },
1352         { ERROR_DS_DRA_GENERIC, "DS dra generic" },
1353         { ERROR_DS_DRA_INVALID_PARAMETER, "DS dra invalid parameter" },
1354         { ERROR_DS_DRA_BUSY, "DS dra busy" },
1355         { ERROR_DS_DRA_BAD_DN, "DS dra bad dn" },
1356         { ERROR_DS_DRA_BAD_NC, "DS dra bad nc" },
1357         { ERROR_DS_DRA_DN_EXISTS, "DS dra dn exists" },
1358         { ERROR_DS_DRA_INTERNAL_ERROR, "DS dra internal error" },
1359         { ERROR_DS_DRA_INCONSISTENT_DIT, "DS dra inconsistent dit" },
1360         { ERROR_DS_DRA_CONNECTION_FAILED, "DS dra connection failed" },
1361         { ERROR_DS_DRA_BAD_INSTANCE_TYPE, "DS dra bad instance type" },
1362         { ERROR_DS_DRA_OUT_OF_MEM, "DS dra out of mem" },
1363         { ERROR_DS_DRA_MAIL_PROBLEM, "DS dra mail problem" },
1364         { ERROR_DS_DRA_REF_ALREADY_EXISTS, "DS dra ref already exists" },
1365         { ERROR_DS_DRA_REF_NOT_FOUND, "DS dra ref not found" },
1366         { ERROR_DS_DRA_OBJ_IS_REP_SOURCE, "DS dra obj is rep source" },
1367         { ERROR_DS_DRA_DB_ERROR, "DS dra db error" },
1368         { ERROR_DS_DRA_NO_REPLICA, "DS dra no replica" },
1369         { ERROR_DS_DRA_ACCESS_DENIED, "DS dra access denied" },
1370         { ERROR_DS_DRA_NOT_SUPPORTED, "DS dra not supported" },
1371         { ERROR_DS_DRA_RPC_CANCELLED, "DS dra RPC cancelled" },
1372         { ERROR_DS_DRA_SOURCE_DISABLED, "DS dra source disabled" },
1373         { ERROR_DS_DRA_SINK_DISABLED, "DS dra sink disabled" },
1374         { ERROR_DS_DRA_NAME_COLLISION, "DS dra name collision" },
1375         { ERROR_DS_DRA_SOURCE_REINSTALLED, "DS dra source reinstalled" },
1376         { ERROR_DS_DRA_MISSING_PARENT, "DS dra missing parent" },
1377         { ERROR_DS_DRA_PREEMPTED, "DS dra preempted" },
1378         { ERROR_DS_DRA_ABANDON_SYNC, "DS dra abandon sync" },
1379         { ERROR_DS_DRA_SHUTDOWN, "DS dra shutdown" },
1380         { ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET, "DS dra incompatible partial set" },
1381         { ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA, "DS dra source is partial replica" },
1382         { ERROR_DS_DRA_EXTN_CONNECTION_FAILED, "DS dra extn connection failed" },
1383         { ERROR_DS_INSTALL_SCHEMA_MISMATCH, "DS install schema mismatch" },
1384         { ERROR_DS_DUP_LINK_ID, "DS dup link ID" },
1385         { ERROR_DS_NAME_ERROR_RESOLVING, "DS name error resolving" },
1386         { ERROR_DS_NAME_ERROR_NOT_FOUND, "DS name error not found" },
1387         { ERROR_DS_NAME_ERROR_NOT_UNIQUE, "DS name error not unique" },
1388         { ERROR_DS_NAME_ERROR_NO_MAPPING, "DS name error no mapping" },
1389         { ERROR_DS_NAME_ERROR_DOMAIN_ONLY, "DS name error domain only" },
1390         { ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING, "DS name error no syntactical mapping" },
1391         { ERROR_DS_CONSTRUCTED_ATT_MOD, "DS constructed att mod" },
1392         { ERROR_DS_WRONG_OM_OBJ_CLASS, "DS wrong om obj class" },
1393         { ERROR_DS_DRA_REPL_PENDING, "DS dra repl pending" },
1394         { ERROR_DS_DS_REQUIRED, "DS ds required" },
1395         { ERROR_DS_INVALID_LDAP_DISPLAY_NAME, "DS invalid LDAP display name" },
1396         { ERROR_DS_NON_BASE_SEARCH, "DS non base search" },
1397         { ERROR_DS_CANT_RETRIEVE_ATTS, "DS can't retrieve atts" },
1398         { ERROR_DS_BACKLINK_WITHOUT_LINK, "DS backlink without link" },
1399         { ERROR_DS_EPOCH_MISMATCH, "DS epoch mismatch" },
1400         { ERROR_DS_SRC_NAME_MISMATCH, "DS src name mismatch" },
1401         { ERROR_DS_SRC_AND_DST_NC_IDENTICAL, "DS src and dst nc identical" },
1402         { ERROR_DS_DST_NC_MISMATCH, "DS dst nc mismatch" },
1403         { ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC, "DS not authoritive for dst nc" },
1404         { ERROR_DS_SRC_GUID_MISMATCH, "DS src GUID mismatch" },
1405         { ERROR_DS_CANT_MOVE_DELETED_OBJECT, "DS can't move deleted object" },
1406         { ERROR_DS_PDC_OPERATION_IN_PROGRESS, "DS pdc operation in progress" },
1407         { ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD, "DS cross domain cleanup reqd" },
1408         { ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION, "DS illegal xdom move operation" },
1409         { ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS, "DS can't with acct group membershps" },
1410         { ERROR_DS_NC_MUST_HAVE_NC_PARENT, "DS nc must have nc parent" },
1411         { ERROR_DS_DST_DOMAIN_NOT_NATIVE, "DS dst domain not native" },
1412         { ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER, "DS missing infrastructure container" },
1413         { ERROR_DS_CANT_MOVE_ACCOUNT_GROUP, "DS can't move account group" },
1414         { ERROR_DS_CANT_MOVE_RESOURCE_GROUP, "DS can't move resource group" },
1415         { ERROR_DS_INVALID_SEARCH_FLAG, "DS invalid search flag" },
1416         { ERROR_DS_NO_TREE_DELETE_ABOVE_NC, "DS no tree delete above nc" },
1417         { ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE, "DS couldn't lock tree for delete" },
1418         { ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE, "DS couldn't identify objects for tree delete" },
1419         { ERROR_DS_SAM_INIT_FAILURE, "DS sam init failure" },
1420         { ERROR_DS_SENSITIVE_GROUP_VIOLATION, "DS sensitive group violation" },
1421         { ERROR_DS_CANT_MOD_PRIMARYGROUPID, "DS can't mod primarygroupid" },
1422         { ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD, "DS illegal base schema mod" },
1423         { ERROR_DS_NONSAFE_SCHEMA_CHANGE, "DS nonsafe schema change" },
1424         { ERROR_DS_SCHEMA_UPDATE_DISALLOWED, "DS schema update disallowed" },
1425         { ERROR_DS_CANT_CREATE_UNDER_SCHEMA, "DS can't create under schema" },
1426         { ERROR_DS_INSTALL_NO_SRC_SCH_VERSION, "DS install no src sch version" },
1427         { ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE, "DS install no sch version in inifile" },
1428         { ERROR_DS_INVALID_GROUP_TYPE, "DS invalid group type" },
1429         { ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN, "DS no nest globalgroup in mixeddomain" },
1430         { ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN, "DS no nest localgroup in mixeddomain" },
1431         { ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER, "DS global can't have local member" },
1432         { ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER, "DS global can't have universal member" },
1433         { ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER, "DS universal can't have local member" },
1434         { ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER, "DS global can't have crossdomain member" },
1435         { ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER, "DS local can't have crossdomain local member" },
1436         { ERROR_DS_HAVE_PRIMARY_MEMBERS, "DS have primary members" },
1437         { ERROR_DS_STRING_SD_CONVERSION_FAILED, "DS string sd conversion failed" },
1438         { ERROR_DS_NAMING_MASTER_GC, "DS naming master gc" },
1439         { ERROR_DS_LOOKUP_FAILURE, "DS lookup failure" },
1440         { ERROR_DS_COULDNT_UPDATE_SPNS, "DS couldn't update spns" },
1441         { ERROR_DS_CANT_RETRIEVE_SD, "DS can't retrieve sd" },
1442         { ERROR_DS_KEY_NOT_UNIQUE, "DS key not unique" },
1443         { ERROR_DS_WRONG_LINKED_ATT_SYNTAX, "DS wrong linked att syntax" },
1444         { ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD, "DS sam need bootkey password" },
1445         { ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY, "DS sam need bootkey floppy" },
1446         { ERROR_DS_CANT_START, "DS can't start" },
1447         { ERROR_DS_INIT_FAILURE, "DS init failure" },
1448         { ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION, "DS no pkt privacy on connection" },
1449         { ERROR_DS_SOURCE_DOMAIN_IN_FOREST, "DS source domain in forest" },
1450         { ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST, "DS destination domain not in forest" },
1451         { ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED, "DS destination auditing not enabled" },
1452         { ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN, "DS can't find dc for src domain" },
1453         { ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER, "DS src obj not group or user" },
1454         { ERROR_DS_SRC_SID_EXISTS_IN_FOREST, "DS src sid exists in forest" },
1455         { ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH, "DS src and dst object class mismatch" },
1456         { ERROR_SAM_INIT_FAILURE, "Sam init failure" },
1457         { ERROR_DS_DRA_SCHEMA_INFO_SHIP, "DS dra schema info ship" },
1458         { ERROR_DS_DRA_SCHEMA_CONFLICT, "DS dra schema conflict" },
1459         { ERROR_DS_DRA_EARLIER_SCHEMA_CONLICT, "DS dra earlier schema conflict" },
1460         { ERROR_DS_DRA_OBJ_NC_MISMATCH, "DS dra obj nc mismatch" },
1461         { ERROR_DS_NC_STILL_HAS_DSAS, "DS nc still has dsas" },
1462         { ERROR_DS_GC_REQUIRED, "DS gc required" },
1463         { ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY, "DS local member of local only" },
1464         { ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS, "DS no fpo in universal groups" },
1465         { ERROR_DS_CANT_ADD_TO_GC, "DS can't add to gc" },
1466         { ERROR_DS_NO_CHECKPOINT_WITH_PDC, "DS no checkpoint with pdc" },
1467         { ERROR_DS_SOURCE_AUDITING_NOT_ENABLED, "DS source auditing not enabled" },
1468         { ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC, "DS can't create in nondomain nc" },
1469         { ERROR_DS_INVALID_NAME_FOR_SPN, "DS invalid name for spn" },
1470         { ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS, "DS filter uses constructed attrs" },
1471         { ERROR_DS_UNICODEPWD_NOT_IN_QUOTES, "DS unicodepwd not in quotes" },
1472         { ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED, "DS machine account quota exceeded" },
1473         { ERROR_DS_MUST_BE_RUN_ON_DST_DC, "DS must be run on dst dc" },
1474         { ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER, "DS src dc must be sp4 or greater" },
1475         { ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ, "DS can't tree delete critical obj" },
1476         { ERROR_DS_INIT_FAILURE_CONSOLE, "DS init failure console" },
1477         { ERROR_DS_SAM_INIT_FAILURE_CONSOLE, "DS sam init failure console" },
1478         { ERROR_DS_FOREST_VERSION_TOO_HIGH, "DS forest version too high" },
1479         { ERROR_DS_DOMAIN_VERSION_TOO_HIGH, "DS domain version too high" },
1480         { ERROR_DS_FOREST_VERSION_TOO_LOW, "DS forest version too low" },
1481         { ERROR_DS_DOMAIN_VERSION_TOO_LOW, "DS domain version too low" },
1482         { ERROR_DS_INCOMPATIBLE_VERSION, "DS incompatible version" },
1483         { ERROR_DS_LOW_DSA_VERSION, "DS low dsa version" },
1484         { ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN, "DS no behaviour version in mixeddomain" },
1485         { ERROR_DS_NOT_SUPPORTED_SORT_ORDER, "DS not supported sort order" },
1486         { ERROR_DS_NAME_NOT_UNIQUE, "DS name not unique" },
1487         { ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4, "DS machine account created prent4" },
1488         { ERROR_DS_OUT_OF_VERSION_STORE, "DS out of version store" },
1489         { ERROR_DS_INCOMPATIBLE_CONTROLS_USED, "DS incompatible controls used" },
1490         { ERROR_DS_NO_REF_DOMAIN, "DS no ref domain" },
1491         { ERROR_DS_RESERVED_LINK_ID, "DS reserved link ID" },
1492         { ERROR_DS_LINK_ID_NOT_AVAILABLE, "DS link ID not available" },
1493         { ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER, "DS ag can't have universal member" },
1494         { ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE, "DS modifydn disallowed by instance type" },
1495         { ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC, "DS no object move in schema nc" },
1496         { ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG, "DS modifydn disallowed by flag" },
1497         { ERROR_DS_MODIFYDN_WRONG_GRANDPARENT, "DS modifydn wrong grandparent" },
1498         { ERROR_DS_NAME_ERROR_TRUST_REFERRAL, "DS name error trust referral" },
1499         { ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER, "Not supported on standard server" },
1500         { ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD, "DS can't access remote part of ad" },
1501         { ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE, "DS cr impossible to validate" },
1502         { ERROR_DS_THREAD_LIMIT_EXCEEDED, "DS thread limit exceeded" },
1503         { ERROR_DS_NOT_CLOSEST, "DS not closest" },
1504         { ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF, "DS can't derive spn without server ref" },
1505         { ERROR_DS_SINGLE_USER_MODE_FAILED, "DS single user mode failed" },
1506         { ERROR_DS_NTDSCRIPT_SYNTAX_ERROR, "DS ntdscript syntax error" },
1507         { ERROR_DS_NTDSCRIPT_PROCESS_ERROR, "DS ntdscript process error" },
1508         { ERROR_DS_DIFFERENT_REPL_EPOCHS, "DS different repl epochs" },
1509         { ERROR_DS_DRS_EXTENSIONS_CHANGED, "DS drs extensions changed" },
1510         { ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR, "DS replica set change not allowed on disabled cr" },
1511         { ERROR_DS_NO_MSDS_INTID, "DS no msds intid" },
1512         { ERROR_DS_DUP_MSDS_INTID, "DS dup msds intid" },
1513         { ERROR_DS_EXISTS_IN_RDNATTID, "DS exists in rdnattid" },
1514         { ERROR_DS_AUTHORIZATION_FAILED, "DS authorisation failed" },
1515         { ERROR_DS_INVALID_SCRIPT, "DS invalid script" },
1516         { ERROR_DS_REMOTE_CROSSREF_OP_FAILED, "DS remote crossref op failed" },
1517         { DNS_ERROR_RCODE_FORMAT_ERROR, "DNS error rcode format error" },
1518         { DNS_ERROR_RCODE_SERVER_FAILURE, "DNS error rcode server failure" },
1519         { DNS_ERROR_RCODE_NAME_ERROR, "DNS error rcode name error" },
1520         { DNS_ERROR_RCODE_NOT_IMPLEMENTED, "DNS error rcode not implemented" },
1521         { DNS_ERROR_RCODE_REFUSED, "DNS error rcode refused" },
1522         { DNS_ERROR_RCODE_YXDOMAIN, "DNS error rcode yxdomain" },
1523         { DNS_ERROR_RCODE_YXRRSET, "DNS error rcode yxrrset" },
1524         { DNS_ERROR_RCODE_NXRRSET, "DNS error rcode nxrrset" },
1525         { DNS_ERROR_RCODE_NOTAUTH, "DNS error rcode notauth" },
1526         { DNS_ERROR_RCODE_NOTZONE, "DNS error rcode notzone" },
1527         { DNS_ERROR_RCODE_BADSIG, "DNS error rcode badsig" },
1528         { DNS_ERROR_RCODE_BADKEY, "DNS error rcode badkey" },
1529         { DNS_ERROR_RCODE_BADTIME, "DNS error rcode badtime" },
1530         { DNS_INFO_NO_RECORDS, "DNS info no records" },
1531         { DNS_ERROR_BAD_PACKET, "DNS error bad packet" },
1532         { DNS_ERROR_NO_PACKET, "DNS error no packet" },
1533         { DNS_ERROR_RCODE, "DNS error rcode" },
1534         { DNS_ERROR_UNSECURE_PACKET, "DNS error unsecure packet" },
1535         { DNS_ERROR_INVALID_TYPE, "DNS error invalid type" },
1536         { DNS_ERROR_INVALID_IP_ADDRESS, "DNS error invalid IP address" },
1537         { DNS_ERROR_INVALID_PROPERTY, "DNS error invalid property" },
1538         { DNS_ERROR_TRY_AGAIN_LATER, "DNS error try again later" },
1539         { DNS_ERROR_NOT_UNIQUE, "DNS error not unique" },
1540         { DNS_ERROR_NON_RFC_NAME, "DNS error non RFC name" },
1541         { DNS_STATUS_FQDN, "DNS status FQDN" },
1542         { DNS_STATUS_DOTTED_NAME, "DNS status dotted name" },
1543         { DNS_STATUS_SINGLE_PART_NAME, "DNS status single part name" },
1544         { DNS_ERROR_INVALID_NAME_CHAR, "DNS error invalid name char" },
1545         { DNS_ERROR_NUMERIC_NAME, "DNS error numeric name" },
1546         { DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER, "DNS error not allowed on root server" },
1547         { DNS_ERROR_ZONE_DOES_NOT_EXIST, "DNS error zone does not exist" },
1548         { DNS_ERROR_NO_ZONE_INFO, "DNS error not zone info" },
1549         { DNS_ERROR_INVALID_ZONE_OPERATION, "DNS error invalid zone operation" },
1550         { DNS_ERROR_ZONE_CONFIGURATION_ERROR, "DNS error zone configuration error" },
1551         { DNS_ERROR_ZONE_HAS_NO_SOA_RECORD, "DNS error zone has not SOA record" },
1552         { DNS_ERROR_ZONE_HAS_NO_NS_RECORDS, "DNS error zone has no NS records" },
1553         { DNS_ERROR_ZONE_LOCKED, "DNS error zone locked" },
1554         { DNS_ERROR_ZONE_CREATION_FAILED, "DNS error zone creation failed" },
1555         { DNS_ERROR_ZONE_ALREADY_EXISTS, "DNS error zone already exists" },
1556         { DNS_ERROR_AUTOZONE_ALREADY_EXISTS, "DNS error autozone already exists" },
1557         { DNS_ERROR_INVALID_ZONE_TYPE, "DNS error invalid zone type" },
1558         { DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP, "DNS error secondary requires master IP" },
1559         { DNS_ERROR_ZONE_NOT_SECONDARY, "DNS error zone not secondary" },
1560         { DNS_ERROR_NEED_SECONDARY_ADDRESSES, "DNS error need secondary addresses" },
1561         { DNS_ERROR_WINS_INIT_FAILED, "DNS error wins init failed" },
1562         { DNS_ERROR_NEED_WINS_SERVERS, "DNS error need wins servers" },
1563         { DNS_ERROR_NBSTAT_INIT_FAILED, "DNS error nbstat init failed" },
1564         { DNS_ERROR_SOA_DELETE_INVALID, "DNS error SOA delete invalid" },
1565         { DNS_ERROR_FORWARDER_ALREADY_EXISTS, "DNS error forwarder already exists" },
1566         { DNS_ERROR_ZONE_REQUIRES_MASTER_IP, "DNS error zone requires master IP" },
1567         { DNS_ERROR_ZONE_IS_SHUTDOWN, "DNS error zone is shutdown" },
1568         { DNS_ERROR_PRIMARY_REQUIRES_DATAFILE, "DNS error primary requires datafile" },
1569         { DNS_ERROR_INVALID_DATAFILE_NAME, "DNS error invalid datafile name" },
1570         { DNS_ERROR_DATAFILE_OPEN_FAILURE, "DNS error datafile open failure" },
1571         { DNS_ERROR_FILE_WRITEBACK_FAILED, "DNS error file writeback failed" },
1572         { DNS_ERROR_DATAFILE_PARSING, "DNS error datafile parsing" },
1573         { DNS_ERROR_RECORD_DOES_NOT_EXIST, "DNS error record does not exist" },
1574         { DNS_ERROR_RECORD_FORMAT, "DNS error record format" },
1575         { DNS_ERROR_NODE_CREATION_FAILED, "DNS error node creation failed" },
1576         { DNS_ERROR_UNKNOWN_RECORD_TYPE, "DNS error unknown record type" },
1577         { DNS_ERROR_RECORD_TIMED_OUT, "DNS error record timed out" },
1578         { DNS_ERROR_NAME_NOT_IN_ZONE, "DNS error name not in zone" },
1579         { DNS_ERROR_CNAME_LOOP, "DNS error CNAME loop" },
1580         { DNS_ERROR_NODE_IS_CNAME, "DNS error node is CNAME" },
1581         { DNS_ERROR_CNAME_COLLISION, "DNS error CNAME collision" },
1582         { DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT, "DNS error record only at zone root" },
1583         { DNS_ERROR_RECORD_ALREADY_EXISTS, "DNS error record already exists" },
1584         { DNS_ERROR_SECONDARY_DATA, "DNS error secondary data" },
1585         { DNS_ERROR_NO_CREATE_CACHE_DATA, "DNS error no create cache data" },
1586         { DNS_ERROR_NAME_DOES_NOT_EXIST, "DNS error name does not exist" },
1587         { DNS_WARNING_PTR_CREATE_FAILED, "DNS warning PTR create failed" },
1588         { DNS_WARNING_DOMAIN_UNDELETED, "DNS warning domain undeleted" },
1589         { DNS_ERROR_DS_UNAVAILABLE, "DNS error ds unavailable" },
1590         { DNS_ERROR_DS_ZONE_ALREADY_EXISTS, "DNS error ds zone already exists" },
1591         { DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE, "DNS error no bootfile if ds zone" },
1592         { DNS_INFO_AXFR_COMPLETE, "DNS info AXFR complete" },
1593         { DNS_ERROR_AXFR, "DNS error AXFR" },
1594         { DNS_INFO_ADDED_LOCAL_WINS, "DNS info added local wins" },
1595         { DNS_STATUS_CONTINUE_NEEDED, "DNS status continue needed" },
1596         { DNS_ERROR_NO_TCPIP, "DNS error no TCPIP" },
1597         { DNS_ERROR_NO_DNS_SERVERS, "DNS error no DNS servers" },
1598         { DNS_ERROR_DP_DOES_NOT_EXIST, "DNS error dp does not exist" },
1599         { DNS_ERROR_DP_ALREADY_EXISTS, "DNS error dp already exists" },
1600         { DNS_ERROR_DP_NOT_ENLISTED, "DNS error dp not enlisted" },
1601         { DNS_ERROR_DP_ALREADY_ENLISTED, "DNS error dp already enlisted" },
1602         { WSA_QOS_RECEIVERS, "QOS receivers" },
1603         { WSA_QOS_SENDERS, "QOS senders" },
1604         { WSA_QOS_NO_SENDERS, "QOS no senders" },
1605         { WSA_QOS_NO_RECEIVERS, "QOS no receivers" },
1606         { WSA_QOS_REQUEST_CONFIRMED, "QOS request confirmed" },
1607         { WSA_QOS_ADMISSION_FAILURE, "QOS admission failure" },
1608         { WSA_QOS_POLICY_FAILURE, "QOS policy failure" },
1609         { WSA_QOS_BAD_STYLE, "QOS bad style" },
1610         { WSA_QOS_BAD_OBJECT, "QOS bad object" },
1611         { WSA_QOS_TRAFFIC_CTRL_ERROR, "QOS traffic ctrl error" },
1612         { WSA_QOS_GENERIC_ERROR, "QOS generic error" },
1613         { WSA_QOS_ESERVICETYPE, "QOS eservicetype" },
1614         { WSA_QOS_EFLOWSPEC, "QOS eflowspec" },
1615         { WSA_QOS_EPROVSPECBUF, "QOS eprovspecbuf" },
1616         { WSA_QOS_EFILTERSTYLE, "QOS efilterstyle" },
1617         { WSA_QOS_EFILTERTYPE, "QOS efiltertype" },
1618         { WSA_QOS_EFILTERCOUNT, "QOS efiltercount" },
1619         { WSA_QOS_EOBJLENGTH, "QOS eobjlength" },
1620         { WSA_QOS_EFLOWCOUNT, "QOS eflowcount" },
1621         { WSA_QOS_EUNKNOWNPSOBJ, "QOS eunknownpsobj" },
1622         { WSA_QOS_EPOLICYOBJ, "QOS epolicyobj" },
1623         { WSA_QOS_EFLOWDESC, "QOS eflowdesc" },
1624         { WSA_QOS_EPSFLOWSPEC, "QOS epsflowspec" },
1625         { WSA_QOS_EPSFILTERSPEC, "QOS epsfilterspec" },
1626         { WSA_QOS_ESDMODEOBJ, "QOS esdmodeobj" },
1627         { WSA_QOS_ESHAPERATEOBJ, "QOS eshaperateobj" },
1628         { WSA_QOS_RESERVED_PETYPE, "QOS reserved petype" },
1629         { ERROR_IPSEC_QM_POLICY_EXISTS, "IPSEC qm policy exists" },
1630         { ERROR_IPSEC_QM_POLICY_NOT_FOUND, "IPSEC qm policy not found" },
1631         { ERROR_IPSEC_QM_POLICY_IN_USE, "IPSEC qm policy in use" },
1632         { ERROR_IPSEC_MM_POLICY_EXISTS, "IPSEC mm policy exists" },
1633         { ERROR_IPSEC_MM_POLICY_NOT_FOUND, "IPSEC mm policy not found" },
1634         { ERROR_IPSEC_MM_POLICY_IN_USE, "IPSEC mm policy in use" },
1635         { ERROR_IPSEC_MM_FILTER_EXISTS, "IPSEC mm filter exists" },
1636         { ERROR_IPSEC_MM_FILTER_NOT_FOUND, "IPSEC mm filter not found" },
1637         { ERROR_IPSEC_TRANSPORT_FILTER_EXISTS, "IPSEC transport filter exists" },
1638         { ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND, "IPSEC transport filter not found" },
1639         { ERROR_IPSEC_MM_AUTH_EXISTS, "IPSEC mm auth exists" },
1640         { ERROR_IPSEC_MM_AUTH_NOT_FOUND, "IPSEC mm auth not found" },
1641         { ERROR_IPSEC_MM_AUTH_IN_USE, "IPSEC mm auth in use" },
1642         { ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND, "IPSEC default mm policy not found" },
1643         { ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND, "IPSEC default mm auth not found" },
1644         { ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND, "IPSEC default qm policy not found" },
1645         { ERROR_IPSEC_TUNNEL_FILTER_EXISTS, "IPSEC tunnel filter exists" },
1646         { ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND, "IPSEC tunnel filter not found" },
1647         { ERROR_IPSEC_MM_FILTER_PENDING_DELETION, "IPSEC mm filter pending deletion" },
1648         { ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION, "IPSEC transport filter pending deletion" },
1649         { ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION, "IPSEC tunnel filter pending deletion" },
1650         { ERROR_IPSEC_MM_POLICY_PENDING_DELETION, "IPSEC mm policy pending deletion" },
1651         { ERROR_IPSEC_MM_AUTH_PENDING_DELETION, "IPSEC mm auth pending deletion" },
1652         { ERROR_IPSEC_QM_POLICY_PENDING_DELETION, "IPSEC qm policy pending deletion" },
1653         { ERROR_IPSEC_IKE_AUTH_FAIL, "IPSEC IKE auth fail" },
1654         { ERROR_IPSEC_IKE_ATTRIB_FAIL, "IPSEC IKE attrib fail" },
1655         { ERROR_IPSEC_IKE_NEGOTIATION_PENDING, "IPSEC IKE negotiation pending" },
1656         { ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR, "IPSEC IKE general processing error" },
1657         { ERROR_IPSEC_IKE_TIMED_OUT, "IPSEC IKE timed out" },
1658         { ERROR_IPSEC_IKE_NO_CERT, "IPSEC IKE no cert" },
1659         { ERROR_IPSEC_IKE_SA_DELETED, "IPSEC IKE sa deleted" },
1660         { ERROR_IPSEC_IKE_SA_REAPED, "IPSEC IKE sa reaped" },
1661         { ERROR_IPSEC_IKE_MM_ACQUIRE_DROP, "IPSEC IKE mm acquire drop" },
1662         { ERROR_IPSEC_IKE_QM_ACQUIRE_DROP, "IPSEC IKE qm acquire drop" },
1663         { ERROR_IPSEC_IKE_QUEUE_DROP_MM, "IPSEC IKE queue drop mm" },
1664         { ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM, "IPSEC IKE queue drop no mm" },
1665         { ERROR_IPSEC_IKE_DROP_NO_RESPONSE, "IPSEC IKE drop no response" },
1666         { ERROR_IPSEC_IKE_MM_DELAY_DROP, "IPSEC IKE mm delay drop" },
1667         { ERROR_IPSEC_IKE_QM_DELAY_DROP, "IPSEC IKE qm delay drop" },
1668         { ERROR_IPSEC_IKE_ERROR, "IPSEC IKE error" },
1669         { ERROR_IPSEC_IKE_CRL_FAILED, "IPSEC IKE crl failed" },
1670         { ERROR_IPSEC_IKE_INVALID_KEY_USAGE, "IPSEC IKE invalid key usage" },
1671         { ERROR_IPSEC_IKE_INVALID_CERT_TYPE, "IPSEC IKE invalid cert type" },
1672         { ERROR_IPSEC_IKE_NO_PRIVATE_KEY, "IPSEC IKE no private key" },
1673         { ERROR_IPSEC_IKE_DH_FAIL, "IPSEC IKE dh fail" },
1674         { ERROR_IPSEC_IKE_INVALID_HEADER, "IPSEC IKE invalid header" },
1675         { ERROR_IPSEC_IKE_NO_POLICY, "IPSEC IKE no policy" },
1676         { ERROR_IPSEC_IKE_INVALID_SIGNATURE, "IPSEC IKE invalid signature" },
1677         { ERROR_IPSEC_IKE_KERBEROS_ERROR, "IPSEC IKE kerberos error" },
1678         { ERROR_IPSEC_IKE_NO_PUBLIC_KEY, "IPSEC IKE no public key" },
1679         { ERROR_IPSEC_IKE_PROCESS_ERR, "IPSEC IKE process err" },
1680         { ERROR_IPSEC_IKE_PROCESS_ERR_SA, "IPSEC IKE process err sa" },
1681         { ERROR_IPSEC_IKE_PROCESS_ERR_PROP, "IPSEC IKE process err prop" },
1682         { ERROR_IPSEC_IKE_PROCESS_ERR_TRANS, "IPSEC IKE process err trans" },
1683         { ERROR_IPSEC_IKE_PROCESS_ERR_KE, "IPSEC IKE process err ke" },
1684         { ERROR_IPSEC_IKE_PROCESS_ERR_ID, "IPSEC IKE process err ID" },
1685         { ERROR_IPSEC_IKE_PROCESS_ERR_CERT, "IPSEC IKE process err cert" },
1686         { ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ, "IPSEC IKE process err cert req" },
1687         { ERROR_IPSEC_IKE_PROCESS_ERR_HASH, "IPSEC IKE process err hash" },
1688         { ERROR_IPSEC_IKE_PROCESS_ERR_SIG, "IPSEC IKE process err sig" },
1689         { ERROR_IPSEC_IKE_PROCESS_ERR_NONCE, "IPSEC IKE process err nonce" },
1690         { ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY, "IPSEC IKE process err notify" },
1691         { ERROR_IPSEC_IKE_PROCESS_ERR_DELETE, "IPSEC IKE process err delete" },
1692         { ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR, "IPSEC IKE process err vendor" },
1693         { ERROR_IPSEC_IKE_INVALID_PAYLOAD, "IPSEC IKE invalid payload" },
1694         { ERROR_IPSEC_IKE_LOAD_SOFT_SA, "IPSEC IKE load soft sa" },
1695         { ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN, "IPSEC IKE soft sa torn down" },
1696         { ERROR_IPSEC_IKE_INVALID_COOKIE, "IPSEC IKE invalid cookie" },
1697         { ERROR_IPSEC_IKE_NO_PEER_CERT, "IPSEC IKE no peer cert" },
1698         { ERROR_IPSEC_IKE_PEER_CRL_FAILED, "IPSEC IKE peer CRL failed" },
1699         { ERROR_IPSEC_IKE_POLICY_CHANGE, "IPSEC IKE policy change" },
1700         { ERROR_IPSEC_IKE_NO_MM_POLICY, "IPSEC IKE no mm policy" },
1701         { ERROR_IPSEC_IKE_NOTCBPRIV, "IPSEC IKE notcbpriv" },
1702         { ERROR_IPSEC_IKE_SECLOADFAIL, "IPSEC IKE secloadfail" },
1703         { ERROR_IPSEC_IKE_FAILSSPINIT, "IPSEC IKE failsspinit" },
1704         { ERROR_IPSEC_IKE_FAILQUERYSSP, "IPSEC IKE failqueryssp" },
1705         { ERROR_IPSEC_IKE_SRVACQFAIL, "IPSEC IKE srvacqfail" },
1706         { ERROR_IPSEC_IKE_SRVQUERYCRED, "IPSEC IKE srvquerycred" },
1707         { ERROR_IPSEC_IKE_GETSPIFAIL, "IPSEC IKE getspifail" },
1708         { ERROR_IPSEC_IKE_INVALID_FILTER, "IPSEC IKE invalid filter" },
1709         { ERROR_IPSEC_IKE_OUT_OF_MEMORY, "IPSEC IKE out of memory" },
1710         { ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED, "IPSEC IKE add update key failed" },
1711         { ERROR_IPSEC_IKE_INVALID_POLICY, "IPSEC IKE invalid policy" },
1712         { ERROR_IPSEC_IKE_UNKNOWN_DOI, "IPSEC IKE unknown doi" },
1713         { ERROR_IPSEC_IKE_INVALID_SITUATION, "IPSEC IKE invalid situation" },
1714         { ERROR_IPSEC_IKE_DH_FAILURE, "IPSEC IKE dh failure" },
1715         { ERROR_IPSEC_IKE_INVALID_GROUP, "IPSEC IKE invalid group" },
1716         { ERROR_IPSEC_IKE_ENCRYPT, "IPSEC IKE encrypt" },
1717         { ERROR_IPSEC_IKE_DECRYPT, "IPSEC IKE decrypt" },
1718         { ERROR_IPSEC_IKE_POLICY_MATCH, "IPSEC IKE policy match" },
1719         { ERROR_IPSEC_IKE_UNSUPPORTED_ID, "IPSEC IKE unsupported ID" },
1720         { ERROR_IPSEC_IKE_INVALID_HASH, "IPSEC IKE invalid hash" },
1721         { ERROR_IPSEC_IKE_INVALID_HASH_ALG, "IPSEC IKE invalid hash alg" },
1722         { ERROR_IPSEC_IKE_INVALID_HASH_SIZE, "IPSEC IKE invalid hash size" },
1723         { ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG, "IPSEC IKE invalid encrypt alg" },
1724         { ERROR_IPSEC_IKE_INVALID_AUTH_ALG, "IPSEC IKE invalid auth alg" },
1725         { ERROR_IPSEC_IKE_INVALID_SIG, "IPSEC IKE invalid sig" },
1726         { ERROR_IPSEC_IKE_LOAD_FAILED, "IPSEC IKE load failed" },
1727         { ERROR_IPSEC_IKE_RPC_DELETE, "IPSEC IKE rpc delete" },
1728         { ERROR_IPSEC_IKE_BENIGN_REINIT, "IPSEC IKE benign reinit" },
1729         { ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY, "IPSEC IKE invalid responder lifetime notify" },
1730         { ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN, "IPSEC IKE invalid cert keylen" },
1731         { ERROR_IPSEC_IKE_MM_LIMIT, "IPSEC IKE mm limit" },
1732         { ERROR_IPSEC_IKE_NEGOTIATION_DISABLED, "IPSEC IKE negotiation disabled" },
1733         { ERROR_IPSEC_IKE_NEG_STATUS_END, "IPSEC IKE neg status end" },
1734         { ERROR_SXS_SECTION_NOT_FOUND, "Sxs section not found" },
1735         { ERROR_SXS_CANT_GEN_ACTCTX, "Sxs can't gen actctx" },
1736         { ERROR_SXS_INVALID_ACTCTXDATA_FORMAT, "Sxs invalid actctxdata format" },
1737         { ERROR_SXS_ASSEMBLY_NOT_FOUND, "Sxs assembly not found" },
1738         { ERROR_SXS_MANIFEST_FORMAT_ERROR, "Sxs manifest format error" },
1739         { ERROR_SXS_MANIFEST_PARSE_ERROR, "Sxs manifest parse error" },
1740         { ERROR_SXS_ACTIVATION_CONTEXT_DISABLED, "Sxs activation context disabled" },
1741         { ERROR_SXS_KEY_NOT_FOUND, "Sxs key not found" },
1742         { ERROR_SXS_VERSION_CONFLICT, "Sxs version conflict" },
1743         { ERROR_SXS_WRONG_SECTION_TYPE, "Sxs wrong section type" },
1744         { ERROR_SXS_THREAD_QUERIES_DISABLED, "Sxs thread queries disabled" },
1745         { ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET, "Sxs process default already set" },
1746         { ERROR_SXS_UNKNOWN_ENCODING_GROUP, "Sxs unknown encoding group" },
1747         { ERROR_SXS_UNKNOWN_ENCODING, "Sxs unknown encoding" },
1748         { ERROR_SXS_INVALID_XML_NAMESPACE_URI, "Sxs invalid XML namespace URI" },
1749         { ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED, "Sxs root manifest dependency not installed" },
1750         { ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED, "Sxs leaf manifest dependency not installed" },
1751         { ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE, "Sxs invalid assembly indentity attribute" },
1752         { ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE, "Sxs manifest missing required default namespace" },
1753         { ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE, "Sxs manifest invalid required default namespace" },
1754         { ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT, "Sxs private manifest cross path with reparse point" },
1755         { ERROR_SXS_DUPLICATE_DLL_NAME, "Sxs duplicate dll name" },
1756         { ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME, "Sxs duplicate windowclass name" },
1757         { ERROR_SXS_DUPLICATE_CLSID, "Sxs duplicate clsid" },
1758         { ERROR_SXS_DUPLICATE_IID, "Sxs duplicate iid" },
1759         { ERROR_SXS_DUPLICATE_TLBID, "Sxs duplicate tlbid" },
1760         { ERROR_SXS_DUPLICATE_PROGID, "Sxs duplicate progid" },
1761         { ERROR_SXS_DUPLICATE_ASSEMBLY_NAME, "Sxs duplicate assembly name" },
1762         { ERROR_SXS_FILE_HASH_MISMATCH, "Sxs file hash mismatch" },
1763         { ERROR_SXS_POLICY_PARSE_ERROR, "Sxs policy parse error" },
1764         { ERROR_SXS_XML_E_MISSINGQUOTE, "Sxs XML e missingquote" },
1765         { ERROR_SXS_XML_E_COMMENTSYNTAX, "Sxs XML e commentsyntax" },
1766         { ERROR_SXS_XML_E_BADSTARTNAMECHAR, "Sxs XML e badstartnamechar" },
1767         { ERROR_SXS_XML_E_BADNAMECHAR, "Sxs XML e badnamechar" },
1768         { ERROR_SXS_XML_E_BADCHARINSTRING, "Sxs XML e badcharinstring" },
1769         { ERROR_SXS_XML_E_XMLDECLSYNTAX, "Sxs XML e xmldeclsyntax" },
1770         { ERROR_SXS_XML_E_BADCHARDATA, "Sxs XML e badchardata" },
1771         { ERROR_SXS_XML_E_MISSINGWHITESPACE, "Sxs XML e missingwhitespace" },
1772         { ERROR_SXS_XML_E_EXPECTINGTAGEND, "Sxs XML e expectingtagend" },
1773         { ERROR_SXS_XML_E_MISSINGSEMICOLON, "Sxs XML e missingsemicolon" },
1774         { ERROR_SXS_XML_E_UNBALANCEDPAREN, "Sxs XML e unbalancedparen" },
1775         { ERROR_SXS_XML_E_INTERNALERROR, "Sxs XML e internalerror" },
1776         { ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE, "Sxs XML e unexpected whitespace" },
1777         { ERROR_SXS_XML_E_INCOMPLETE_ENCODING, "Sxs XML e incomplete encoding" },
1778         { ERROR_SXS_XML_E_MISSING_PAREN, "Sxs XML e missing paren" },
1779         { ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE, "Sxs XML e expectingclosequote" },
1780         { ERROR_SXS_XML_E_MULTIPLE_COLONS, "Sxs XML e multiple colons" },
1781         { ERROR_SXS_XML_E_INVALID_DECIMAL, "Sxs XML e invalid decimal" },
1782         { ERROR_SXS_XML_E_INVALID_HEXIDECIMAL, "Sxs XML e invalid hexidecimal" },
1783         { ERROR_SXS_XML_E_INVALID_UNICODE, "Sxs XML e invalid unicode" },
1784         { ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK, "Sxs XML e whitespaceorquestionmark" },
1785         { ERROR_SXS_XML_E_UNEXPECTEDENDTAG, "Sxs XML e unexpectedendtag" },
1786         { ERROR_SXS_XML_E_UNCLOSEDTAG, "Sxs XML e unclosedtag" },
1787         { ERROR_SXS_XML_E_DUPLICATEATTRIBUTE, "Sxs XML e duplicateattribute" },
1788         { ERROR_SXS_XML_E_MULTIPLEROOTS, "Sxs XML e multipleroots" },
1789         { ERROR_SXS_XML_E_INVALIDATROOTLEVEL, "Sxs XML e invalidatrootlevel" },
1790         { ERROR_SXS_XML_E_BADXMLDECL, "Sxs XML e badxmldecl" },
1791         { ERROR_SXS_XML_E_MISSINGROOT, "Sxs XML e missingroot" },
1792         { ERROR_SXS_XML_E_UNEXPECTEDEOF, "Sxs XML e unexpectedeof" },
1793         { ERROR_SXS_XML_E_BADPEREFINSUBSET, "Sxs XML e badperefinsubset" },
1794         { ERROR_SXS_XML_E_UNCLOSEDSTARTTAG, "Sxs XML e unclosedstarttag" },
1795         { ERROR_SXS_XML_E_UNCLOSEDENDTAG, "Sxs XML e unclosedendtag" },
1796         { ERROR_SXS_XML_E_UNCLOSEDSTRING, "Sxs XML e unclosedstring" },
1797         { ERROR_SXS_XML_E_UNCLOSEDCOMMENT, "Sxs XML e unclosedcomment" },
1798         { ERROR_SXS_XML_E_UNCLOSEDDECL, "Sxs XML e uncloseddecl" },
1799         { ERROR_SXS_XML_E_UNCLOSEDCDATA, "Sxs XML e unclosedcdata" },
1800         { ERROR_SXS_XML_E_RESERVEDNAMESPACE, "Sxs XML e reservednamespace" },
1801         { ERROR_SXS_XML_E_INVALIDENCODING, "Sxs XML e invalidencoding" },
1802         { ERROR_SXS_XML_E_INVALIDSWITCH, "Sxs XML e invalidswitch" },
1803         { ERROR_SXS_XML_E_BADXMLCASE, "Sxs XML e badxmlcase" },
1804         { ERROR_SXS_XML_E_INVALID_STANDALONE, "Sxs XML e invalid standalone" },
1805         { ERROR_SXS_XML_E_UNEXPECTED_STANDALONE, "Sxs XML e unexpected standalone" },
1806         { ERROR_SXS_XML_E_INVALID_VERSION, "Sxs XML e invalid version" },
1807         { ERROR_SXS_XML_E_MISSINGEQUALS, "Sxs XML e missingequals" },
1808         { ERROR_SXS_PROTECTION_RECOVERY_FAILED, "Sxs protection recovery failed" },
1809         { ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT, "Sxs protection public key too short" },
1810         { ERROR_SXS_PROTECTION_CATALOG_NOT_VALID, "Sxs protection catalog not valid" },
1811         { ERROR_SXS_UNTRANSLATABLE_HRESULT, "Sxs untranslatable hresult" },
1812         { ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING, "Sxs protection catalog file missing" },
1813         { ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE, "Sxs missing assembly identity attribute" },
1814         { ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME, "Sxs invalid assembly identity attribute name" },
1815 };
1816 #endif /* DISABLE_FULL_MESSAGES */
1817
1818 static int
1819 msg_compare (const void *first, const void *second)
1820 {
1821         ErrorDesc *efirst = (ErrorDesc *) first;
1822         ErrorDesc *esecond = (ErrorDesc *) second;
1823
1824         return efirst->id - esecond->id;
1825 }
1826
1827 static const gchar *
1828 find_msg (guint32 id, ErrorDesc *base, int n)
1829 {
1830         ErrorDesc d, *result;
1831         d.id = id;
1832         
1833         result = (ErrorDesc *)mono_binary_search (&d, base, n, sizeof (ErrorDesc), msg_compare);
1834         if (result == NULL)
1835                 return NULL;
1836         return result->txt;
1837 }
1838
1839 static const gchar *
1840 find_linear_msg (guint32 id, ErrorDesc *base, int n)
1841 {
1842         int i, prev = -1;
1843
1844         for (i = 0; i < n; i++){
1845                 if (base [i].id > prev)
1846                         prev = base [i].id;
1847                 else {
1848                         static int error_shown;
1849                         if (!error_shown){
1850                                 error_shown = 1;
1851                                 fprintf (stderr, "Mono: Incorrect message sorted in io-layer/messages.c at index %d (msg=%s)\n", i, base [i].txt);
1852                         }
1853                 }       
1854                 if (base [i].id == id){
1855                         static int error_shown;
1856                         if (!error_shown){
1857                                 error_shown = 1;
1858                                 fprintf (stderr, "Mono: Error %d with text %s is improperly sorted in io-layer/messages.c\n", id, base [i].txt);
1859                         }
1860                         return base [i].txt;
1861                 }
1862         }
1863         return NULL;
1864 }
1865
1866 static const gchar *
1867 message_string (guint32 id)
1868 {
1869         const char *msg = find_msg (id, common_messages, G_N_ELEMENTS (common_messages));
1870         if (msg != NULL)
1871                 return msg;
1872
1873 #ifndef DISABLE_FULL_MESSAGES
1874         msg = find_msg (id, messages, G_N_ELEMENTS (messages));
1875         if (msg != NULL){
1876                 fprintf (stderr, "messages.c: A message was found on the uncommon code path: %d - %s", id, msg);
1877                 return msg;
1878         }
1879 #endif
1880         
1881         /*
1882          * Linear search, in case someone adds an error message and does not add it
1883          * to the list in a sorted position, this will be catched during development.
1884          */
1885         msg = find_linear_msg (id, common_messages, G_N_ELEMENTS (common_messages));
1886         if (msg != NULL)
1887                 return msg;
1888
1889 #ifndef DISABLE_FULL_MESSAGES
1890         msg = find_linear_msg (id, messages, G_N_ELEMENTS (messages));
1891         if (msg != NULL)
1892                 return msg;
1893 #endif
1894
1895         return NULL;
1896 }
1897
1898 static guint32
1899 unicode_chars (const gunichar2 *str)
1900 {
1901         guint32 len = 0;
1902         
1903         do {
1904                 if (str[len] == '\0') {
1905                         return(len);
1906                 }
1907                 len++;
1908         } while(1);
1909 }
1910
1911 guint32
1912 FormatMessage (guint32 flags, gconstpointer source, guint32 messageid,
1913                guint32 languageid, gunichar2 *buf, guint32 size, ...)
1914 {
1915         /*va_list ap;*/
1916         guint32 strlen, cpy;
1917         gunichar2 *str;
1918         gboolean freestr = FALSE;
1919         
1920         if ((flags & FORMAT_MESSAGE_FROM_HMODULE) ||
1921             (flags & FORMAT_MESSAGE_ARGUMENT_ARRAY) ||
1922             !(flags & FORMAT_MESSAGE_IGNORE_INSERTS)) {
1923                 g_warning ("%s: Unsupported flags passed: %d", __func__,
1924                            flags);
1925                 SetLastError (ERROR_NOT_SUPPORTED);
1926                 return(0);
1927         }
1928
1929         if ((flags & FORMAT_MESSAGE_MAX_WIDTH_MASK) != 0) {
1930                 g_warning ("%s: Message width mask (%d) not supported",
1931                            __func__, (flags & FORMAT_MESSAGE_MAX_WIDTH_MASK));
1932         }
1933         
1934         if (languageid != 0) {
1935                 g_warning ("%s: Locale 0x%x not supported, returning language neutral string", __func__, languageid);
1936         }
1937         
1938         /* We're only supporting IGNORE_INSERTS, so we don't need to
1939          * use va_start (ap, size) and va_end (ap)
1940          */
1941
1942         if (flags & FORMAT_MESSAGE_FROM_STRING) {
1943                 str = (gunichar2 *)source;
1944         } else if (flags & FORMAT_MESSAGE_FROM_SYSTEM) {
1945                 const char *msg = message_string (messageid);
1946                 if (msg != NULL)
1947                         str = g_utf8_to_utf16 (msg, -1, NULL, NULL, NULL);
1948                 else {
1949                         char *msg2 = g_strdup_printf ("mono-io-layer-error (%d)", messageid);
1950                         str = g_utf8_to_utf16 (msg2, -1, NULL, NULL, NULL);
1951                         g_free (msg2);
1952                 }
1953                 freestr = TRUE;
1954         } else
1955                 str = g_utf8_to_utf16 ("No message specified", -1, NULL, NULL, NULL);
1956
1957         strlen = unicode_chars (str);
1958
1959         if (flags & FORMAT_MESSAGE_ALLOCATE_BUFFER) {
1960                 *(gpointer *)buf = (gunichar2 *)g_new0 (gunichar2, strlen + 2 < size?size:strlen + 2);
1961         }
1962
1963         if (strlen >= size) {
1964                 cpy = size - 1;
1965         } else {
1966                 cpy = strlen;
1967         }
1968         memcpy (buf, str, cpy * 2);
1969         buf[cpy] = '\0';
1970
1971         if (freestr) {
1972                 g_free (str);
1973         }
1974         
1975         return(strlen);
1976 }
1977