Fixed RtlNtStatusToDosError()
authorEric Kohl <eric.kohl@reactos.org>
Tue, 4 Jul 2000 01:30:18 +0000 (01:30 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Tue, 4 Jul 2000 01:30:18 +0000 (01:30 +0000)
Implemented some more functions

svn path=/trunk/; revision=1223

20 files changed:
reactos/include/ddk/exfuncs.h
reactos/include/ddk/extypes.h
reactos/include/ddk/iofuncs.h
reactos/include/ddk/kefuncs.h
reactos/include/ddk/rtl.h
reactos/include/ddk/status.h
reactos/include/errors.h
reactos/include/napi/teb.h
reactos/lib/ntdll/rtl/error.c
reactos/ntoskrnl/ex/callback.c
reactos/ntoskrnl/ex/init.c
reactos/ntoskrnl/ex/interlck.c
reactos/ntoskrnl/ex/resource.c
reactos/ntoskrnl/io/process.c
reactos/ntoskrnl/ke/event.c
reactos/ntoskrnl/makefile_rex
reactos/ntoskrnl/ntoskrnl.def
reactos/ntoskrnl/ntoskrnl.edf
reactos/ntoskrnl/ps/tinfo.c
reactos/ntoskrnl/rtl/error.c [new file with mode: 0644]

index f133a55..642e4cd 100644 (file)
@@ -152,11 +152,22 @@ ExAllocatePoolWithTag (
        IN      ULONG           NumberOfBytes,
        IN      ULONG           Tag
        );
+
 VOID
 STDCALL
 ExConvertExclusiveToSharedLite (
        PERESOURCE      Resource
        );
+
+NTSTATUS
+STDCALL
+ExCreateCallback (
+       OUT     PCALLBACK_OBJECT        * CallbackObject,
+       IN      POBJECT_ATTRIBUTES      ObjectAttributes,
+       IN      BOOLEAN                 Create,
+       IN      BOOLEAN                 AllowMultipleCallbacks
+       );
+
 VOID
 STDCALL
 ExDeleteNPagedLookasideList (
@@ -177,6 +188,13 @@ STDCALL
 ExDeleteResourceLite (
        PERESOURCE      Resource
        );
+
+VOID
+STDCALL
+ExDisableResourceBoostLite (
+       PERESOURCE      Resource
+       );
+
 NTSTATUS
 STDCALL
 ExExtendZone (
@@ -276,6 +294,12 @@ ExGetExclusiveWaiterCount (
        PERESOURCE      Resource
        );
 
+ULONG
+STDCALL
+ExGetPreviousMode (
+       VOID
+       );
+
 ULONG
 STDCALL
 ExGetSharedWaiterCount (
@@ -370,6 +394,7 @@ ExInitializeZone (
        PVOID           InitialSegment,
        ULONG           InitialSegmentSize
        );
+
 LARGE_INTEGER
 STDCALL
 ExInterlockedAddLargeInteger (
@@ -377,6 +402,14 @@ ExInterlockedAddLargeInteger (
        LARGE_INTEGER   Increment,
        PKSPIN_LOCK     Lock
        );
+
+VOID
+FASTCALL
+ExInterlockedAddLargeStatistic (
+       IN      PLARGE_INTEGER  Addend,
+       IN      ULONG           Increment
+       );
+
 ULONG
 STDCALL
 ExInterlockedAddUlong (
@@ -396,6 +429,15 @@ ExInterlockedAddUlong (
 #define ExInterlockedAllocateFromZone(Zone,Lock) \
        (PVOID)ExInterlockedPopEntryList(&(Zone)->FreeList,Lock)
 
+LONGLONG
+FASTCALL
+ExInterlockedCompareExchange64 (
+       IN OUT  PLONGLONG       Destination,
+       IN      PLONGLONG       Exchange,
+       IN      PLONGLONG       Comparand,
+       IN      PKSPIN_LOCK     Lock
+       );
+
 INTERLOCKED_RESULT
 STDCALL
 ExInterlockedDecrementLong (
@@ -510,16 +552,24 @@ ExInterlockedRemoveHeadList (
        (((PUCHAR)(Object)>=(PUCHAR)(Zone)->SegmentList.Next) && \
         ((PUCHAR)(Object)<(PUCHAR)(Zone)->SegmentList.Next+(Zone)->TotalSegmentSize))
 
+BOOLEAN
+STDCALL
+ExIsProcessorFeaturePresent (
+       IN      ULONG   ProcessorFeature
+       );
+
 BOOLEAN
 STDCALL
 ExIsResourceAcquiredExclusiveLite (
        PERESOURCE      Resource
        );
+
 ULONG
 STDCALL
 ExIsResourceAcquiredSharedLite (
        PERESOURCE      Resource
        );
+
 VOID
 STDCALL
 ExLocalTimeToSystemTime (
@@ -527,6 +577,22 @@ ExLocalTimeToSystemTime (
        PLARGE_INTEGER  SystemTime
        );
 
+VOID
+STDCALL
+ExNotifyCallback (
+       IN      PVOID   CallbackObject,
+       IN      PVOID   Argument1,
+       IN      PVOID   Argument2
+       );
+
+VOID
+STDCALL
+ExPostSystemEvent (
+       ULONG   Unknown1,
+       ULONG   Unknown2,
+       ULONG   Unknown3
+       );
+
 /*
  * USHORT
  * ExQueryDepthSListHead (
@@ -557,6 +623,15 @@ STDCALL
 ExRaiseStatus (
        NTSTATUS        Status
        );
+
+PVOID
+STDCALL
+ExRegisterCallback (
+       IN      PCALLBACK_OBJECT        CallbackObject,
+       IN      PCALLBACK_FUNCTION      CallbackFunction,
+       IN      PVOID                   CallbackContext
+       );
+
 VOID
 STDCALL
 ExReinitializeResourceLite (
@@ -601,22 +676,39 @@ ExReleaseResourceForThreadLite (
        PERESOURCE              Resource,
        ERESOURCE_THREAD        ResourceThreadId
        );
+
+VOID
+STDCALL
+ExSetResourceOwnerPointer (
+       IN      PERESOURCE      Resource,
+       IN      PVOID           OwnerPointer
+       );
+
 VOID
 STDCALL
 ExSystemTimeToLocalTime (
        PLARGE_INTEGER  SystemTime,
        PLARGE_INTEGER  LocalTime
        );
+
 BOOLEAN
 FASTCALL
 ExTryToAcquireFastMutex (
        PFAST_MUTEX     FastMutex
        );
+
 BOOLEAN
 STDCALL
 ExTryToAcquireResourceExclusiveLite (
        PERESOURCE      Resource
        );
+
+VOID
+STDCALL
+ExUnregisterCallback (
+       IN      PVOID   CallbackRegistration
+       );
+
 /*
 LONG
 FASTCALL
index 73d26ec..75efc52 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: extypes.h,v 1.3 2000/05/09 16:12:47 ekohl Exp $ */
+/* $Id: extypes.h,v 1.4 2000/07/04 01:25:27 ekohl Exp $ */
 
 #ifndef __INCLUDE_DDK_EXTYPES_H
 #define __INCLUDE_DDK_EXTYPES_H
@@ -139,6 +139,17 @@ typedef struct
    FAST_MUTEX Lock;
 } PAGED_LOOKASIDE_LIST, *PPAGED_LOOKASIDE_LIST;
 
+
+/* callback object (not functional in NT4)*/
+
+typedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;
+
+typedef VOID (*PCALLBACK_FUNCTION) (
+       PVOID   CallbackContext,
+       PVOID   Argument1,
+       PVOID   Argument2
+       );
+
 #endif /* __INCLUDE_DDK_EXTYPES_H */
 
 /* EOF */
index 5eb3f19..4913be5 100644 (file)
@@ -1,6 +1,6 @@
 #ifndef _INCLUDE_DDK_IOFUNCS_H
 #define _INCLUDE_DDK_IOFUNCS_H
-/* $Id: iofuncs.h,v 1.15 2000/06/30 22:49:26 ekohl Exp $ */
+/* $Id: iofuncs.h,v 1.16 2000/07/04 01:25:27 ekohl Exp $ */
 
 /* --- EXPORTED BY NTOSKRNL --- */
 
@@ -676,17 +676,20 @@ STDCALL
 IoGetRelatedDeviceObject (
        PFILE_OBJECT    FileObject
        );
+
 PEPROCESS
 STDCALL
 IoGetRequestorProcess (
        IN      PIRP    Irp
        );
+
 VOID
 STDCALL
 IoGetStackLimits (
-       PVOID   * Minimum, /* guess */
-       PVOID   * Maximum  /* guess */
+       PULONG  LowLimit,
+       PULONG  HighLimit
        );
+
 PIRP
 STDCALL
 IoGetTopLevelIrp (
index 07e748d..c5058fa 100644 (file)
@@ -294,6 +294,14 @@ KeLowerIrql (
        KIRQL   NewIrql
        );
 
+NTSTATUS
+STDCALL
+KePulseEvent (
+       PKEVENT         Event,
+       KPRIORITY       Increment,
+       BOOLEAN         Wait
+       );
+
 LARGE_INTEGER
 STDCALL
 KeQueryPerformanceCounter (
index fd72f32..ded77bc 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: rtl.h,v 1.38 2000/07/02 17:30:31 ekohl Exp $
+/* $Id: rtl.h,v 1.39 2000/07/04 01:25:27 ekohl Exp $
  * 
  */
 
@@ -1245,6 +1245,12 @@ RtlNtStatusToDosError (
        NTSTATUS        StatusCode
        );
 
+DWORD
+STDCALL
+RtlNtStatusToDosErrorNoTeb (
+       NTSTATUS        StatusCode
+       );
+
 int
 STDCALL
 RtlNtStatusToPsxErrno (
index 60cffe1..5358cb2 100644 (file)
 #ifndef STATUS_WAIT_0
 #define STATUS_WAIT_0                               (0x00000000)
 #endif
-#define STATUS_WAIT_63                              (0x0000003f)
+#define STATUS_WAIT_63                              (0x0000003F)
 #define STATUS_ABANDONED                            (0x00000080)
 #ifndef STATUS_ABANDONED_WAIT_0
 #define STATUS_ABANDONED_WAIT_0                     (0x00000080)
 #endif
-#define STATUS_ABANDONED_WAIT_63                    (0x000000bf)
+#define STATUS_ABANDONED_WAIT_63                    (0x000000BF)
 #ifndef STATUS_USER_APC
-#define STATUS_USER_APC                             (0x000000c0)
+#define STATUS_USER_APC                             (0x000000C0)
 #endif
 #define STATUS_KERNEL_APC                           (0x00000100)
 #define STATUS_ALERTED                              (0x00000101)
 #define STATUS_SOME_NOT_MAPPED                      (0x00000107)
 #define STATUS_OPLOCK_BREAK_IN_PROCESS              (0x00000108)
 #define STATUS_VOLUME_MOUNTED                       (0x00000109)
-#define STATUS_RXACT_COMMITTED                      (0x0000010a)
-#define STATUS_NOTIFY_CLEANUP                       (0x0000010b)
-#define STATUS_NOTIFY_ENUM_DIR                      (0x0000010c)
-#define STATUS_NO_QUOTAS_NO_ACCOUNT                 (0x0000010d)
-#define STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED     (0x0000010e)
-
-#define STATUS_OBJECT_EXISTS                   (0x40000000)
-#define STATUS_THREAD_WAS_SUSPENDED            (0x40000001)
-#define STATUS_WORKING_SET_LIMIT_RANGE         (0x40000002)
-#define STATUS_IMAGE_NOT_AT_BASE               (0x40000003)
-#define STATUS_RXACT_STATE_CREATED             (0x40000004)
-#define STATUS_SEGMENT_NOTIFICATION            (0x40000005)
-#define STATUS_LOCAL_USER_SESSION_KEY          (0x40000006)
-#define STATUS_BAD_CURRENT_DIRECTORY           (0x40000007)
-#define STATUS_SERIAL_MORE_WRITES              (0x40000008)
-#define STATUS_REGISTRY_RECOVERED              (0x40000009)
-#define STATUS_FT_READ_RECOVERING_FROM_BACKUP  (0x4000000A)
-#define STATUS_FT_WRITE_RECOVERY               (0x4000000B)
-#define STATUS_SERIAL_COUNTER_TIMEOUT          (0x4000000C)
-#define STATUS_NULL_LM_PASSWORD                (0x4000000D)
-#define STATUS_IMAGE_MACHINE_TYPE_MISMATCH     (0x4000000E)
-#define STATUS_RECEIVE_PARTIAL                 (0x4000000F)
-#define STATUS_RECEIVE_EXPEDITED               (0x40000010)
-#define STATUS_RECEIVE_PARTIAL_EXPEDITED       (0x40000011)
-#define STATUS_EVENT_DONE                      (0x40000012)
-#define STATUS_EVENT_PENDING                   (0x40000013)
-#define STATUS_CHECKING_FILE_SYSTEM            (0x40000014)
-#define STATUS_FATAL_APP_EXIT                  (0x40000015)
-#define STATUS_PREDEFINED_HANDLE               (0x40000016)
-#define STATUS_WAS_UNLOCKED                    (0x40000017)
-#define STATUS_SERVICE_NOTIFICATION            (0x40000018)
-#define STATUS_WAS_LOCKED                      (0x40000019)
-#define STATUS_LOG_HARD_ERROR                  (0x4000001A)
-#define STATUS_ALREADY_WIN32                   (0x4000001B)
-#define STATUS_WX86_UNSIMULATE                 (0x4000001C)
-#define STATUS_WX86_CONTINUE                   (0x4000001D)
-#define STATUS_WX86_SINGLE_STEP                (0x4000001E)
-#define STATUS_WX86_BREAKPOINT                 (0x4000001F)
-#define STATUS_WX86_EXCEPTION_CONTINUE         (0x40000020)
-#define STATUS_WX86_EXCEPTION_LASTCHANCE       (0x40000021)
-#define STATUS_WX86_EXCEPTION_CHAIN            (0x40000022)
-#define STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE (0x40000023)
-#define STATUS_NO_YIELD_PERFORMED              (0x40000024)
-#define STATUS_TIMER_RESUME_IGNORED            (0x40000025)
-#define STATUS_ARBITRATION_UNHANDLED           (0x40000026)
-#define STATUS_CARDBUS_NOT_SUPPORTED           (0x40000027)
-#define STATUS_WX86_CREATEWX86TIB              (0x40000028)
-
-#define STATUS_GUARD_PAGE_VIOLATION            (0x80000001)
-#define STATUS_DATATYPE_MISALIGNMENT           (0x80000002)
-#define STATUS_BREAKPOINT                      (0x80000003)
-#define STATUS_SINGLE_STEP                     (0x80000004)
-#define STATUS_BUFFER_OVERFLOW                 (0x80000005)
-#define STATUS_NO_MORE_FILES                   (0x80000006)
-#define STATUS_WAKE_SYSTEM_DEBUGGER            (0x80000007)
-
-#define STATUS_HANDLES_CLOSED                  (0x8000000A)
-#define STATUS_NO_INHERITANCE                  (0x8000000B)
-#define STATUS_GUID_SUBSTITUTION_MADE          (0x8000000C)
-#define STATUS_PARTIAL_COPY                    (0x8000000D)
-#define STATUS_DEVICE_PAPER_EMPTY              (0x8000000E)
-#define STATUS_DEVICE_POWERED_OFF              (0x8000000F)
-#define STATUS_DEVICE_OFF_LINE                 (0x80000010)
-#define STATUS_DEVICE_BUSY                     (0x80000011)
-#define STATUS_NO_MORE_EAS                     (0x80000012)
-#define STATUS_INVALID_EA_NAME                 (0x80000013)
-#define STATUS_EA_LIST_INCONSISTENT            (0x80000014)
-#define STATUS_INVALID_EA_FLAG                 (0x80000015)
-#define STATUS_VERIFY_REQUIRED                 (0x80000016)
-#define STATUS_EXTRANEOUS_INFORMATION          (0x80000017)
-#define STATUS_RXACT_COMMIT_NECESSARY          (0x80000018)
-
-#define STATUS_NO_MORE_ENTRIES                 (0x8000001A)
-#define STATUS_FILEMARK_DETECTED               (0x8000001B)
-#define STATUS_MEDIA_CHANGED                   (0x8000001C)
-#define STATUS_BUS_RESET                       (0x8000001D)
-#define STATUS_END_OF_MEDIA                    (0x8000001E)
-#define STATUS_BEGINNING_OF_MEDIA              (0x8000001F)
-#define STATUS_MEDIA_CHECK                     (0x80000020)
-#define STATUS_SETMARK_DETECTED                (0x80000021)
-#define STATUS_NO_DATA_DETECTED                (0x80000022)
-#define STATUS_REDIRECTOR_HAS_OPEN_HANDLES     (0x80000023)
-#define STATUS_SERVER_HAS_OPEN_HANDLES         (0x80000024)
-#define STATUS_ALREADY_DISCONNECTED            (0x80000025)
-#define STATUS_LONGJUMP                        (0x80000026)
+#define STATUS_RXACT_COMMITTED                      (0x0000010A)
+#define STATUS_NOTIFY_CLEANUP                       (0x0000010B)
+#define STATUS_NOTIFY_ENUM_DIR                      (0x0000010C)
+#define STATUS_NO_QUOTAS_NO_ACCOUNT                 (0x0000010D)
+#define STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED     (0x0000010E)
+
+#define STATUS_OBJECT_EXISTS                        (0x40000000)
+#define STATUS_THREAD_WAS_SUSPENDED                 (0x40000001)
+#define STATUS_WORKING_SET_LIMIT_RANGE              (0x40000002)
+#define STATUS_IMAGE_NOT_AT_BASE                    (0x40000003)
+#define STATUS_RXACT_STATE_CREATED                  (0x40000004)
+#define STATUS_SEGMENT_NOTIFICATION                 (0x40000005)
+#define STATUS_LOCAL_USER_SESSION_KEY               (0x40000006)
+#define STATUS_BAD_CURRENT_DIRECTORY                (0x40000007)
+#define STATUS_SERIAL_MORE_WRITES                   (0x40000008)
+#define STATUS_REGISTRY_RECOVERED                   (0x40000009)
+#define STATUS_FT_READ_RECOVERING_FROM_BACKUP       (0x4000000A)
+#define STATUS_FT_WRITE_RECOVERY                    (0x4000000B)
+#define STATUS_SERIAL_COUNTER_TIMEOUT               (0x4000000C)
+#define STATUS_NULL_LM_PASSWORD                     (0x4000000D)
+#define STATUS_IMAGE_MACHINE_TYPE_MISMATCH          (0x4000000E)
+#define STATUS_RECEIVE_PARTIAL                      (0x4000000F)
+#define STATUS_RECEIVE_EXPEDITED                    (0x40000010)
+#define STATUS_RECEIVE_PARTIAL_EXPEDITED            (0x40000011)
+#define STATUS_EVENT_DONE                           (0x40000012)
+#define STATUS_EVENT_PENDING                        (0x40000013)
+#define STATUS_CHECKING_FILE_SYSTEM                 (0x40000014)
+#define STATUS_FATAL_APP_EXIT                       (0x40000015)
+#define STATUS_PREDEFINED_HANDLE                    (0x40000016)
+#define STATUS_WAS_UNLOCKED                         (0x40000017)
+#define STATUS_SERVICE_NOTIFICATION                 (0x40000018)
+#define STATUS_WAS_LOCKED                           (0x40000019)
+#define STATUS_LOG_HARD_ERROR                       (0x4000001A)
+#define STATUS_ALREADY_WIN32                        (0x4000001B)
+#define STATUS_WX86_UNSIMULATE                      (0x4000001C)
+#define STATUS_WX86_CONTINUE                        (0x4000001D)
+#define STATUS_WX86_SINGLE_STEP                     (0x4000001E)
+#define STATUS_WX86_BREAKPOINT                      (0x4000001F)
+#define STATUS_WX86_EXCEPTION_CONTINUE              (0x40000020)
+#define STATUS_WX86_EXCEPTION_LASTCHANCE            (0x40000021)
+#define STATUS_WX86_EXCEPTION_CHAIN                 (0x40000022)
+#define STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE      (0x40000023)
+#define STATUS_NO_YIELD_PERFORMED                   (0x40000024)
+#define STATUS_TIMER_RESUME_IGNORED                 (0x40000025)
+#define STATUS_ARBITRATION_UNHANDLED                (0x40000026)
+#define STATUS_CARDBUS_NOT_SUPPORTED                (0x40000027)
+#define STATUS_WX86_CREATEWX86TIB                   (0x40000028)
+
+#define STATUS_GUARD_PAGE_VIOLATION                 (0x80000001)
+#define STATUS_DATATYPE_MISALIGNMENT                (0x80000002)
+#define STATUS_BREAKPOINT                           (0x80000003)
+#define STATUS_SINGLE_STEP                          (0x80000004)
+#define STATUS_BUFFER_OVERFLOW                      (0x80000005)
+#define STATUS_NO_MORE_FILES                        (0x80000006)
+#define STATUS_WAKE_SYSTEM_DEBUGGER                 (0x80000007)
+
+#define STATUS_HANDLES_CLOSED                       (0x8000000A)
+#define STATUS_NO_INHERITANCE                       (0x8000000B)
+#define STATUS_GUID_SUBSTITUTION_MADE               (0x8000000C)
+#define STATUS_PARTIAL_COPY                         (0x8000000D)
+#define STATUS_DEVICE_PAPER_EMPTY                   (0x8000000E)
+#define STATUS_DEVICE_POWERED_OFF                   (0x8000000F)
+#define STATUS_DEVICE_OFF_LINE                      (0x80000010)
+#define STATUS_DEVICE_BUSY                          (0x80000011)
+#define STATUS_NO_MORE_EAS                          (0x80000012)
+#define STATUS_INVALID_EA_NAME                      (0x80000013)
+#define STATUS_EA_LIST_INCONSISTENT                 (0x80000014)
+#define STATUS_INVALID_EA_FLAG                      (0x80000015)
+#define STATUS_VERIFY_REQUIRED                      (0x80000016)
+#define STATUS_EXTRANEOUS_INFORMATION               (0x80000017)
+#define STATUS_RXACT_COMMIT_NECESSARY               (0x80000018)
+
+#define STATUS_NO_MORE_ENTRIES                      (0x8000001A)
+#define STATUS_FILEMARK_DETECTED                    (0x8000001B)
+#define STATUS_MEDIA_CHANGED                        (0x8000001C)
+#define STATUS_BUS_RESET                            (0x8000001D)
+#define STATUS_END_OF_MEDIA                         (0x8000001E)
+#define STATUS_BEGINNING_OF_MEDIA                   (0x8000001F)
+#define STATUS_MEDIA_CHECK                          (0x80000020)
+#define STATUS_SETMARK_DETECTED                     (0x80000021)
+#define STATUS_NO_DATA_DETECTED                     (0x80000022)
+#define STATUS_REDIRECTOR_HAS_OPEN_HANDLES          (0x80000023)
+#define STATUS_SERVER_HAS_OPEN_HANDLES              (0x80000024)
+#define STATUS_ALREADY_DISCONNECTED                 (0x80000025)
+#define STATUS_LONGJUMP                             (0x80000026)
 
 #define STATUS_UNSUCCESSFUL                         (0xc0000001)
 #define STATUS_NOT_IMPLEMENTED                      (0xc0000002)
 #define STATUS_ILLEGAL_INSTRUCTION                  (0xc000001d)
 #define STATUS_INVALID_LOCK_SEQUENCE                (0xc000001e)
 #define STATUS_INVALID_VIEW_SIZE                    (0xc000001f)
-#define STATUS_INVALID_FILE_FOR_SECTION        (0xc0000020)
-#define STATUS_ALREADY_COMMITTED               (0xc0000021)
-#define STATUS_ACCESS_DENIED                   (0xc0000022)
-#define STATUS_BUFFER_TOO_SMALL                (0xc0000023)
-#define STATUS_OBJECT_TYPE_MISMATCH            (0xc0000024)
-#define STATUS_NONCONTINUABLE_EXCEPTION        (0xc0000025)
-#define STATUS_INVALID_DISPOSITION             (0xc0000026)
-#define STATUS_UNWIND                          (0xc0000027)
-#define STATUS_BAD_STACK                       (0xc0000028)
-#define STATUS_INVALID_UNWIND_TARGET           (0xc0000029)
-#define STATUS_NOT_LOCKED                      (0xc000002A)
-#define STATUS_PARITY_ERROR                    (0xc000002B)
-#define STATUS_UNABLE_TO_DECOMMIT_VM           (0xc000002C)
-#define STATUS_NOT_COMMITTED                   (0xc000002D)
-#define STATUS_INVALID_PORT_ATTRIBUTES         (0xc000002E)
-#define STATUS_PORT_MESSAGE_TOO_LONG           (0xc000002F)
-#define STATUS_INVALID_PARAMETER_MIX           (0xc0000030)
-#define STATUS_INVALID_QUOTA_LOWER             (0xc0000031)
-#define STATUS_DISK_CORRUPT_ERROR              (0xc0000032)
-#define STATUS_OBJECT_NAME_INVALID             (0xc0000033)
-#define STATUS_OBJECT_NAME_NOT_FOUND           (0xc0000034)
-#define STATUS_OBJECT_NAME_COLLISION           (0xc0000035)
-
-#define STATUS_PORT_DISCONNECTED               (0xc0000037)
-#define STATUS_DEVICE_ALREADY_ATTACHED         (0xc0000038)
-#define STATUS_OBJECT_PATH_INVALID             (0xc0000039)
-#define STATUS_OBJECT_PATH_NOT_FOUND           (0xc000003A)
-#define STATUS_PATH_SYNTAX_BAD                 (0xc000003B)
-#define STATUS_DATA_OVERRUN                    (0xc000003C)
-#define STATUS_DATA_LATE_ERROR                 (0xc000003D)
-#define STATUS_DATA_ERROR                      (0xc000003E)
-#define STATUS_CRC_ERROR                       (0xc000003F)
-#define STATUS_SECTION_TOO_BIG                 (0xc0000040)
-#define STATUS_PORT_CONNECTION_REFUSED         (0xc0000041)
-#define STATUS_INVALID_PORT_HANDLE             (0xc0000042)
-#define STATUS_SHARING_VIOLATION               (0xc0000043)
-#define STATUS_QUOTA_EXCEEDED                  (0xc0000044)
-#define STATUS_INVALID_PAGE_PROTECTION         (0xc0000045)
-#define STATUS_MUTANT_NOT_OWNED                (0xc0000046)
-#define STATUS_SEMAPHORE_LIMIT_EXCEEDED        (0xc0000047)
-#define STATUS_PORT_ALREADY_SET                (0xc0000048)
-
-#define STATUS_SECTION_NOT_IMAGE               (0xc0000049)
-#define STATUS_SUSPEND_COUNT_EXCEEDED          (0xc000004a)
-#define STATUS_THREAD_IS_TERMINATING           (0xc000004b)
-#define STATUS_BAD_WORKING_SET_LIMIT           (0xc000004c)
-#define STATUS_INCOMPATIBLE_FILE_MAP           (0xc000004d)
-#define STATUS_SECTION_PROTECTION              (0xc000004e)
-#define STATUS_EAS_NOT_SUPPORTED               (0xc000004f)
-#define STATUS_EA_TOO_LARGE                    (0xc0000050)
-#define STATUS_NONEXISTENT_EA_ENTRY            (0xc0000051)
-#define STATUS_NO_EAS_ON_FILE                  (0xc0000052)
-#define STATUS_EA_CORRUPT_ERROR                (0xc0000053)
-#define STATUS_FILE_LOCK_CONFLICT              (0xc0000054)
-#define STATUS_LOCK_NOT_GRANTED                (0xc0000055)
-#define STATUS_DELETE_PENDING                  (0xc0000056)
-#define STATUS_CTL_FILE_NOT_SUPPORTED          (0xc0000057)
-#define STATUS_UNKNOWN_REVISION                (0xc0000058)
-#define STATUS_REVISION_MISMATCH               (0xc0000059)
-#define STATUS_INVALID_OWNER                   (0xc000005a)
-#define STATUS_INVALID_PRIMARY_GROUP           (0xc000005b)
-#define STATUS_NO_IMPERSONATION_TOKEN          (0xc000005c)
-#define STATUS_CANT_DISABLE_MANDATORY          (0xc000005d)
-#define STATUS_NO_LOGON_SERVERS                (0xc000005e)
-#define STATUS_NO_SUCH_LOGON_SESSION           (0xc000005f)
-#define STATUS_NO_SUCH_PRIVILEGE               (0xc0000060)
-#define STATUS_PRIVILEGE_NOT_HELD              (0xc0000061)
-#define STATUS_INVALID_ACCOUNT_NAME            (0xc0000062)
-#define STATUS_USER_EXISTS                     (0xc0000063)
-#define STATUS_NO_SUCH_USER                    (0xc0000064)
-#define STATUS_GROUP_EXISTS                    (0xc0000065)
-#define STATUS_NO_SUCH_GROUP                   (0xc0000066)
-#define STATUS_MEMBER_IN_GROUP                 (0xc0000067)
-#define STATUS_MEMBER_NOT_IN_GROUP             (0xc0000068)
-#define STATUS_LAST_ADMIN                      (0xc0000069)
-#define STATUS_WRONG_PASSWORD                  (0xc000006a)
-#define STATUS_ILL_FORMED_PASSWORD             (0xc000006b)
-#define STATUS_PASSWORD_RESTRICTION            (0xc000006c)
-#define STATUS_LOGON_FAILURE                   (0xc000006d)
-#define STATUS_ACCOUNT_RESTRICTION             (0xc000006e)
-#define STATUS_INVALID_LOGON_HOURS             (0xc000006f)
-#define STATUS_INVALID_WORKSTATION             (0xc0000070)
-#define STATUS_PASSWORD_EXPIRED                (0xc0000071)
-#define STATUS_ACCOUNT_DISABLED                (0xc0000072)
-#define STATUS_NONE_MAPPED                     (0xc0000073)
-#define STATUS_TOO_MANY_LUIDS_REQUESTED        (0xc0000074)
-#define STATUS_LUIDS_EXHAUSTED                 (0xc0000075)
-#define STATUS_INVALID_SUB_AUTHORITY           (0xc0000076)
-#define STATUS_INVALID_ACL                     (0xc0000077)
-#define STATUS_INVALID_SID                     (0xc0000078)
-#define STATUS_INVALID_SECURITY_DESCR          (0xc0000079)
-#define STATUS_PROCEDURE_NOT_FOUND             (0xc000007a)
-#define STATUS_INVALID_IMAGE_FORMAT            (0xc000007b)
-#define STATUS_NO_TOKEN                        (0xc000007c)
-#define STATUS_BAD_INHERITANCE_ACL             (0xc000007d)
-#define STATUS_RANGE_NOT_LOCKED                (0xc000007e)
-#define STATUS_DISK_FULL                       (0xc000007f)
-#define STATUS_SERVER_DISABLED                 (0xc0000080)
-#define STATUS_SERVER_NOT_DISABLED             (0xc0000081)
-#define STATUS_TOO_MANY_GUIDS_REQUESTED        (0xc0000082)
-#define STATUS_GUIDS_EXHAUSTED                 (0xc0000083)
-#define STATUS_INVALID_ID_AUTHORITY            (0xc0000084)
-#define STATUS_AGENTS_EXHAUSTED                (0xc0000085)
-#define STATUS_INVALID_VOLUME_LABEL            (0xc0000086)
-#define STATUS_SECTION_NOT_EXTENDED            (0xc0000087)
-#define STATUS_NOT_MAPPED_DATA                 (0xc0000088)
-#define STATUS_RESOURCE_DATA_NOT_FOUND         (0xc0000089)
-#define STATUS_RESOURCE_TYPE_NOT_FOUND         (0xc000008a)
-#define STATUS_RESOURCE_NAME_NOT_FOUND         (0xc000008b)
-#define STATUS_ARRAY_BOUNDS_EXCEEDED           (0xc000008c)
-#define STATUS_FLOAT_DENORMAL_OPERAND          (0xc000008d)
-#define STATUS_FLOAT_DIVIDE_BY_ZERO            (0xc000008e)
-#define STATUS_FLOAT_INEXACT_RESULT            (0xc000008f)
-#define STATUS_FLOAT_INVALID_OPERATION         (0xc0000090)
-#define STATUS_FLOAT_OVERFLOW                  (0xc0000091)
-#define STATUS_FLOAT_STACK_CHECK               (0xc0000092)
-#define STATUS_FLOAT_UNDERFLOW                 (0xc0000093)
-#define STATUS_INTEGER_DIVIDE_BY_ZERO          (0xc0000094)
-#define STATUS_INTEGER_OVERFLOW                (0xc0000095)
-#define STATUS_PRIVILEGED_INSTRUCTION          (0xc0000096)
-#define STATUS_TOO_MANY_PAGING_FILES           (0xc0000097)
-#define STATUS_FILE_INVALID                    (0xc0000098)
-#define STATUS_ALLOTTED_SPACE_EXCEEDED         (0xc0000099)
-#define STATUS_INSUFFICIENT_RESOURCES          (0xc000009a)
-#define STATUS_DFS_EXIT_PATH_FOUND             (0xc000009b)
-#define STATUS_DEVICE_DATA_ERROR               (0xc000009c)
-#define STATUS_DEVICE_NOT_CONNECTED            (0xc000009d)
-#define STATUS_DEVICE_POWER_FAILURE            (0xc000009e)
-#define STATUS_FREE_VM_NOT_AT_BASE             (0xc000009f)
-#define STATUS_MEMORY_NOT_ALLOCATED            (0xc00000a0)
-#define STATUS_WORKING_SET_QUOTA               (0xc00000a1)
-#define STATUS_MEDIA_WRITE_PROTECTED           (0xc00000a2)
-#define STATUS_DEVICE_NOT_READY                (0xc00000a3)
-#define STATUS_INVALID_GROUP_ATTRIBUTES        (0xc00000a4)
-#define STATUS_BAD_IMPERSONATION_LEVEL         (0xc00000a5)
-#define STATUS_CANT_OPEN_ANONYMOUS             (0xc00000a6)
-#define STATUS_BAD_VALIDATION_CLASS            (0xc00000a7)
-#define STATUS_BAD_TOKEN_TYPE                  (0xc00000a8)
-#define STATUS_BAD_MASTER_BOOT_RECORD          (0xc00000a9)
-#define STATUS_INSTRUCTION_MISALIGNMENT        (0xc00000aa)
-#define STATUS_INSTANCE_NOT_AVAILABLE          (0xc00000ab)
-#define STATUS_PIPE_NOT_AVAILABLE              (0xc00000ac)
-#define STATUS_INVALID_PIPE_STATE              (0xc00000ad)
-#define STATUS_PIPE_BUSY                       (0xc00000ae)
-#define STATUS_ILLEGAL_FUNCTION                (0xc00000af)
-#define STATUS_PIPE_DISCONNECTED               (0xc00000b0)
-#define STATUS_PIPE_CLOSING                    (0xc00000b1)
-#define STATUS_PIPE_CONNECTED                  (0xc00000b2)
-#define STATUS_PIPE_LISTENING                  (0xc00000b3)
-#define STATUS_INVALID_READ_MODE               (0xc00000b4)
-#define STATUS_IO_TIMEOUT                      (0xc00000b5)
-#define STATUS_FILE_FORCED_CLOSED              (0xc00000b6)
-#define STATUS_PROFILING_NOT_STARTED           (0xc00000b7)
-#define STATUS_PROFILING_NOT_STOPPED           (0xc00000b8)
-#define STATUS_COULD_NOT_INTERPRET             (0xc00000b9)
-#define STATUS_FILE_IS_A_DIRECTORY             (0xc00000ba)
-#define STATUS_NOT_SUPPORTED                   (0xc00000bb)
-#define STATUS_REMOTE_NOT_LISTENING            (0xc00000bc)
-#define STATUS_DUPLICATE_NAME                  (0xc00000bd)
-#define STATUS_BAD_NETWORK_PATH                (0xc00000be)
-#define STATUS_NETWORK_BUSY                    (0xc00000bf)
-#define STATUS_DEVICE_DOES_NOT_EXIST           (0xc00000c0)
-#define STATUS_TOO_MANY_COMMANDS               (0xc00000c1)
-#define STATUS_ADAPTER_HARDWARE_ERROR          (0xc00000c2)
-#define STATUS_INVALID_NETWORK_RESPONSE        (0xc00000c3)
-#define STATUS_UNEXPECTED_NETWORK_ERROR        (0xc00000c4)
-#define STATUS_BAD_REMOTE_ADAPTER              (0xc00000c5)
-#define STATUS_PRINT_QUEUE_FULL                (0xc00000c6)
-#define STATUS_NO_SPOOL_SPACE                  (0xc00000c7)
-#define STATUS_PRINT_CANCELLED                 (0xc00000c8)
-#define STATUS_NETWORK_NAME_DELETED            (0xc00000c9)
-#define STATUS_NETWORK_ACCESS_DENIED           (0xc00000ca)
-#define STATUS_BAD_DEVICE_TYPE                 (0xc00000cb)
-#define STATUS_BAD_NETWORK_NAME                (0xc00000cc)
-#define STATUS_TOO_MANY_NAMES                  (0xc00000cd)
-#define STATUS_TOO_MANY_SESSIONS               (0xc00000ce)
-#define STATUS_SHARING_PAUSED                  (0xc00000cf)
-#define STATUS_REQUEST_NOT_ACCEPTED            (0xc00000d0)
-#define STATUS_REDIRECTOR_PAUSED               (0xc00000d1)
-#define STATUS_NET_WRITE_FAULT                 (0xc00000d2)
-#define STATUS_PROFILING_AT_LIMIT              (0xc00000d3)
-#define STATUS_NOT_SAME_DEVICE                 (0xc00000d4)
-#define STATUS_FILE_RENAMED                    (0xc00000d5)
-#define STATUS_VIRTUAL_CIRCUIT_CLOSED          (0xc00000d6)
-#define STATUS_NO_SECURITY_ON_OBJECT           (0xc00000d7)
-#define STATUS_CANT_WAIT                       (0xc00000d8)
-#define STATUS_PIPE_EMPTY                      (0xc00000d9)
-#define STATUS_CANT_ACCESS_DOMAIN_INFO         (0xc00000da)
-#define STATUS_CANT_TERMINATE_SELF             (0xc00000db)
-#define STATUS_INVALID_SERVER_STATE            (0xc00000dc)
-#define STATUS_INVALID_DOMAIN_STATE            (0xc00000dd)
-#define STATUS_INVALID_DOMAIN_ROLE             (0xc00000de)
-#define STATUS_NO_SUCH_DOMAIN                  (0xc00000df)
+#define STATUS_INVALID_FILE_FOR_SECTION             (0xc0000020)
+#define STATUS_ALREADY_COMMITTED                    (0xc0000021)
+#define STATUS_ACCESS_DENIED                        (0xc0000022)
+#define STATUS_BUFFER_TOO_SMALL                     (0xc0000023)
+#define STATUS_OBJECT_TYPE_MISMATCH                 (0xc0000024)
+#define STATUS_NONCONTINUABLE_EXCEPTION             (0xc0000025)
+#define STATUS_INVALID_DISPOSITION                  (0xc0000026)
+#define STATUS_UNWIND                               (0xc0000027)
+#define STATUS_BAD_STACK                            (0xc0000028)
+#define STATUS_INVALID_UNWIND_TARGET                (0xc0000029)
+#define STATUS_NOT_LOCKED                           (0xc000002a)
+#define STATUS_PARITY_ERROR                         (0xc000002b)
+#define STATUS_UNABLE_TO_DECOMMIT_VM                (0xc000002c)
+#define STATUS_NOT_COMMITTED                        (0xc000002d)
+#define STATUS_INVALID_PORT_ATTRIBUTES              (0xc000002e)
+#define STATUS_PORT_MESSAGE_TOO_LONG                (0xc000002f)
+#define STATUS_INVALID_PARAMETER_MIX                (0xc0000030)
+#define STATUS_INVALID_QUOTA_LOWER                  (0xc0000031)
+#define STATUS_DISK_CORRUPT_ERROR                   (0xc0000032)
+#define STATUS_OBJECT_NAME_INVALID                  (0xc0000033)
+#define STATUS_OBJECT_NAME_NOT_FOUND                (0xc0000034)
+#define STATUS_OBJECT_NAME_COLLISION                (0xc0000035)
+
+#define STATUS_PORT_DISCONNECTED                    (0xc0000037)
+#define STATUS_DEVICE_ALREADY_ATTACHED              (0xc0000038)
+#define STATUS_OBJECT_PATH_INVALID                  (0xc0000039)
+#define STATUS_OBJECT_PATH_NOT_FOUND                (0xc000003a)
+#define STATUS_PATH_SYNTAX_BAD                      (0xc000003b)
+#define STATUS_DATA_OVERRUN                         (0xc000003c)
+#define STATUS_DATA_LATE_ERROR                      (0xc000003d)
+#define STATUS_DATA_ERROR                           (0xc000003e)
+#define STATUS_CRC_ERROR                            (0xc000003f)
+#define STATUS_SECTION_TOO_BIG                      (0xc0000040)
+#define STATUS_PORT_CONNECTION_REFUSED              (0xc0000041)
+#define STATUS_INVALID_PORT_HANDLE                  (0xc0000042)
+#define STATUS_SHARING_VIOLATION                    (0xc0000043)
+#define STATUS_QUOTA_EXCEEDED                       (0xc0000044)
+#define STATUS_INVALID_PAGE_PROTECTION              (0xc0000045)
+#define STATUS_MUTANT_NOT_OWNED                     (0xc0000046)
+#define STATUS_SEMAPHORE_LIMIT_EXCEEDED             (0xc0000047)
+#define STATUS_PORT_ALREADY_SET                     (0xc0000048)
+#define STATUS_SECTION_NOT_IMAGE                    (0xc0000049)
+#define STATUS_SUSPEND_COUNT_EXCEEDED               (0xc000004a)
+#define STATUS_THREAD_IS_TERMINATING                (0xc000004b)
+#define STATUS_BAD_WORKING_SET_LIMIT                (0xc000004c)
+#define STATUS_INCOMPATIBLE_FILE_MAP                (0xc000004d)
+#define STATUS_SECTION_PROTECTION                   (0xc000004e)
+#define STATUS_EAS_NOT_SUPPORTED                    (0xc000004f)
+#define STATUS_EA_TOO_LARGE                         (0xc0000050)
+#define STATUS_NONEXISTENT_EA_ENTRY                 (0xc0000051)
+#define STATUS_NO_EAS_ON_FILE                       (0xc0000052)
+#define STATUS_EA_CORRUPT_ERROR                     (0xc0000053)
+#define STATUS_FILE_LOCK_CONFLICT                   (0xc0000054)
+#define STATUS_LOCK_NOT_GRANTED                     (0xc0000055)
+#define STATUS_DELETE_PENDING                       (0xc0000056)
+#define STATUS_CTL_FILE_NOT_SUPPORTED               (0xc0000057)
+#define STATUS_UNKNOWN_REVISION                     (0xc0000058)
+#define STATUS_REVISION_MISMATCH                    (0xc0000059)
+#define STATUS_INVALID_OWNER                        (0xc000005a)
+#define STATUS_INVALID_PRIMARY_GROUP                (0xc000005b)
+#define STATUS_NO_IMPERSONATION_TOKEN               (0xc000005c)
+#define STATUS_CANT_DISABLE_MANDATORY               (0xc000005d)
+#define STATUS_NO_LOGON_SERVERS                     (0xc000005e)
+#define STATUS_NO_SUCH_LOGON_SESSION                (0xc000005f)
+#define STATUS_NO_SUCH_PRIVILEGE                    (0xc0000060)
+#define STATUS_PRIVILEGE_NOT_HELD                   (0xc0000061)
+#define STATUS_INVALID_ACCOUNT_NAME                 (0xc0000062)
+#define STATUS_USER_EXISTS                          (0xc0000063)
+#define STATUS_NO_SUCH_USER                         (0xc0000064)
+#define STATUS_GROUP_EXISTS                         (0xc0000065)
+#define STATUS_NO_SUCH_GROUP                        (0xc0000066)
+#define STATUS_MEMBER_IN_GROUP                      (0xc0000067)
+#define STATUS_MEMBER_NOT_IN_GROUP                  (0xc0000068)
+#define STATUS_LAST_ADMIN                           (0xc0000069)
+#define STATUS_WRONG_PASSWORD                       (0xc000006a)
+#define STATUS_ILL_FORMED_PASSWORD                  (0xc000006b)
+#define STATUS_PASSWORD_RESTRICTION                 (0xc000006c)
+#define STATUS_LOGON_FAILURE                        (0xc000006d)
+#define STATUS_ACCOUNT_RESTRICTION                  (0xc000006e)
+#define STATUS_INVALID_LOGON_HOURS                  (0xc000006f)
+#define STATUS_INVALID_WORKSTATION                  (0xc0000070)
+#define STATUS_PASSWORD_EXPIRED                     (0xc0000071)
+#define STATUS_ACCOUNT_DISABLED                     (0xc0000072)
+#define STATUS_NONE_MAPPED                          (0xc0000073)
+#define STATUS_TOO_MANY_LUIDS_REQUESTED             (0xc0000074)
+#define STATUS_LUIDS_EXHAUSTED                      (0xc0000075)
+#define STATUS_INVALID_SUB_AUTHORITY                (0xc0000076)
+#define STATUS_INVALID_ACL                          (0xc0000077)
+#define STATUS_INVALID_SID                          (0xc0000078)
+#define STATUS_INVALID_SECURITY_DESCR               (0xc0000079)
+#define STATUS_PROCEDURE_NOT_FOUND                  (0xc000007a)
+#define STATUS_INVALID_IMAGE_FORMAT                 (0xc000007b)
+#define STATUS_NO_TOKEN                             (0xc000007c)
+#define STATUS_BAD_INHERITANCE_ACL                  (0xc000007d)
+#define STATUS_RANGE_NOT_LOCKED                     (0xc000007e)
+#define STATUS_DISK_FULL                            (0xc000007f)
+#define STATUS_SERVER_DISABLED                      (0xc0000080)
+#define STATUS_SERVER_NOT_DISABLED                  (0xc0000081)
+#define STATUS_TOO_MANY_GUIDS_REQUESTED             (0xc0000082)
+#define STATUS_GUIDS_EXHAUSTED                      (0xc0000083)
+#define STATUS_INVALID_ID_AUTHORITY                 (0xc0000084)
+#define STATUS_AGENTS_EXHAUSTED                     (0xc0000085)
+#define STATUS_INVALID_VOLUME_LABEL                 (0xc0000086)
+#define STATUS_SECTION_NOT_EXTENDED                 (0xc0000087)
+#define STATUS_NOT_MAPPED_DATA                      (0xc0000088)
+#define STATUS_RESOURCE_DATA_NOT_FOUND              (0xc0000089)
+#define STATUS_RESOURCE_TYPE_NOT_FOUND              (0xc000008a)
+#define STATUS_RESOURCE_NAME_NOT_FOUND              (0xc000008b)
+#define STATUS_ARRAY_BOUNDS_EXCEEDED                (0xc000008c)
+#define STATUS_FLOAT_DENORMAL_OPERAND               (0xc000008d)
+#define STATUS_FLOAT_DIVIDE_BY_ZERO                 (0xc000008e)
+#define STATUS_FLOAT_INEXACT_RESULT                 (0xc000008f)
+#define STATUS_FLOAT_INVALID_OPERATION              (0xc0000090)
+#define STATUS_FLOAT_OVERFLOW                       (0xc0000091)
+#define STATUS_FLOAT_STACK_CHECK                    (0xc0000092)
+#define STATUS_FLOAT_UNDERFLOW                      (0xc0000093)
+#define STATUS_INTEGER_DIVIDE_BY_ZERO               (0xc0000094)
+#define STATUS_INTEGER_OVERFLOW                     (0xc0000095)
+#define STATUS_PRIVILEGED_INSTRUCTION               (0xc0000096)
+#define STATUS_TOO_MANY_PAGING_FILES                (0xc0000097)
+#define STATUS_FILE_INVALID                         (0xc0000098)
+#define STATUS_ALLOTTED_SPACE_EXCEEDED              (0xc0000099)
+#define STATUS_INSUFFICIENT_RESOURCES               (0xc000009a)
+#define STATUS_DFS_EXIT_PATH_FOUND                  (0xc000009b)
+#define STATUS_DEVICE_DATA_ERROR                    (0xc000009c)
+#define STATUS_DEVICE_NOT_CONNECTED                 (0xc000009d)
+#define STATUS_DEVICE_POWER_FAILURE                 (0xc000009e)
+#define STATUS_FREE_VM_NOT_AT_BASE                  (0xc000009f)
+#define STATUS_MEMORY_NOT_ALLOCATED                 (0xc00000a0)
+#define STATUS_WORKING_SET_QUOTA                    (0xc00000a1)
+#define STATUS_MEDIA_WRITE_PROTECTED                (0xc00000a2)
+#define STATUS_DEVICE_NOT_READY                     (0xc00000a3)
+#define STATUS_INVALID_GROUP_ATTRIBUTES             (0xc00000a4)
+#define STATUS_BAD_IMPERSONATION_LEVEL              (0xc00000a5)
+#define STATUS_CANT_OPEN_ANONYMOUS                  (0xc00000a6)
+#define STATUS_BAD_VALIDATION_CLASS                 (0xc00000a7)
+#define STATUS_BAD_TOKEN_TYPE                       (0xc00000a8)
+#define STATUS_BAD_MASTER_BOOT_RECORD               (0xc00000a9)
+#define STATUS_INSTRUCTION_MISALIGNMENT             (0xc00000aa)
+#define STATUS_INSTANCE_NOT_AVAILABLE               (0xc00000ab)
+#define STATUS_PIPE_NOT_AVAILABLE                   (0xc00000ac)
+#define STATUS_INVALID_PIPE_STATE                   (0xc00000ad)
+#define STATUS_PIPE_BUSY                            (0xc00000ae)
+#define STATUS_ILLEGAL_FUNCTION                     (0xc00000af)
+#define STATUS_PIPE_DISCONNECTED                    (0xc00000b0)
+#define STATUS_PIPE_CLOSING                         (0xc00000b1)
+#define STATUS_PIPE_CONNECTED                       (0xc00000b2)
+#define STATUS_PIPE_LISTENING                       (0xc00000b3)
+#define STATUS_INVALID_READ_MODE                    (0xc00000b4)
+#define STATUS_IO_TIMEOUT                           (0xc00000b5)
+#define STATUS_FILE_FORCED_CLOSED                   (0xc00000b6)
+#define STATUS_PROFILING_NOT_STARTED                (0xc00000b7)
+#define STATUS_PROFILING_NOT_STOPPED                (0xc00000b8)
+#define STATUS_COULD_NOT_INTERPRET                  (0xc00000b9)
+#define STATUS_FILE_IS_A_DIRECTORY                  (0xc00000ba)
+#define STATUS_NOT_SUPPORTED                        (0xc00000bb)
+#define STATUS_REMOTE_NOT_LISTENING                 (0xc00000bc)
+#define STATUS_DUPLICATE_NAME                       (0xc00000bd)
+#define STATUS_BAD_NETWORK_PATH                     (0xc00000be)
+#define STATUS_NETWORK_BUSY                         (0xc00000bf)
+#define STATUS_DEVICE_DOES_NOT_EXIST                (0xc00000c0)
+#define STATUS_TOO_MANY_COMMANDS                    (0xc00000c1)
+#define STATUS_ADAPTER_HARDWARE_ERROR               (0xc00000c2)
+#define STATUS_INVALID_NETWORK_RESPONSE             (0xc00000c3)
+#define STATUS_UNEXPECTED_NETWORK_ERROR             (0xc00000c4)
+#define STATUS_BAD_REMOTE_ADAPTER                   (0xc00000c5)
+#define STATUS_PRINT_QUEUE_FULL                     (0xc00000c6)
+#define STATUS_NO_SPOOL_SPACE                       (0xc00000c7)
+#define STATUS_PRINT_CANCELLED                      (0xc00000c8)
+#define STATUS_NETWORK_NAME_DELETED                 (0xc00000c9)
+#define STATUS_NETWORK_ACCESS_DENIED                (0xc00000ca)
+#define STATUS_BAD_DEVICE_TYPE                      (0xc00000cb)
+#define STATUS_BAD_NETWORK_NAME                     (0xc00000cc)
+#define STATUS_TOO_MANY_NAMES                       (0xc00000cd)
+#define STATUS_TOO_MANY_SESSIONS                    (0xc00000ce)
+#define STATUS_SHARING_PAUSED                       (0xc00000cf)
+#define STATUS_REQUEST_NOT_ACCEPTED                 (0xc00000d0)
+#define STATUS_REDIRECTOR_PAUSED                    (0xc00000d1)
+#define STATUS_NET_WRITE_FAULT                      (0xc00000d2)
+#define STATUS_PROFILING_AT_LIMIT                   (0xc00000d3)
+#define STATUS_NOT_SAME_DEVICE                      (0xc00000d4)
+#define STATUS_FILE_RENAMED                         (0xc00000d5)
+#define STATUS_VIRTUAL_CIRCUIT_CLOSED               (0xc00000d6)
+#define STATUS_NO_SECURITY_ON_OBJECT                (0xc00000d7)
+#define STATUS_CANT_WAIT                            (0xc00000d8)
+#define STATUS_PIPE_EMPTY                           (0xc00000d9)
+#define STATUS_CANT_ACCESS_DOMAIN_INFO              (0xc00000da)
+#define STATUS_CANT_TERMINATE_SELF                  (0xc00000db)
+#define STATUS_INVALID_SERVER_STATE                 (0xc00000dc)
+#define STATUS_INVALID_DOMAIN_STATE                 (0xc00000dd)
+#define STATUS_INVALID_DOMAIN_ROLE                  (0xc00000de)
+#define STATUS_NO_SUCH_DOMAIN                       (0xc00000df)
 #define STATUS_DOMAIN_EXISTS                        (0xc00000e0)
 #define STATUS_DOMAIN_LIMIT_EXCEEDED                (0xc00000e1)
 #define STATUS_OPLOCK_NOT_GRANTED                   (0xc00000e2)
 #define STATUS_ALLOCATE_BUCKET                      (0xc000022f)
 #define STATUS_PROPSET_NOT_FOUND                    (0xc0000230)
 #define STATUS_MARSHALL_OVERFLOW                    (0xc0000231)
-
 #define STATUS_INVALID_VARIANT                      (0xc0000232)
 #define STATUS_DOMAIN_CONTROLLER_NOT_FOUND          (0xc0000233)
 #define STATUS_ACCOUNT_LOCKED_OUT                   (0xc0000234)
 #define STATUS_IO_REPARSE_TAG_NOT_HANDLED           (0xc0000279)
 
 
-#define STATUS_SAM_INIT_FAILURE                     (0xc00002cb)
-
-
+#define STATUS_SAM_INIT_FAILURE                     (0xC00002CB)
+
+
+#define RPC_NT_INVALID_STRING_BINDING               (0xC0020001)
+#define RPC_NT_WRONG_KIND_OF_BINDING                (0xC0020002)
+#define RPC_NT_INVALID_BINDING                      (0xC0020003)
+#define RPC_NT_PROTSEQ_NOT_SUPPORTED                (0xC0020004)
+#define RPC_NT_INVALID_RPC_PROTSEQ                  (0xC0020005)
+#define RPC_NT_INVALID_STRING_UUID                  (0xC0020006)
+#define RPC_NT_INVALID_ENDPOINT_FORMAT              (0xC0020007)
+#define RPC_NT_INVALID_NET_ADDR                     (0xC0020008)
+#define RPC_NT_NO_ENDPOINT_FOUND                    (0xC0020009)
+#define RPC_NT_INVALID_TIMEOUT                      (0xC002000A)
+#define RPC_NT_OBJECT_NOT_FOUND                     (0xC002000B)
+#define RPC_NT_ALREADY_REGISTERED                   (0xC002000C)
+#define RPC_NT_TYPE_ALREADY_REGISTERED              (0xC002000D)
+#define RPC_NT_ALREADY_LISTENING                    (0xC002000E)
+#define RPC_NT_NO_PROTSEQS_REGISTERED               (0xC002000F)
+#define RPC_NT_NOT_LISTENING                        (0xC0020010)
+#define RPC_NT_UNKNOWN_MGR_TYPE                     (0xC0020011)
+#define RPC_NT_UNKNOWN_IF                           (0xC0020012)
+#define RPC_NT_NO_BINDINGS                          (0xC0020013)
+#define RPC_NT_NO_PROTSEQS                          (0xC0020014)
+#define RPC_NT_CANT_CREATE_ENDPOINT                 (0xC0020015)
+#define RPC_NT_OUT_OF_RESOURCES                     (0xC0020016)
+#define RPC_NT_SERVER_UNAVAILABLE                   (0xC0020017)
+#define RPC_NT_SERVER_TOO_BUSY                      (0xC0020018)
+#define RPC_NT_INVALID_NETWORK_OPTIONS              (0xC0020019)
+#define RPC_NT_NO_CALL_ACTIVE                       (0xC002001A)
+#define RPC_NT_CALL_FAILED                          (0xC002001B)
+#define RPC_NT_CALL_FAILED_DNE                      (0xC002001C)
+#define RPC_NT_PROTOCOL_ERROR                       (0xC002001D)
+
+
+#define RPC_NT_SS_IN_NULL_CONTEXT                   (0xC0030004)
+
+
+/* FIXME: Are these official values ?? */
 #define STATUS_FS_QUERY_REQUIRED                    (0xC1000001)
 #define STATUS_HANDLE_NOT_WAITABLE                  (0xC1000002)
 #define STATUS_OBJECT_FILE_MISMATCH                 (0xC1000003)
 #define STATUS_NO_MEDIA_IN_DRIVE                    (0xC1000006)
 
 
-enum
-{
- RPC_NT_INVALID_STRING_BINDING=0xC0020001,
- RPC_NT_WRONG_KIND_OF_BINDING,
- RPC_NT_INVALID_BINDING,
- RPC_NT_PROTSEQ_NOT_SUPPORTED,
- RPC_NT_INVALID_RPC_PROTSEQ,
- RPC_NT_INVALID_STRING_UUID,
- RPC_NT_INVALID_ENDPOINT_FORMAT,
- RPC_NT_INVALID_NET_ADDR,
- RPC_NT_NO_ENDPOINT_FOUND,
- RPC_NT_INVALID_TIMEOUT,
- RPC_NT_OBJECT_NOT_FOUND,
- RPC_NT_ALREADY_REGISTERED,
- RPC_NT_TYPE_ALREADY_REGISTERED,
- RPC_NT_ALREADY_LISTENING,
- RPC_NT_NO_PROTSEQS_REGISTERED,
- RPC_NT_NOT_LISTENING,
- RPC_NT_UNKNOWN_MGR_TYPE,
- RPC_NT_UNKNOWN_IF,
- RPC_NT_NO_BINDINGS,
- RPC_NT_NO_PROTSEQS,
- RPC_NT_CANT_CREATE_ENDPOINT,
- RPC_NT_OUT_OF_RESOURCES,
- RPC_NT_SERVER_UNAVAILABLE,
- RPC_NT_SERVER_TOO_BUSY,
- RPC_NT_INVALID_NETWORK_OPTIONS,
- RPC_NT_NO_CALL_ACTIVE,
- RPC_NT_CALL_FAILED,
- RPC_NT_CALL_FAILED_DNE,
- RPC_NT_PROTOCOL_ERROR,
-
-
- RPC_NT_SS_IN_NULL_CONTEXT=0xC0030004,
-
-};
-
 #endif /* __INCLUDE_DDK_STATUS_H */
 
 
index 9fd199d..62e4016 100644 (file)
@@ -327,6 +327,7 @@ extern "C" {
 #define ERROR_MAPPED_ALIGNMENT           1132L
 #define ERROR_SET_POWER_STATE_VETOED     1140L
 #define ERROR_SET_POWER_STATE_FAILED     1141L
+#define ERROR_TOO_MANY_LINKS             1142L
 #define ERROR_OLD_WIN_VERSION            1150L
 #define ERROR_APP_WRONG_OS               1151L
 #define ERROR_SINGLE_INSTANCE_APP        1152L
@@ -335,11 +336,6 @@ extern "C" {
 #define ERROR_NO_ASSOCIATION             1155L
 #define ERROR_DDE_FAIL                   1156L
 #define ERROR_DLL_NOT_FOUND              1157L
-#define ERROR_BAD_USERNAME               2202L
-#define ERROR_NOT_CONNECTED              2250L
-#define ERROR_OPEN_FILES                 2401L
-#define ERROR_ACTIVE_CONNECTIONS         2402L
-#define ERROR_DEVICE_IN_USE              2404L
 #define ERROR_BAD_DEVICE                 1200L
 #define ERROR_CONNECTION_UNAVAIL         1201L
 #define ERROR_DEVICE_ALREADY_REMEMBERED  1202L
@@ -671,6 +667,9 @@ extern "C" {
 #define RPC_X_INVALID_ES_ACTION          1827L
 #define RPC_X_WRONG_ES_VERSION           1828L
 #define RPC_X_WRONG_STUB_VERSION         1829L
+#define RPC_X_INVALID_PIPE_OBJECT        1830L
+#define RPC_X_WRONG_PIPE_ORDER           1831L
+#define RPC_X_WRONG_PIPE_VERSION         1832L
 #define RPC_S_GROUP_MEMBER_NOT_FOUND     1898L
 #define EPT_S_CANT_CREATE                1899L
 #define RPC_S_INVALID_OBJECT             1900L
@@ -683,13 +682,21 @@ extern "C" {
 #define ERROR_PASSWORD_MUST_CHANGE       1907L
 #define ERROR_DOMAIN_CONTROLLER_NOT_FOUND 1908L
 #define ERROR_ACCOUNT_LOCKED_OUT         1909L
-#define ERROR_NO_BROWSER_SERVERS_FOUND   6118L
+#define OR_INVALID_OXID                  1910L
+#define OR_INVALID_OID                   1911L
+#define OR_INVALID_SET                   1912L
+#define RPC_S_SEND_INCOMPLETE            1913L
 #define ERROR_INVALID_PIXEL_FORMAT       2000L
 #define ERROR_BAD_DRIVER                 2001L
 #define ERROR_INVALID_WINDOW_STYLE       2002L
 #define ERROR_METAFILE_NOT_SUPPORTED     2003L
 #define ERROR_TRANSFORM_NOT_SUPPORTED    2004L
 #define ERROR_CLIPPING_NOT_SUPPORTED     2005L
+#define ERROR_BAD_USERNAME               2202L
+#define ERROR_NOT_CONNECTED              2250L
+#define ERROR_OPEN_FILES                 2401L
+#define ERROR_ACTIVE_CONNECTIONS         2402L
+#define ERROR_DEVICE_IN_USE              2404L
 #define ERROR_UNKNOWN_PRINT_MONITOR      3000L
 #define ERROR_PRINTER_DRIVER_IN_USE      3001L
 #define ERROR_SPOOL_FILE_NOT_FOUND       3002L
index c547667..3022551 100644 (file)
@@ -191,7 +191,7 @@ typedef struct _NT_TEB
    PVOID glTable;                      // BE8h
    PVOID glCurrentRC;                  // BECh
    PVOID glContext;                    // BF0h
-   ULONG LastStatusValue;              // BF4h
+   NTSTATUS LastStatusValue;           // BF4h
    UNICODE_STRING StaticUnicodeString; // BF8h
    WCHAR StaticUnicodeBuffer[0x105];   // C00h
    PVOID DeallocationStack;            // E0Ch
@@ -208,8 +208,8 @@ typedef struct _NT_TEB
    ULONG Spare3;                       // F78h
    ULONG Spare4;                       // F7Ch
    PVOID ReservedForOle;               // F80h
-   ULONG WaitingOnLoaderLock;          // F84h   
-   
+   ULONG WaitingOnLoaderLock;          // F84h
+
    PVOID StackCommit;                  // F88h
    PVOID StackCommitMax;               // F8Ch
    PVOID StackReserved;                // F90h
index 5b790da..1c52a6d 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: error.c,v 1.6 2000/06/29 23:35:29 dwelch Exp $
+/* $Id: error.c,v 1.7 2000/07/04 01:26:35 ekohl Exp $
  *
  * COPYRIGHT:         See COPYING in the top level directory
  * PROJECT:           ReactOS kernel
  *     1999-12-18: STDCALL RtlNtStatusToDosError
  */
 
+/*
+ * Partially taken from WINE, original copyright:
+ * 
+ * Copyright 2000 Alexandre Julliard
+ */
+
+
 /* INCLUDES *****************************************************************/
 
 #include <ddk/ntddk.h>
 #define NDEBUG
 #include <ntdll/ntdll.h>
 
+/* TYPES *******************************************************************/
+
+typedef struct _ERROR_TABLE
+{
+    ULONG       Start;
+    ULONG       End;
+    const WORD *Table;
+} ERROR_TABLE, *PERROR_TABLE;
+
+
+/* FUNCTIONS ***************************************************************/
+
+static const WORD table_00000103[11] =
+{
+   ERROR_IO_PENDING,                       /* 00000103 (STATUS_PENDING) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 00000104 (STATUS_REPARSE) */
+   ERROR_MORE_DATA,                        /* 00000105 (STATUS_MORE_ENTRIES) */
+   ERROR_NOT_ALL_ASSIGNED,                 /* 00000106 (STATUS_NOT_ALL_ASSIGNED) */
+   ERROR_SOME_NOT_MAPPED,                  /* 00000107 (STATUS_SOME_NOT_MAPPED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 00000108 (STATUS_OPLOCK_BREAK_IN_PROCESS) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 00000109 (STATUS_VOLUME_MOUNTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 0000010a (STATUS_RXACT_COMMITTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 0000010b (STATUS_NOTIFY_CLEANUP) */
+   ERROR_NOTIFY_ENUM_DIR,                  /* 0000010c (STATUS_NOTIFY_ENUM_DIR) */
+   ERROR_NO_QUOTAS_FOR_ACCOUNT             /* 0000010d (STATUS_NO_QUOTAS_FOR_ACCOUNT) */
+//                                         /* 0000010e (STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED) */
+};
+
+static const WORD table_40000002[12] =
+{
+   ERROR_INVALID_PARAMETER,                /* 40000002 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 40000003 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 40000004 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 40000005 */
+   ERROR_LOCAL_USER_SESSION_KEY,           /* 40000006 (STATUS_LOCAL_USER_SESSION_KEY) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 40000007 */
+   ERROR_MORE_WRITES,                      /* 40000008 (STATUS_SERIAL_MORE_WRITES) */
+   ERROR_REGISTRY_RECOVERED,               /* 40000009 (STATUS_REGISTRY_RECOVERED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 4000000a */
+   ERROR_MR_MID_NOT_FOUND,                 /* 4000000b */
+   ERROR_COUNTER_TIMEOUT,                  /* 4000000c (STATUS_SERIAL_COUNTER_TIMEOUT) */
+   ERROR_NULL_LM_PASSWORD                  /* 4000000d (STATUS_NULL_LM_PASSWORD) */
+};
+
+static const WORD table_40020056[1] =
+{
+   RPC_S_UUID_LOCAL_ONLY                   /* 40020056 */
+};
+
+static const WORD table_400200af[1] =
+{
+   RPC_S_SEND_INCOMPLETE                   /* 400200af */
+};
+
+static const WORD table_80000001[38] =
+{
+   0,                                      /* 80000001 (STATUS_GUARD_PAGE_VIOLATION) */
+   ERROR_NOACCESS,                         /* 80000002 (STATUS_DATATYPE_MISALIGNMENT) */
+   0,                                      /* 80000003 (STATUS_BREAKPOINT) */
+   0,                                      /* 80000004 (STATUS_SINGLE_STEP) */
+   ERROR_MORE_DATA,                        /* 80000005 (STATUS_BUFFER_OVERFLOW) */
+   ERROR_NO_MORE_FILES,                    /* 80000006 (STATUS_NO_MORE_FILES) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000007 (STATUS_WAKE_SYSTEM_DEBUGGER) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000008 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000009 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 8000000a (STATUS_HANDLES_CLOSED) */
+   ERROR_NO_INHERITANCE,                   /* 8000000b (STATUS_NO_INHERITANCE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 8000000c (STATUS_GUID_SUBSTITUTION_MADE) */
+   ERROR_PARTIAL_COPY,                     /* 8000000d (STATUS_PARTIAL_COPY) */
+   ERROR_OUT_OF_PAPER,                     /* 8000000e (STATUS_DEVICE_PAPER_EMPTY) */
+   ERROR_NOT_READY,                        /* 8000000f (STATUS_DEVICE_POWERED_OFF) */
+   ERROR_NOT_READY,                        /* 80000010 (STATUS_DEVICE_OFF_LINE) */
+   ERROR_BUSY,                             /* 80000011 (STATUS_DEVICE_BUSY) */
+   ERROR_NO_MORE_ITEMS,                    /* 80000012 (STATUS_NO_MORE_EAS) */
+   ERROR_INVALID_EA_NAME,                  /* 80000013 (STATUS_INVALID_EA_NAME) */
+   ERROR_EA_LIST_INCONSISTENT,             /* 80000014 (STATUS_EA_LIST_INCONSISTENT) */
+   ERROR_EA_LIST_INCONSISTENT,             /* 80000015 (STATUS_INVALID_EA_FLAG) */
+   ERROR_MEDIA_CHANGED,                    /* 80000016 (STATUS_VERIFY_REQUIRED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000017 (STATUS_EXTRANEOUS_INFORMATION) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000018 (STATUS_RXACT_COMMIT_NECESSARY) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000019 */
+   ERROR_NO_MORE_ITEMS,                    /* 8000001a (STATUS_NO_MORE_ENTRIES) */
+   ERROR_FILEMARK_DETECTED,                /* 8000001b (STATUS_FILEMARK_DETECTED) */
+   ERROR_MEDIA_CHANGED,                    /* 8000001c (STATUS_MEDIA_CHANGED) */
+   ERROR_BUS_RESET,                        /* 8000001d (STATUS_BUS_RESET) */
+   ERROR_END_OF_MEDIA,                     /* 8000001e (STATUS_END_OF_MEDIA) */
+   ERROR_BEGINNING_OF_MEDIA,               /* 8000001f (STATUS_BEGINNING_OF_MEDIA) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000020 (STATUS_MEDIA_CHECK) */
+   ERROR_SETMARK_DETECTED,                 /* 80000021 (STATUS_SETMARK_DETECTED) */
+   ERROR_NO_DATA_DETECTED,                 /* 80000022 (STATUS_NO_DATA_DETECTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000023 (STATUS_REDIRECTOR_HAS_OPEN_HANDLES) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000024 (STATUS_SERVER_HAS_OPEN_HANDLES) */
+   ERROR_ACTIVE_CONNECTIONS,               /* 80000025 (STATUS_ALREADY_DISCONNECTED) */
+   ERROR_MR_MID_NOT_FOUND                  /* 80000026 (STATUS_LONGJUMP) */
+};
+
+static const WORD table_80090300[23] =
+{
+   ERROR_NO_SYSTEM_RESOURCES,              /* 80090300 */
+   ERROR_INVALID_HANDLE,                   /* 80090301 */
+   ERROR_INVALID_FUNCTION,                 /* 80090302 */
+   ERROR_BAD_NETPATH,                      /* 80090303 */
+   ERROR_INTERNAL_ERROR,                   /* 80090304 */
+   ERROR_NO_SUCH_PACKAGE,                  /* 80090305 */
+   ERROR_NOT_OWNER,                        /* 80090306 */
+   ERROR_NO_SUCH_PACKAGE,                  /* 80090307 */
+   ERROR_INVALID_PARAMETER,                /* 80090308 */
+   ERROR_INVALID_PARAMETER,                /* 80090309 */
+   ERROR_NOT_SUPPORTED,                    /* 8009030a */
+   ERROR_CANNOT_IMPERSONATE,               /* 8009030b */
+   ERROR_LOGON_FAILURE,                    /* 8009030c */
+   ERROR_INVALID_PARAMETER,                /* 8009030d */
+   ERROR_NO_SUCH_LOGON_SESSION,            /* 8009030e */
+   ERROR_ACCESS_DENIED,                    /* 8009030f */
+   ERROR_ACCESS_DENIED,                    /* 80090310 */
+   ERROR_NO_LOGON_SERVERS,                 /* 80090311 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80090312 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80090313 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80090314 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80090315 */
+   ERROR_NO_SUCH_PACKAGE                   /* 80090316 */
+};
+
+static const WORD table_c0000001[411] =
+{
+   ERROR_GEN_FAILURE,                      /* c0000001 (STATUS_UNSUCCESSFUL) */
+   ERROR_INVALID_FUNCTION,                 /* c0000002 (STATUS_NOT_IMPLEMENTED) */
+   ERROR_INVALID_PARAMETER,                /* c0000003 (STATUS_INVALID_INFO_CLASS) */
+   ERROR_BAD_LENGTH,                       /* c0000004 (STATUS_INFO_LENGTH_MISMATCH) */
+   ERROR_NOACCESS,                         /* c0000005 (STATUS_ACCESS_VIOLATION) */
+   ERROR_SWAPERROR,                        /* c0000006 (STATUS_IN_PAGE_ERROR) */
+   ERROR_PAGEFILE_QUOTA,                   /* c0000007 (STATUS_PAGEFILE_QUOTA) */
+   ERROR_INVALID_HANDLE,                   /* c0000008 (STATUS_INVALID_HANDLE) */
+   ERROR_STACK_OVERFLOW,                   /* c0000009 (STATUS_BAD_INITIAL_STACK) */
+   ERROR_BAD_EXE_FORMAT,                   /* c000000a (STATUS_BAD_INITIAL_PC) */
+   ERROR_INVALID_PARAMETER,                /* c000000b (STATUS_INVALID_CID) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000000c (STATUS_TIMER_NOT_CANCELED) */
+   ERROR_INVALID_PARAMETER,                /* c000000d (STATUS_INVALID_PARAMETER) */
+   ERROR_FILE_NOT_FOUND,                   /* c000000e (STATUS_NO_SUCH_DEVICE) */
+   ERROR_FILE_NOT_FOUND,                   /* c000000f (STATUS_NO_SUCH_FILE) */
+   ERROR_INVALID_FUNCTION,                 /* c0000010 (STATUS_INVALID_DEVICE_REQUEST) */
+   ERROR_HANDLE_EOF,                       /* c0000011 (STATUS_END_OF_FILE) */
+   ERROR_WRONG_DISK,                       /* c0000012 (STATUS_WRONG_VOLUME) */
+   ERROR_NOT_READY,                        /* c0000013 (STATUS_NO_MEDIA_IN_DEVICE) */
+   ERROR_UNRECOGNIZED_MEDIA,               /* c0000014 (STATUS_UNRECOGNIZED_MEDIA) */
+   ERROR_SECTOR_NOT_FOUND,                 /* c0000015 (STATUS_NONEXISTENT_SECTOR) */
+   ERROR_MORE_DATA,                        /* c0000016 (STATUS_MORE_PROCESSING_REQUIRED) */
+   ERROR_NOT_ENOUGH_MEMORY,                /* c0000017 (STATUS_NO_MEMORY) */
+   ERROR_INVALID_ADDRESS,                  /* c0000018 (STATUS_CONFLICTING_ADDRESSES) */
+   ERROR_INVALID_ADDRESS,                  /* c0000019 (STATUS_NOT_MAPPED_VIEW) */
+   ERROR_INVALID_PARAMETER,                /* c000001a (STATUS_UNABLE_TO_FREE_VM) */
+   ERROR_INVALID_PARAMETER,                /* c000001b (STATUS_UNABLE_TO_DELETE_SECTION) */
+   ERROR_INVALID_FUNCTION,                 /* c000001c (STATUS_INVALID_SYSTEM_SERVICE) */
+   0,                                      /* c000001d (STATUS_ILLEGAL_INSTRUCTION) */
+   ERROR_ACCESS_DENIED,                    /* c000001e (STATUS_INVALID_LOCK_SEQUENCE) */
+   ERROR_ACCESS_DENIED,                    /* c000001f (STATUS_INVALID_VIEW_SIZE) */
+   ERROR_BAD_EXE_FORMAT,                   /* c0000020 (STATUS_INVALID_FILE_FOR_SECTION) */
+   ERROR_ACCESS_DENIED,                    /* c0000021 (STATUS_ALREADY_COMMITTED) */
+   ERROR_ACCESS_DENIED,                    /* c0000022 (STATUS_ACCESS_DENIED) */
+   ERROR_INSUFFICIENT_BUFFER,              /* c0000023 (STATUS_BUFFER_TOO_SMALL) */
+   ERROR_INVALID_HANDLE,                   /* c0000024 (STATUS_OBJECT_TYPE_MISMATCH) */
+   0,                                      /* c0000025 (STATUS_NONCONTINUABLE_EXCEPTION) */
+   0,                                      /* c0000026 (STATUS_INVALID_DISPOSITION) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000027 (STATUS_UNWIND) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000028 (STATUS_BAD_STACK) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000029 (STATUS_INVALID_UNWIND_TARGET) */
+   ERROR_NOT_LOCKED,                       /* c000002a (STATUS_NOT_LOCKED) */
+   0,                                      /* c000002b (STATUS_PARITY_ERROR) */
+   ERROR_INVALID_ADDRESS,                  /* c000002c (STATUS_UNABLE_TO_DECOMMIT_VM) */
+   ERROR_INVALID_ADDRESS,                  /* c000002d (STATUS_NOT_COMMITTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000002e (STATUS_INVALID_PORT_ATTRIBUTES) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000002f (STATUS_PORT_MESSAGE_TOO_LONG) */
+   ERROR_INVALID_PARAMETER,                /* c0000030 (STATUS_INVALID_PARAMETER_MIX) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000031 (STATUS_INVALID_QUOTA_LOWER) */
+   ERROR_DISK_CORRUPT,                     /* c0000032 (STATUS_DISK_CORRUPT_ERROR) */
+   ERROR_INVALID_NAME,                     /* c0000033 (STATUS_OBJECT_NAME_INVALID) */
+   ERROR_FILE_NOT_FOUND,                   /* c0000034 (STATUS_OBJECT_NAME_NOT_FOUND) */
+   ERROR_ALREADY_EXISTS,                   /* c0000035 (STATUS_OBJECT_NAME_COLLISION) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000036 */
+   ERROR_INVALID_HANDLE,                   /* c0000037 (STATUS_PORT_DISCONNECTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000038 (STATUS_DEVICE_ALREADY_ATTACHED) */
+   ERROR_BAD_PATHNAME,                     /* c0000039 (STATUS_OBJECT_PATH_INVALID) */
+   ERROR_PATH_NOT_FOUND,                   /* c000003a (STATUS_OBJECT_PATH_NOT_FOUND) */
+   ERROR_BAD_PATHNAME,                     /* c000003b (STATUS_PATH_SYNTAX_BAD) */
+   ERROR_IO_DEVICE,                        /* c000003c (STATUS_DATA_OVERRUN) */
+   ERROR_IO_DEVICE,                        /* c000003d (STATUS_DATA_LATE_ERROR) */
+   ERROR_CRC,                              /* c000003e (STATUS_DATA_ERROR) */
+   ERROR_CRC,                              /* c000003f (STATUS_CRC_ERROR) */
+   ERROR_NOT_ENOUGH_MEMORY,                /* c0000040 (STATUS_SECTION_TOO_BIG) */
+   ERROR_ACCESS_DENIED,                    /* c0000041 (STATUS_PORT_CONNECTION_REFUSED) */
+   ERROR_INVALID_HANDLE,                   /* c0000042 (STATUS_INVALID_PORT_HANDLE) */
+   ERROR_SHARING_VIOLATION,                /* c0000043 (STATUS_SHARING_VIOLATION) */
+   ERROR_NOT_ENOUGH_QUOTA,                 /* c0000044 (STATUS_QUOTA_EXCEEDED) */
+   ERROR_INVALID_PARAMETER,                /* c0000045 (STATUS_INVALID_PAGE_PROTECTION) */
+   ERROR_NOT_OWNER,                        /* c0000046 (STATUS_MUTANT_NOT_OWNED) */
+   ERROR_TOO_MANY_POSTS,                   /* c0000047 (STATUS_SEMAPHORE_LIMIT_EXCEEDED) */
+   ERROR_INVALID_PARAMETER,                /* c0000048 (STATUS_PORT_ALREADY_SET) */
+   ERROR_INVALID_PARAMETER,                /* c0000049 (STATUS_SECTION_NOT_IMAGE) */
+   ERROR_SIGNAL_REFUSED,                   /* c000004a (STATUS_SUSPEND_COUNT_EXCEEDED) */
+   ERROR_ACCESS_DENIED,                    /* c000004b (STATUS_THREAD_IS_TERMINATING) */
+   ERROR_INVALID_PARAMETER,                /* c000004c (STATUS_BAD_WORKING_SET_LIMIT) */
+   ERROR_INVALID_PARAMETER,                /* c000004d (STATUS_INCOMPATIBLE_FILE_MAP) */
+   ERROR_INVALID_PARAMETER,                /* c000004e (STATUS_SECTION_PROTECTION) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000004f (STATUS_EAS_NOT_SUPPORTED) */
+   ERROR_EA_LIST_INCONSISTENT,             /* c0000050 (STATUS_EA_TOO_LARGE) */
+   ERROR_FILE_CORRUPT,                     /* c0000051 (STATUS_NONEXISTENT_EA_ENTRY) */
+   ERROR_FILE_CORRUPT,                     /* c0000052 (STATUS_NO_EAS_ON_FILE) */
+   ERROR_FILE_CORRUPT,                     /* c0000053 (STATUS_EA_CORRUPT_ERROR) */
+   ERROR_LOCK_VIOLATION,                   /* c0000054 (STATUS_LOCK_NOT_GRANTED) */
+   ERROR_LOCK_VIOLATION,                   /* c0000055 (STATUS_FILE_LOCK_CONFLICT) */
+   ERROR_ACCESS_DENIED,                    /* c0000056 (STATUS_DELETE_PENDING) */
+   ERROR_NOT_SUPPORTED,                    /* c0000057 (STATUS_CTL_FILE_NOT_SUPPORTED) */
+   ERROR_UNKNOWN_REVISION,                 /* c0000058 (STATUS_UNKNOWN_REVISION) */
+   ERROR_REVISION_MISMATCH,                /* c0000059 (STATUS_REVISION_MISMATCH) */
+   ERROR_INVALID_OWNER,                    /* c000005a (STATUS_INVALID_OWNER) */
+   ERROR_INVALID_PRIMARY_GROUP,            /* c000005b (STATUS_INVALID_PRIMARY_GROUP) */
+   ERROR_NO_IMPERSONATION_TOKEN,           /* c000005c (STATUS_NO_IMPERSONATION_TOKEN) */
+   ERROR_CANT_DISABLE_MANDATORY,           /* c000005d (STATUS_CANT_DISABLE_MANDATORY) */
+   ERROR_NO_LOGON_SERVERS,                 /* c000005e (STATUS_NO_LOGON_SERVERS) */
+   ERROR_NO_SUCH_LOGON_SESSION,            /* c000005f (STATUS_NO_SUCH_LOGON_SESSION) */
+   ERROR_NO_SUCH_PRIVILEGE,                /* c0000060 (STATUS_NO_SUCH_PRIVILEGE) */
+   ERROR_PRIVILEGE_NOT_HELD,               /* c0000061 (STATUS_PRIVILEGE_NOT_HELD) */
+   ERROR_INVALID_ACCOUNT_NAME,             /* c0000062 (STATUS_INVALID_ACCOUNT_NAME) */
+   ERROR_USER_EXISTS,                      /* c0000063 (STATUS_USER_EXISTS) */
+   ERROR_NO_SUCH_USER,                     /* c0000064 (STATUS_NO_SUCH_USER) */
+   ERROR_GROUP_EXISTS,                     /* c0000065 (STATUS_GROUP_EXISTS) */
+   ERROR_NO_SUCH_GROUP,                    /* c0000066 (STATUS_NO_SUCH_GROUP) */
+   ERROR_MEMBER_IN_GROUP,                  /* c0000067 (STATUS_MEMBER_IN_GROUP) */
+   ERROR_MEMBER_NOT_IN_GROUP,              /* c0000068 (STATUS_MEMBER_NOT_IN_GROUP) */
+   ERROR_LAST_ADMIN,                       /* c0000069 (STATUS_LAST_ADMIN) */
+   ERROR_INVALID_PASSWORD,                 /* c000006a (STATUS_WRONG_PASSWORD) */
+   ERROR_ILL_FORMED_PASSWORD,              /* c000006b (STATUS_ILL_FORMED_PASSWORD) */
+   ERROR_PASSWORD_RESTRICTION,             /* c000006c (STATUS_PASSWORD_RESTRICTION) */
+   ERROR_LOGON_FAILURE,                    /* c000006d (STATUS_LOGON_FAILURE) */
+   ERROR_ACCOUNT_RESTRICTION,              /* c000006e (STATUS_ACCOUNT_RESTRICTION) */
+   ERROR_INVALID_LOGON_HOURS,              /* c000006f (STATUS_INVALID_LOGON_HOURS) */
+   ERROR_INVALID_WORKSTATION,              /* c0000070 (STATUS_INVALID_WORKSTATION) */
+   ERROR_PASSWORD_EXPIRED,                 /* c0000071 (STATUS_PASSWORD_EXPIRED) */
+   ERROR_ACCOUNT_DISABLED,                 /* c0000072 (STATUS_ACCOUNT_DISABLED) */
+   ERROR_NONE_MAPPED,                      /* c0000073 (STATUS_NONE_MAPPED) */
+   ERROR_TOO_MANY_LUIDS_REQUESTED,         /* c0000074 (STATUS_TOO_MANY_LUIDS_REQUESTED) */
+   ERROR_LUIDS_EXHAUSTED,                  /* c0000075 (STATUS_LUIDS_EXHAUSTED) */
+   ERROR_INVALID_SUB_AUTHORITY,            /* c0000076 (STATUS_INVALID_SUB_AUTHORITY) */
+   ERROR_INVALID_ACL,                      /* c0000077 (STATUS_INVALID_ACL) */
+   ERROR_INVALID_SID,                      /* c0000078 (STATUS_INVALID_SID) */
+   ERROR_INVALID_SECURITY_DESCR,           /* c0000079 (STATUS_INVALID_SECURITY_DESCR) */
+   ERROR_PROC_NOT_FOUND,                   /* c000007a (STATUS_PROCEDURE_NOT_FOUND) */
+   ERROR_BAD_EXE_FORMAT,                   /* c000007b (STATUS_INVALID_IMAGE_FORMAT) */
+   ERROR_NO_TOKEN,                         /* c000007c (STATUS_NO_TOKEN) */
+   ERROR_BAD_INHERITANCE_ACL,              /* c000007d (STATUS_BAD_INHERITANCE_ACL) */
+   ERROR_NOT_LOCKED,                       /* c000007e (STATUS_RANGE_NOT_LOCKED) */
+   ERROR_DISK_FULL,                        /* c000007f (STATUS_DISK_FULL) */
+   ERROR_SERVER_DISABLED,                  /* c0000080 (STATUS_SERVER_DISABLED) */
+   ERROR_SERVER_NOT_DISABLED,              /* c0000081 (STATUS_SERVER_NOT_DISABLED) */
+   ERROR_TOO_MANY_NAMES,                   /* c0000082 (STATUS_TOO_MANY_GUIDS_REQUESTED) */
+   ERROR_NO_MORE_ITEMS,                    /* c0000083 (STATUS_GUIDS_EXHAUSTED) */
+   ERROR_INVALID_ID_AUTHORITY,             /* c0000084 (STATUS_INVALID_ID_AUTHORITY) */
+   ERROR_NO_MORE_ITEMS,                    /* c0000085 (STATUS_AGENTS_EXHAUSTED) */
+   ERROR_LABEL_TOO_LONG,                   /* c0000086 (STATUS_INVALID_VOLUME_LABEL) */
+   ERROR_OUTOFMEMORY,                      /* c0000087 (STATUS_SECTION_NOT_EXTENDED) */
+   ERROR_INVALID_ADDRESS,                  /* c0000088 (STATUS_NOT_MAPPED_DATA) */
+   ERROR_RESOURCE_DATA_NOT_FOUND,          /* c0000089 (STATUS_RESOURCE_DATA_NOT_FOUND) */
+   ERROR_RESOURCE_TYPE_NOT_FOUND,          /* c000008a (STATUS_RESOURCE_TYPE_NOT_FOUND) */
+   ERROR_RESOURCE_NAME_NOT_FOUND,          /* c000008b (STATUS_RESOURCE_NAME_NOT_FOUND) */
+   0,                                      /* c000008c (STATUS_ARRAY_BOUNDS_EXCEEDED) */
+   0,                                      /* c000008d (STATUS_FLOAT_DENORMAL_OPERAND) */
+   0,                                      /* c000008e (STATUS_FLOAT_DIVIDE_BY_ZERO) */
+   0,                                      /* c000008f (STATUS_FLOAT_INEXACT_RESULT) */
+   0,                                      /* c0000090 (STATUS_FLOAT_INVALID_OPERATION) */
+   0,                                      /* c0000091 (STATUS_FLOAT_OVERFLOW) */
+   0,                                      /* c0000092 (STATUS_FLOAT_STACK_CHECK) */
+   0,                                      /* c0000093 (STATUS_FLOAT_UNDERFLOW) */
+   0,                                      /* c0000094 (STATUS_INTEGER_DIVIDE_BY_ZERO) */
+   ERROR_ARITHMETIC_OVERFLOW,              /* c0000095 (STATUS_INTEGER_OVERFLOW) */
+   0,                                      /* c0000096 (STATUS_PRIVILEGED_INSTRUCTION) */
+   ERROR_NOT_ENOUGH_MEMORY,                /* c0000097 (STATUS_TOO_MANY_PAGING_FILES) */
+   ERROR_FILE_INVALID,                     /* c0000098 (STATUS_FILE_INVALID) */
+   ERROR_ALLOTTED_SPACE_EXCEEDED,          /* c0000099 (STATUS_ALLOTTED_SPACE_EXCEEDED) */
+   ERROR_NO_SYSTEM_RESOURCES,              /* c000009a (STATUS_INSUFFICIENT_RESOURCES) */
+   ERROR_PATH_NOT_FOUND,                   /* c000009b (STATUS_DFS_EXIT_PATH_FOUND) */
+   ERROR_CRC,                              /* c000009c (STATUS_DEVICE_DATA_ERROR) */
+   ERROR_NOT_READY,                        /* c000009d (STATUS_DEVICE_NOT_CONNECTED) */
+   ERROR_NOT_READY,                        /* c000009e (STATUS_DEVICE_POWER_FAILURE) */
+   ERROR_INVALID_ADDRESS,                  /* c000009f (STATUS_FREE_VM_NOT_AT_BASE) */
+   ERROR_INVALID_ADDRESS,                  /* c00000a0 (STATUS_MEMORY_NOT_ALLOCATED) */
+   ERROR_WORKING_SET_QUOTA,                /* c00000a1 (STATUS_WORKING_SET_QUOTA) */
+   ERROR_WRITE_PROTECT,                    /* c00000a2 (STATUS_MEDIA_WRITE_PROTECTED) */
+   ERROR_NOT_READY,                        /* c00000a3 (STATUS_DEVICE_NOT_READY) */
+   ERROR_INVALID_GROUP_ATTRIBUTES,         /* c00000a4 (STATUS_INVALID_GROUP_ATTRIBUTES) */
+   ERROR_BAD_IMPERSONATION_LEVEL,          /* c00000a5 (STATUS_BAD_IMPERSONATION_LEVEL) */
+   ERROR_CANT_OPEN_ANONYMOUS,              /* c00000a6 (STATUS_CANT_OPEN_ANONYMOUS) */
+   ERROR_BAD_VALIDATION_CLASS,             /* c00000a7 (STATUS_BAD_VALIDATION_CLASS) */
+   ERROR_BAD_TOKEN_TYPE,                   /* c00000a8 (STATUS_BAD_TOKEN_TYPE)*/
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000a9 (STATUS_BAD_MASTER_BOOT_RECORD) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000aa (STATUS_INSTRUCTION_MISALIGNMENT) */
+   ERROR_PIPE_BUSY,                        /* c00000ab (STATUS_INSTANCE_NOT_AVAILABLE) */
+   ERROR_PIPE_BUSY,                        /* c00000ac (STATUS_PIPE_NOT_AVAILABLE) */
+   ERROR_BAD_PIPE,                         /* c00000ad (STATUS_INVALID_PIPE_STATE) */
+   ERROR_PIPE_BUSY,                        /* c00000ae (STATUS_PIPE_BUSY) */
+   ERROR_INVALID_FUNCTION,                 /* c00000af (STATUS_ILLEGAL_FUNCTION) */
+   ERROR_PIPE_NOT_CONNECTED,               /* c00000b0 (STATUS_PIPE_DISCONNECTED) */
+   ERROR_NO_DATA,                          /* c00000b1 (STATUS_PIPE_CLOSING) */
+   ERROR_PIPE_CONNECTED,                   /* c00000b2 (STATUS_PIPE_CONNECTED) */
+   ERROR_PIPE_LISTENING,                   /* c00000b3 (STATUS_PIPE_LISTENING) */
+   ERROR_BAD_PIPE,                         /* c00000b4 (STATUS_INVALID_READ_MODE) */
+   ERROR_SEM_TIMEOUT,                      /* c00000b5 (STATUS_IO_TIMEOUT) */
+   ERROR_HANDLE_EOF,                       /* c00000b6 (STATUS_FILE_FORCED_CLOSED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000b7 (STATUS_PROFILING_NOT_STARTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000b8 (STATUS_PROFILING_NOT_STOPPED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000b9 (STATUS_COULD_NOT_INTERPRET) */
+   ERROR_ACCESS_DENIED,                    /* c00000ba (STATUS_FILE_IS_A_DIRECTORY) */
+   ERROR_NOT_SUPPORTED,                    /* c00000bb (STATUS_NOT_SUPPORTED) */
+   ERROR_REM_NOT_LIST,                     /* c00000bc (STATUS_REMOTE_NOT_LISTENING) */
+   ERROR_DUP_NAME,                         /* c00000bd (STATUS_DUPLICATE_NAME) */
+   ERROR_BAD_NETPATH,                      /* c00000be (STATUS_BAD_NETWORK_PATH) */
+   ERROR_NETWORK_BUSY,                     /* c00000bf (STATUS_NETWORK_BUSY) */
+   ERROR_DEV_NOT_EXIST,                    /* c00000c0 (STATUS_DEVICE_DOES_NOT_EXIST) */
+   ERROR_TOO_MANY_CMDS,                    /* c00000c1 (STATUS_TOO_MANY_COMMANDS) */
+   ERROR_ADAP_HDW_ERR,                     /* c00000c2 (STATUS_ADAPTER_HARDWARE_ERROR) */
+   ERROR_BAD_NET_RESP,                     /* c00000c3 (STATUS_INVALID_NETWORK_RESPONSE) */
+   ERROR_UNEXP_NET_ERR,                    /* c00000c4 (STATUS_UNEXPECTED_NETWORK_ERROR) */
+   ERROR_BAD_REM_ADAP,                     /* c00000c5 (STATUS_BAD_REMOTE_ADAPTER) */
+   ERROR_PRINTQ_FULL,                      /* c00000c6 (STATUS_PRINT_QUEUE_FULL) */
+   ERROR_NO_SPOOL_SPACE,                   /* c00000c7 (STATUS_NO_SPOOL_SPACE) */
+   ERROR_PRINT_CANCELLED,                  /* c00000c8 (STATUS_PRINT_CANCELLED) */
+   ERROR_NETNAME_DELETED,                  /* c00000c9 (STATUS_NETWORK_NAME_DELETED) */
+   ERROR_NETWORK_ACCESS_DENIED,            /* c00000ca (STATUS_NETWORK_ACCESS_DENIED) */
+   ERROR_BAD_DEV_TYPE,                     /* c00000cb (STATUS_BAD_DEVICE_TYPE) */
+   ERROR_BAD_NET_NAME,                     /* c00000cc (STATUS_BAD_NETWORK_NAME) */
+   ERROR_TOO_MANY_NAMES,                   /* c00000cd (STATUS_TOO_MANY_NAMES) */
+   ERROR_TOO_MANY_SESS,                    /* c00000ce (STATUS_TOO_MANY_SESSIONS) */
+   ERROR_SHARING_PAUSED,                   /* c00000cf (STATUS_SHARING_PAUSED) */
+   ERROR_REQ_NOT_ACCEP,                    /* c00000d0 (STATUS_REQUEST_NOT_ACCEPTED) */
+   ERROR_REDIR_PAUSED,                     /* c00000d1 (STATUS_REDIRECTOR_PAUSED) */
+   ERROR_NET_WRITE_FAULT,                  /* c00000d2 (STATUS_NET_WRITE_FAULT) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000d3 (STATUS_PROFILING_AT_LIMIT) */
+   ERROR_NOT_SAME_DEVICE,                  /* c00000d4 (STATUS_NOT_SAME_DEVICE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000d5 (STATUS_FILE_RENAMED) */
+   ERROR_VC_DISCONNECTED,                  /* c00000d6 (STATUS_VIRTUAL_CIRCUIT_CLOSED) */
+   ERROR_NO_SECURITY_ON_OBJECT,            /* c00000d7 (STATUS_NO_SECURITY_ON_OBJECT) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000d8 (STATUS_CANT_WAIT) */
+   ERROR_NO_DATA,                          /* c00000d9 (STATUS_PIPE_EMPTY) */
+   ERROR_CANT_ACCESS_DOMAIN_INFO,          /* c00000da (STATUS_CANT_ACCESS_DOMAIN_INFO) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000db (STATUS_CANT_TERMINATE_SELF) */
+   ERROR_INVALID_SERVER_STATE,             /* c00000dc (STATUS_INVALID_SERVER_STATE) */
+   ERROR_INVALID_DOMAIN_STATE,             /* c00000dd (STATUS_INVALID_DOMAIN_STATE) */
+   ERROR_INVALID_DOMAIN_ROLE,              /* c00000de (STATUS_INVALID_DOMAIN_ROLE) */
+   ERROR_NO_SUCH_DOMAIN,                   /* c00000df (STATUS_NO_SUCH_DOMAIN) */
+   ERROR_DOMAIN_EXISTS,                    /* c00000e0 (STATUS_DOMAIN_EXISTS) */
+   ERROR_DOMAIN_LIMIT_EXCEEDED,            /* c00000e1 (STATUS_DOMAIN_LIMIT_EXCEEDED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000e2 (STATUS_OPLOCK_NOT_GRANTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000e3 (STATUS_INVALID_OPLOCK_PROTOCOL) */
+   ERROR_INTERNAL_DB_CORRUPTION,           /* c00000e4 (STATUS_INTERNAL_DB_CORRUPTION) */
+   ERROR_INTERNAL_ERROR,                   /* c00000e5 (STATUS_INTERNAL_ERROR) */
+   ERROR_GENERIC_NOT_MAPPED,               /* c00000e6 (STATUS_GENERIC_NOT_MAPPED) */
+   ERROR_BAD_DESCRIPTOR_FORMAT,            /* c00000e7 (STATUS_BAD_DESCRIPTOR_FORMAT) */
+   ERROR_INVALID_USER_BUFFER,              /* c00000e8 (STATUS_INVALID_USER_BUFFER) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000e9 (STATUS_UNEXPECTED_IO_ERROR) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000ea (STATUS_UNEXPECTED_MM_CREATE_ERR) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000eb (STATUS_UNEXPECTED_MM_MAP_ERROR) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000ec (STATUS_UNEXPECTED_MM_EXTEND_ERR) */
+   ERROR_NOT_LOGON_PROCESS,                /* c00000ed (STATUS_NOT_LOGON_PROCESS) */
+   ERROR_LOGON_SESSION_EXISTS,             /* c00000ee (STATUS_LOGON_SESSION_EXISTS) */
+   ERROR_INVALID_PARAMETER,                /* c00000ef (STATUS_INVALID_PARAMETER_1) */
+   ERROR_INVALID_PARAMETER,                /* c00000f0 (STATUS_INVALID_PARAMETER_2) */
+   ERROR_INVALID_PARAMETER,                /* c00000f1 (STATUS_INVALID_PARAMETER_3) */
+   ERROR_INVALID_PARAMETER,                /* c00000f2 (STATUS_INVALID_PARAMETER_4) */
+   ERROR_INVALID_PARAMETER,                /* c00000f3 (STATUS_INVALID_PARAMETER_5) */
+   ERROR_INVALID_PARAMETER,                /* c00000f4 (STATUS_INVALID_PARAMETER_6) */
+   ERROR_INVALID_PARAMETER,                /* c00000f5 (STATUS_INVALID_PARAMETER_7) */
+   ERROR_INVALID_PARAMETER,                /* c00000f6 (STATUS_INVALID_PARAMETER_8) */
+   ERROR_INVALID_PARAMETER,                /* c00000f7 (STATUS_INVALID_PARAMETER_9) */
+   ERROR_INVALID_PARAMETER,                /* c00000f8 (STATUS_INVALID_PARAMETER_10) */
+   ERROR_INVALID_PARAMETER,                /* c00000f9 (STATUS_INVALID_PARAMETER_11) */
+   ERROR_INVALID_PARAMETER,                /* c00000fa (STATUS_INVALID_PARAMETER_12) */
+   ERROR_PATH_NOT_FOUND,                   /* c00000fb (STATUS_REDIRECTOR_NOT_STARTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000fc (STATUS_REDIRECTOR_STARTED) */
+   ERROR_STACK_OVERFLOW,                   /* c00000fd (STATUS_STACK_OVERFLOW) */
+   ERROR_NO_SUCH_PACKAGE,                  /* c00000fe (STATUS_NO_SUCH_PACKAGE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000ff (STATUS_BAD_FUNCTION_TABLE) */
+   ERROR_ENVVAR_NOT_FOUND,                 /* c0000100 (STATUS_VARIABLE_NOT_FOUND) */
+   ERROR_DIR_NOT_EMPTY,                    /* c0000101 (STATUS_DIRECTORY_NOT_EMPTY) */
+   ERROR_FILE_CORRUPT,                     /* c0000102 (STATUS_FILE_CORRUPT_ERROR) */
+   ERROR_DIRECTORY,                        /* c0000103 (STATUS_NOT_A_DIRECTORY) */
+   ERROR_BAD_LOGON_SESSION_STATE,          /* c0000104 (STATUS_BAD_LOGON_SESSION_STATE) */
+   ERROR_LOGON_SESSION_COLLISION,          /* c0000105 (STATUS_LOGON_SESSION_COLLISION) */
+   ERROR_FILENAME_EXCED_RANGE,             /* c0000106 (STATUS_NAME_TOO_LONG) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000107 (STATUS_FILES_OPEN) */
+   ERROR_DEVICE_IN_USE,                    /* c0000108 (STATUS_CONNECTION_IN_USE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000109 (STATUS_MESSAGE_NOT_FOUND) */
+   ERROR_ACCESS_DENIED,                    /* c000010a (STATUS_PROCESS_IS_TERMINATING) */
+   ERROR_INVALID_LOGON_TYPE,               /* c000010b (STATUS_INVALID_LOGON_TYPE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000010c (STATUS_NO_GUID_TRANSLATION) */
+   ERROR_CANNOT_IMPERSONATE,               /* c000010d (STATUS_CANNOT_IMPERSONATE) */
+   ERROR_SERVICE_ALREADY_RUNNING,          /* c000010e (STATUS_IMAGE_ALREADY_LOADED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000010f (STATUS_ABIOS_NOT_PRESENT) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000110 (STATUS_ABIOS_LID_NOT_EXIST) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000111 (STATUS_ABIOS_LID_ALREADY_OWNED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000112 (STATUS_ABIOS_NOT_LID_OWNER) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000113 (STATUS_ABIOS_INVALID_COMMAND) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000114 (STATUS_ABIOS_INVALID_LID) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000115 (STATUS_ABIOS_SELECTOR_NOT_AVAILABLE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000116 (STATUS_ABIOS_INVALID_SELECTOR) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000117 (STATUS_NO_LDT) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000118 (STATUS_INVALID_LDT_SIZE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000119 (STATUS_INVALID_LDT_OFFSET) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000011a (STATUS_INVALID_LDT_DESCRIPTOR) */
+   ERROR_BAD_EXE_FORMAT,                   /* c000011b (STATUS_INVALID_IMAGE_NE_FORMAT) */
+   ERROR_RXACT_INVALID_STATE,              /* c000011c (STATUS_RXACT_INVALID_STATE) */
+   ERROR_RXACT_COMMIT_FAILURE,             /* c000011d (STATUS_RXACT_COMMIT_FAILURE) */
+   ERROR_FILE_INVALID,                     /* c000011e (STATUS_MAPPED_FILE_SIZE_ZERO) */
+   ERROR_TOO_MANY_OPEN_FILES,              /* c000011f (STATUS_TOO_MANY_OPENED_FILES) */
+   ERROR_OPERATION_ABORTED,                /* c0000120 (STATUS_CANCELLED) */
+   ERROR_ACCESS_DENIED,                    /* c0000121 (STATUS_CANNOT_DELETE) */
+   ERROR_INVALID_COMPUTERNAME,             /* c0000122 (STATUS_INVALID_COMPUTER_NAME) */
+   ERROR_ACCESS_DENIED,                    /* c0000123 (STATUS_FILE_DELETED) */
+   ERROR_SPECIAL_ACCOUNT,                  /* c0000124 (STATUS_SPECIAL_ACCOUNT) */
+   ERROR_SPECIAL_GROUP,                    /* c0000125 (STATUS_SPECIAL_GROUP) */
+   ERROR_SPECIAL_USER,                     /* c0000126 (STATUS_SPECIAL_USER) */
+   ERROR_MEMBERS_PRIMARY_GROUP,            /* c0000127 (STATUS_MEMBERS_PRIMARY_GROUP) */
+   ERROR_INVALID_HANDLE,                   /* c0000128 (STATUS_FILE_CLOSED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000129 (STATUS_TOO_MANY_THREADS) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000012a (STATUS_THREAD_NOT_IN_PROCESS) */
+   ERROR_TOKEN_ALREADY_IN_USE,             /* c000012b (STATUS_TOKEN_ALREADY_IN_USE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000012c (STATUS_PAGEFILE_QUOTA_EXCEEDED) */
+   ERROR_COMMITMENT_LIMIT,                 /* c000012d (STATUS_COMMITMENT_LIMIT) */
+   ERROR_BAD_EXE_FORMAT,                   /* c000012e (STATUS_INVALID_IMAGE_LE_FORMAT) */
+   ERROR_BAD_EXE_FORMAT,                   /* c000012f (STATUS_INVALID_IMAGE_NOT_MZ) */
+   ERROR_BAD_EXE_FORMAT,                   /* c0000130 (STATUS_INVALID_IMAGE_PROTECT) */
+   ERROR_BAD_EXE_FORMAT,                   /* c0000131 (STATUS_INVALID_IMAGE_WIN_16) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000132 (STATUS_LOGON_SERVER_CONFLICT) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000133 (STATUS_TIME_DIFFERENCE_AT_DC) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000134 (STATUS_SYNCHRONIZATION_REQUIRED) */
+   ERROR_MOD_NOT_FOUND,                    /* c0000135 (STATUS_DLL_NOT_FOUND) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000136 (STATUS_OPEN_FAILED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000137 (STATUS_IO_PRIVILEGE_FAILED) */
+   ERROR_INVALID_ORDINAL,                  /* c0000138 (STATUS_ORDINAL_NOT_FOUND) */
+   ERROR_PROC_NOT_FOUND,                   /* c0000139 (STATUS_ENTRYPOINT_NOT_FOUND) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000013a (STATUS_CONTROL_C_EXIT) */
+   ERROR_NETNAME_DELETED,                  /* c000013b (STATUS_LOCAL_DISCONNECT) */
+   ERROR_NETNAME_DELETED,                  /* c000013c (STATUS_REMOTE_DISCONNECT) */
+   ERROR_REM_NOT_LIST,                     /* c000013d (STATUS_REMOTE_RESOURCES) */
+   ERROR_UNEXP_NET_ERR,                    /* c000013e (STATUS_LINK_FAILED) */
+   ERROR_UNEXP_NET_ERR,                    /* c000013f (STATUS_LINK_TIMEOUT) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000140 (STATUS_INVALID_CONNECTION) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000141 (STATUS_INVALID_ADDRESS) */
+   ERROR_DLL_INIT_FAILED,                  /* c0000142 (STATUS_DLL_INIT_FAILED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000143 (STATUS_MISSING_SYSTEMFILE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000144 (STATUS_UNHANDLED_EXCEPTION) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000145 (STATUS_APP_INIT_FAILURE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000146 (STATUS_PAGEFILE_CREATE_FAILED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000147 (STATUS_NO_PAGEFILE) */
+   ERROR_INVALID_LEVEL,                    /* c0000148 (STATUS_INVALID_LEVEL) */
+   ERROR_INVALID_PASSWORD,                 /* c0000149 (STATUS_WRONG_PASSWORD_CORE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000014a (STATUS_ILLEGAL_FLOAT_CONTEXT) */
+   ERROR_BROKEN_PIPE,                      /* c000014b (STATUS_PIPE_BROKEN) */
+   ERROR_BADDB,                            /* c000014c (STATUS_REGISTRY_CORRUPT) */
+   ERROR_REGISTRY_IO_FAILED,               /* c000014d (STATUS_REGISTRY_IO_FAILED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000014e (STATUS_NO_EVENT_PAIR) */
+   ERROR_UNRECOGNIZED_VOLUME,              /* c000014f (STATUS_UNRECOGNIZED_VOLUME) */
+   ERROR_SERIAL_NO_DEVICE,                 /* c0000150 (STATUS_SERIAL_NO_DEVICE_INITED) */
+   ERROR_NO_SUCH_ALIAS,                    /* c0000151 (STATUS_NO_SUCH_ALIAS) */
+   ERROR_MEMBER_NOT_IN_ALIAS,              /* c0000152 (STATUS_MEMBER_NOT_IN_ALIAS) */
+   ERROR_MEMBER_IN_ALIAS,                  /* c0000153 (STATUS_MEMBER_IN_ALIAS) */
+   ERROR_ALIAS_EXISTS,                     /* c0000154 (STATUS_ALIAS_EXISTS) */
+   ERROR_LOGON_NOT_GRANTED,                /* c0000155 (STATUS_LOGON_NOT_GRANTED) */
+   ERROR_TOO_MANY_SECRETS,                 /* c0000156 (STATUS_TOO_MANY_SECRETS) */
+   ERROR_SECRET_TOO_LONG,                  /* c0000157 (STATUS_SECRET_TOO_LONG) */
+   ERROR_INTERNAL_DB_ERROR,                /* c0000158 (STATUS_INTERNAL_DB_ERROR) */
+   ERROR_FULLSCREEN_MODE,                  /* c0000159 (STATUS_FULLSCREEN_MODE) */
+   ERROR_TOO_MANY_CONTEXT_IDS,             /* c000015a (STATUS_TOO_MANY_CONTEXT_IDS) */
+   ERROR_LOGON_TYPE_NOT_GRANTED,           /* c000015b (STATUS_LOGON_TYPE_NOT_GRANTED) */
+   ERROR_NOT_REGISTRY_FILE,                /* c000015c (STATUS_NOT_REGISTRY_FILE) */
+   ERROR_NT_CROSS_ENCRYPTION_REQUIRED,     /* c000015d (STATUS_NT_CROSS_ENCRYPTION_REQUIRED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000015e (STATUS_DOMAIN_CTRLR_CONFIG_ERROR) */
+   ERROR_IO_DEVICE,                        /* c000015f (STATUS_FT_MISSING_MEMBER) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000160 (STATUS_ILL_FORMED_SERVICE_ENTRY) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000161 (STATUS_ILLEGAL_CHARACTER) */
+   ERROR_NO_UNICODE_TRANSLATION,           /* c0000162 (STATUS_UNMAPPABLE_CHARACTER) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000163 (STATUS_UNDEFINED_CHARACTER) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000164 (STATUS_FLOPPY_VOLUME) */
+   ERROR_FLOPPY_ID_MARK_NOT_FOUND,         /* c0000165 (STATUS_FLOPPY_ID_MARK_NOT_FOUND) */
+   ERROR_FLOPPY_WRONG_CYLINDER,            /* c0000166 (STATUS_FLOPPY_WRONG_CYLINDER) */
+   ERROR_FLOPPY_UNKNOWN_ERROR,             /* c0000167 (STATUS_FLOPPY_UNKNOWN_ERROR) */
+   ERROR_FLOPPY_BAD_REGISTERS,             /* c0000168 (STATUS_FLOPPY_BAD_REGISTERS) */
+   ERROR_DISK_RECALIBRATE_FAILED,          /* c0000169 (STATUS_DISK_RECALIBRATE_FAILED) */
+   ERROR_DISK_OPERATION_FAILED,            /* c000016a (STATUS_DISK_OPERATION_FAILED) */
+   ERROR_DISK_RESET_FAILED,                /* c000016b (STATUS_DISK_RESET_FAILED) */
+   ERROR_IRQ_BUSY,                         /* c000016c (STATUS_SHARED_IRQ_BUSY) */
+   ERROR_IO_DEVICE,                        /* c000016d (STATUS_FT_ORPHANING) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000016e (STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000016f */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000170 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000171 */
+   ERROR_PARTITION_FAILURE,                /* c0000172 (STATUS_PARTITION_FAILURE) */
+   ERROR_INVALID_BLOCK_LENGTH,             /* c0000173 (STATUS_INVALID_BLOCK_LENGTH) */
+   ERROR_DEVICE_NOT_PARTITIONED,           /* c0000174 (STATUS_DEVICE_NOT_PARTITIONED) */
+   ERROR_UNABLE_TO_LOCK_MEDIA,             /* c0000175 (STATUS_UNABLE_TO_LOCK_MEDIA) */
+   ERROR_UNABLE_TO_UNLOAD_MEDIA,           /* c0000176 (STATUS_UNABLE_TO_UNLOAD_MEDIA) */
+   ERROR_EOM_OVERFLOW,                     /* c0000177 (STATUS_EOM_OVERFLOW) */
+   ERROR_NO_MEDIA_IN_DRIVE,                /* c0000178 (STATUS_NO_MEDIA) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000179 */
+   ERROR_NO_SUCH_MEMBER,                   /* c000017a (STATUS_NO_SUCH_MEMBER) */
+   ERROR_INVALID_MEMBER,                   /* c000017b (STATUS_INVALID_MEMBER) */
+   ERROR_KEY_DELETED,                      /* c000017c (STATUS_KEY_DELETED) */
+   ERROR_NO_LOG_SPACE,                     /* c000017d (STATUS_NO_LOG_SPACE) */
+   ERROR_TOO_MANY_SIDS,                    /* c000017e (STATUS_TOO_MANY_SIDS) */
+   ERROR_LM_CROSS_ENCRYPTION_REQUIRED,     /* c000017f (STATUS_LM_CROSS_ENCRYPTION_REQUIRED) */
+   ERROR_KEY_HAS_CHILDREN,                 /* c0000180 (STATUS_KEY_HAS_CHILDREN) */
+   ERROR_CHILD_MUST_BE_VOLATILE,           /* c0000181 (STATUS_CHILD_MUST_BE_VOLATILE) */
+   ERROR_INVALID_PARAMETER,                /* c0000182 (STATUS_DEVICE_CONFIGURATION_ERROR) */
+   ERROR_IO_DEVICE,                        /* c0000183 (STATUS_DRIVER_INTERNAL_ERROR) */
+   ERROR_BAD_COMMAND,                      /* c0000184 (STATUS_INVALID_DEVICE_STATE) */
+   ERROR_IO_DEVICE,                        /* c0000185 (STATUS_IO_DEVICE_ERROR) */
+   ERROR_IO_DEVICE,                        /* c0000186 (STATUS_DEVICE_PROTOCOL_ERROR) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000187 (STATUS_BACKUP_CONTROLLER) */
+   ERROR_LOG_FILE_FULL,                    /* c0000188 (STATUS_LOG_FILE_FULL) */
+   ERROR_WRITE_PROTECT,                    /* c0000189 (STATUS_TOO_LATE) */
+   ERROR_NO_TRUST_LSA_SECRET,              /* c000018a (STATUS_NO_TRUST_LSA_SECRET) */
+   ERROR_NO_TRUST_SAM_ACCOUNT,             /* c000018b (STATUS_NO_TRUST_SAM_ACCOUNT) */
+   ERROR_TRUSTED_DOMAIN_FAILURE,           /* c000018c (STATUS_TRUSTED_DOMAIN_FAILURE) */
+   ERROR_TRUSTED_RELATIONSHIP_FAILURE,     /* c000018d (STATUS_TRUSTED_RELATIONSHIP_FAILURE) */
+   ERROR_EVENTLOG_FILE_CORRUPT,            /* c000018e (STATUS_EVENTLOG_FILE_CORRUPT) */
+   ERROR_EVENTLOG_CANT_START,              /* c000018f (STATUS_EVENTLOG_CANT_START) */
+   ERROR_TRUST_FAILURE,                    /* c0000190 (STATUS_TRUST_FAILURE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000191 (STATUS_MUTANT_LIMIT_EXCEEDED) */
+   ERROR_NETLOGON_NOT_STARTED,             /* c0000192 (STATUS_NETLOGON_NOT_STARTED) */
+   ERROR_ACCOUNT_EXPIRED,                  /* c0000193 (STATUS_ACCOUNT_EXPIRED) */
+   ERROR_POSSIBLE_DEADLOCK,                /* c0000194 (STATUS_POSSIBLE_DEADLOCK) */
+   ERROR_SESSION_CREDENTIAL_CONFLICT,      /* c0000195 (STATUS_NETWORK_CREDENTIAL_CONFLICT) */
+   ERROR_REMOTE_SESSION_LIMIT_EXCEEDED,    /* c0000196 (STATUS_REMOTE_SESSION_LIMIT) */
+   ERROR_EVENTLOG_FILE_CHANGED,            /* c0000197 (STATUS_EVENTLOG_FILE_CHANGED) */
+   ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT,/* c0000198 (STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT) */
+   ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT,/* c0000199 (STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT) */
+   ERROR_NOLOGON_SERVER_TRUST_ACCOUNT,     /* c000019a (STATUS_NOLOGON_SERVER_TRUST_ACCOUNT) */
+   ERROR_DOMAIN_TRUST_INCONSISTENT         /* c000019b (STATUS_DOMAIN_TRUST_INCONSISTENT) */
+};
+
+static const WORD table_c0000202[109] =
+{
+   ERROR_NO_USER_SESSION_KEY,              /* c0000202 (STATUS_NO_USER_SESSION_KEY) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000203 (STATUS_USER_SESSION_DELETED) */
+   ERROR_RESOURCE_LANG_NOT_FOUND,          /* c0000204 (STATUS_RESOURCE_LANG_NOT_FOUND) */
+   ERROR_NOT_ENOUGH_SERVER_MEMORY,         /* c0000205 (STATUS_INSUFF_SERVER_RESOURCES) */
+   ERROR_INVALID_USER_BUFFER,              /* c0000206 (STATUS_INVALID_BUFFER_SIZE) */
+   ERROR_INVALID_NETNAME,                  /* c0000207 (STATUS_INVALID_ADDRESS_COMPONENT) */
+   ERROR_INVALID_NETNAME,                  /* c0000208 (STATUS_INVALID_ADDRESS_WILDCARD) */
+   ERROR_TOO_MANY_NAMES,                   /* c0000209 (STATUS_TOO_MANY_ADDRESSES) */
+   ERROR_DUP_NAME,                         /* c000020a (STATUS_ADDRESS_ALREADY_EXISTS) */
+   ERROR_NETNAME_DELETED,                  /* c000020b (STATUS_ADDRESS_CLOSED) */
+   ERROR_NETNAME_DELETED,                  /* c000020c (STATUS_CONNECTION_DISCONNECTED) */
+   ERROR_NETNAME_DELETED,                  /* c000020d (STATUS_CONNECTION_RESET) */
+   ERROR_TOO_MANY_NAMES,                   /* c000020e (STATUS_TOO_MANY_NODES) */
+   ERROR_UNEXP_NET_ERR,                    /* c000020f (STATUS_TRANSACTION_ABORTED) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000210 (STATUS_TRANSACTION_TIMED_OUT) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000211 (STATUS_TRANSACTION_NO_RELEASE) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000212 (STATUS_TRANSACTION_NO_MATCH) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000213 (STATUS_TRANSACTION_RESPONDED) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000214 (STATUS_TRANSACTION_INVALID_ID) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000215 (STATUS_TRANSACTION_INVALID_TYPE) */
+   ERROR_NOT_SUPPORTED,                    /* c0000216 (STATUS_NOT_SERVER_SESSION) */
+   ERROR_NOT_SUPPORTED,                    /* c0000217 (STATUS_NOT_CLIENT_SESSION) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000218 (STATUS_CANNOT_LOAD_REGISTRY_FILE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000219 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000021a */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000021b */
+   ERROR_NO_BROWSER_SERVERS_FOUND,         /* c000021c (STATUS_NO_BROWSER_SERVERS_FOUND) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000021d */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000021e */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000021f */
+   ERROR_MAPPED_ALIGNMENT,                 /* c0000220 (STATUS_MAPPED_ALIGNMENT) */
+   ERROR_BAD_EXE_FORMAT,                   /* c0000221 (STATUS_IMAGE_CHECKSUM_MISMATCH) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000222 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000223 */
+   ERROR_PASSWORD_MUST_CHANGE,             /* c0000224 (STATUS_PASSWORD_MUST_CHANGE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000225 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000226 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000227 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000228 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000229 */
+   0,                                      /* c000022a */
+   0,                                      /* c000022b */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000022c */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000022d */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000022e */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000022f */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000230 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000231 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000232 */
+   ERROR_DOMAIN_CONTROLLER_NOT_FOUND,      /* c0000233 */
+   ERROR_ACCOUNT_LOCKED_OUT,               /* c0000234 */
+   ERROR_INVALID_HANDLE,                   /* c0000235 */
+   ERROR_CONNECTION_REFUSED,               /* c0000236 */
+   ERROR_GRACEFUL_DISCONNECT,              /* c0000237 */
+   ERROR_ADDRESS_ALREADY_ASSOCIATED,       /* c0000238 */
+   ERROR_ADDRESS_NOT_ASSOCIATED,           /* c0000239 */
+   ERROR_CONNECTION_INVALID,               /* c000023a */
+   ERROR_CONNECTION_ACTIVE,                /* c000023b */
+   ERROR_NETWORK_UNREACHABLE,              /* c000023c */
+   ERROR_HOST_UNREACHABLE,                 /* c000023d */
+   ERROR_PROTOCOL_UNREACHABLE,             /* c000023e */
+   ERROR_PORT_UNREACHABLE,                 /* c000023f */
+   ERROR_REQUEST_ABORTED,                  /* c0000240 */
+   ERROR_CONNECTION_ABORTED,               /* c0000241 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000242 */
+   ERROR_USER_MAPPED_FILE,                 /* c0000243 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000244 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000245 */
+   ERROR_CONNECTION_COUNT_LIMIT,           /* c0000246 */
+   ERROR_LOGIN_TIME_RESTRICTION,           /* c0000247 */
+   ERROR_LOGIN_WKSTA_RESTRICTION,          /* c0000248 */
+   ERROR_BAD_EXE_FORMAT,                   /* c0000249 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000024a */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000024b */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000024c */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000024d */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000024e */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000024f */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000250 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000251 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000252 */
+   ERROR_INTERNAL_ERROR,                   /* c0000253 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000254 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000255 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000256 */
+   ERROR_HOST_UNREACHABLE,                 /* c0000257 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000258 */
+   ERROR_LICENSE_QUOTA_EXCEEDED,           /* c0000259 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000025a */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000025b */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000025c */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000025d */
+   ERROR_SERVICE_DISABLED,                 /* c000025e */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000025f */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000260 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000261 */
+   ERROR_INVALID_ORDINAL,                  /* c0000262 */
+   ERROR_PROC_NOT_FOUND,                   /* c0000263 */
+   ERROR_NOT_OWNER,                        /* c0000264 */
+   ERROR_TOO_MANY_LINKS,                   /* c0000265 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000266 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000267 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000268 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000269 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000026a */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000026b */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000026c */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000026d */
+   ERROR_NOT_READY                         /* c000026e (STATUS_VOLUME_DISMOUNTED) */
+};
+
+static const WORD table_c0020001[88] =
+{
+   RPC_S_INVALID_STRING_BINDING,           /* c0020001 (RPC_NT_INVALID_STRING_BINDING) */
+   RPC_S_WRONG_KIND_OF_BINDING,            /* c0020002 (RPC_NT_WRONG_KIND_OF_BINDING) */
+   ERROR_INVALID_HANDLE,                   /* c0020003 (RPC_NT_INVALID_BINDING) */
+   RPC_S_PROTSEQ_NOT_SUPPORTED,            /* c0020004 (RPC_NT_PROTSEQ_NOT_SUPPORTED) */
+   RPC_S_INVALID_RPC_PROTSEQ,              /* c0020005 (RPC_NT_INVALID_RPC_PROTSEQ) */
+   RPC_S_INVALID_STRING_UUID,              /* c0020006 (RPC_NT_INVALID_STRING_UUID) */
+   RPC_S_INVALID_ENDPOINT_FORMAT,          /* c0020007 (RPC_NT_INVALID_ENDPOINT_FORMAT) */
+   RPC_S_INVALID_NET_ADDR,                 /* c0020008 (RPC_NT_INVALID_NET_ADDR) */
+   RPC_S_NO_ENDPOINT_FOUND,                /* c0020009 (RPC_NT_NO_ENDPOINT_FOUND) */
+   RPC_S_INVALID_TIMEOUT,                  /* c002000a (RPC_NT_INVALID_TIMEOUT) */
+   RPC_S_OBJECT_NOT_FOUND,                 /* c002000b (RPC_NT_OBJECT_NOT_FOUND) */
+   RPC_S_ALREADY_REGISTERED,               /* c002000c (RPC_NT_ALREADY_REGISTERED) */
+   RPC_S_TYPE_ALREADY_REGISTERED,          /* c002000d (RPC_NT_TYPE_ALREADY_REGISTERED) */
+   RPC_S_ALREADY_LISTENING,                /* c002000e (RPC_NT_ALREADY_LISTENING) */
+   RPC_S_NO_PROTSEQS_REGISTERED,           /* c002000f (RPC_NT_NO_PROTSEQS_REGISTERED) */
+   RPC_S_NOT_LISTENING,                    /* c0020010 (RPC_NT_NOT_LISTENING) */
+   RPC_S_UNKNOWN_MGR_TYPE,                 /* c0020011 (RPC_NT_UNKNOWN_MGR_TYPE) */
+   RPC_S_UNKNOWN_IF,                       /* c0020012 (RPC_NT_UNKNOWN_IF) */
+   RPC_S_NO_BINDINGS,                      /* c0020013 (RPC_NT_NO_BINDINGS) */
+   RPC_S_NO_PROTSEQS,                      /* c0020014 (RPC_NT_NO_PROTSEQS) */
+   RPC_S_CANT_CREATE_ENDPOINT,             /* c0020015 (RPC_NT_CANT_CREATE_ENDPOINT) */
+   RPC_S_OUT_OF_RESOURCES,                 /* c0020016 (RPC_NT_OUT_OF_RESOURCES) */
+   RPC_S_SERVER_UNAVAILABLE,               /* c0020017 (RPC_NT_SERVER_UNAVAILABLE) */
+   RPC_S_SERVER_TOO_BUSY,                  /* c0020018 (RPC_NT_SERVER_TOO_BUSY) */
+   RPC_S_INVALID_NETWORK_OPTIONS,          /* c0020019 (RPC_NT_INVALID_NETWORK_OPTIONS) */
+   RPC_S_NO_CALL_ACTIVE,                   /* c002001a (RPC_NT_NO_CALL_ACTIVE) */
+   RPC_S_CALL_FAILED,                      /* c002001b (RPC_NT_CALL_FAILED) */
+   RPC_S_CALL_FAILED_DNE,                  /* c002001c (RPC_NT_CALL_FAILED_DNE) */
+   RPC_S_PROTOCOL_ERROR,                   /* c002001d (RPC_NT_PROTOCOL_ERROR) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c002001e */
+   RPC_S_UNSUPPORTED_TRANS_SYN,            /* c002001f (RPC_NT_UNSUPPORTED_TRANS_SYN) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0020020 */
+   RPC_S_UNSUPPORTED_TYPE,                 /* c0020021 (RPC_NT_UNSUPPORTED_TYPE) */
+   RPC_S_INVALID_TAG,                      /* c0020022 (RPC_NT_INVALID_TAG) */
+   RPC_S_INVALID_BOUND,                    /* c0020023 (RPC_NT_INVALID_BOUND) */
+   RPC_S_NO_ENTRY_NAME,                    /* c0020024 (RPC_NT_NO_ENTRY_NAME) */
+   RPC_S_INVALID_NAME_SYNTAX,              /* c0020025 (RPC_NT_INVALID_NAME_SYNTAX) */
+   RPC_S_UNSUPPORTED_NAME_SYNTAX,          /* c0020026 (RPC_NT_UNSUPPORTED_NAME_SYNTAX) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0020027 */
+   RPC_S_UUID_NO_ADDRESS,                  /* c0020028 (RPC_NT_UUID_NO_ADDRESS) */
+   RPC_S_DUPLICATE_ENDPOINT,               /* c0020029 (RPC_NT_DUPLICATE_ENDPOINT) */
+   RPC_S_UNKNOWN_AUTHN_TYPE,               /* c002002a (RPC_NT_UNKNOWN_AUTHN_TYPE) */
+   RPC_S_MAX_CALLS_TOO_SMALL,              /* c002002b (RPC_NT_MAX_CALLS_TOO_SMALL) */
+   RPC_S_STRING_TOO_LONG,                  /* c002002c (RPC_NT_STRING_TOO_LONG) */
+   RPC_S_PROTSEQ_NOT_FOUND,                /* c002002d (RPC_NT_PROTSEQ_NOT_FOUND) */
+   RPC_S_PROCNUM_OUT_OF_RANGE,             /* c002002e (RPC_NT_PROCNUM_OUT_OF_RANGE) */
+   RPC_S_BINDING_HAS_NO_AUTH,              /* c002002f (RPC_NT_BINDING_HAS_NO_AUTH) */
+   RPC_S_UNKNOWN_AUTHN_SERVICE,            /* c0020030 (RPC_NT_UNKNOWN_AUTHN_SERVICE) */
+   RPC_S_UNKNOWN_AUTHN_LEVEL,              /* c0020031 (RPC_NT_UNKNOWN_AUTHN_LEVEL) */
+   RPC_S_INVALID_AUTH_IDENTITY,            /* c0020032 (RPC_NT_INVALID_AUTH_IDENTITY) */
+   RPC_S_UNKNOWN_AUTHZ_SERVICE,            /* c0020033 (RPC_NT_UNKNOWN_AUTHZ_SERVICE) */
+   EPT_S_INVALID_ENTRY,                    /* c0020034 (EPT_NT_INVALID_ENTRY) */
+   EPT_S_CANT_PERFORM_OP,                  /* c0020035 (EPT_NT_CANT_PERFORM_OP) */
+   EPT_S_NOT_REGISTERED,                   /* c0020036 (EPT_NT_NOT_REGISTERED) */
+   RPC_S_NOTHING_TO_EXPORT,                /* c0020037 (RPC_NT_NOTHING_TO_EXPORT) */
+   RPC_S_INCOMPLETE_NAME,                  /* c0020038 (RPC_NT_INCOMPLETE_NAME) */
+   RPC_S_INVALID_VERS_OPTION,              /* c0020039 (RPC_NT_INVALID_VERS_OPTION) */
+   RPC_S_NO_MORE_MEMBERS,                  /* c002003a (RPC_NT_NO_MORE_MEMBERS) */
+   RPC_S_NOT_ALL_OBJS_UNEXPORTED,          /* c002003b (RPC_NT_NOT_ALL_OBJS_UNEXPORTED) */
+   RPC_S_INTERFACE_NOT_FOUND,              /* c002003c (RPC_NT_INTERFACE_NOT_FOUND) */
+   RPC_S_ENTRY_ALREADY_EXISTS,             /* c002003d (RPC_NT_ENTRY_ALREADY_EXISTS) */
+   RPC_S_ENTRY_NOT_FOUND,                  /* c002003e (RPC_NT_ENTRY_NOT_FOUND) */
+   RPC_S_NAME_SERVICE_UNAVAILABLE,         /* c002003f (RPC_NT_NAME_SERVICE_UNAVAILABLE) */
+   RPC_S_INVALID_NAF_ID,                   /* c0020040 (RPC_NT_INVALID_NAF_ID) */
+   RPC_S_CANNOT_SUPPORT,                   /* c0020041 (RPC_NT_CANNOT_SUPPORT) */
+   RPC_S_NO_CONTEXT_AVAILABLE,             /* c0020042 (RPC_NT_NO_CONTEXT_AVAILABLE) */
+   RPC_S_INTERNAL_ERROR,                   /* c0020043 (RPC_NT_INTERNAL_ERROR) */
+   RPC_S_ZERO_DIVIDE,                      /* c0020044 (RPC_NT_ZERO_DIVIDE) */
+   RPC_S_ADDRESS_ERROR,                    /* c0020045 (RPC_NT_ADDRESS_ERROR) */
+   RPC_S_FP_DIV_ZERO,                      /* c0020046 (RPC_NT_FP_DIV_ZERO) */
+   RPC_S_FP_UNDERFLOW,                     /* c0020047 (RPC_NT_FP_UNDERFLOW) */
+   RPC_S_FP_OVERFLOW,                      /* c0020048 (RPC_NT_FP_OVERFLOW) */
+   RPC_S_CALL_IN_PROGRESS,                 /* c0020049 (RPC_NT_CALL_IN_PROGRESS) */
+   RPC_S_NO_MORE_BINDINGS,                 /* c002004a (RPC_NT_NO_MORE_BINDINGS) */
+   RPC_S_GROUP_MEMBER_NOT_FOUND,           /* c002004b (RPC_NT_GROUP_MEMBER_NOT_FOUND) */
+   EPT_S_CANT_CREATE,                      /* c002004c (EPT_NT_CANT_CREATE) */
+   RPC_S_INVALID_OBJECT,                   /* c002004d (RPC_NT_INVALID_OBJECT) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c002004e */
+   RPC_S_NO_INTERFACES,                    /* c002004f */
+   RPC_S_CALL_CANCELLED,                   /* c0020050 */
+   RPC_S_BINDING_INCOMPLETE,               /* c0020051 */
+   RPC_S_COMM_FAILURE,                     /* c0020052 */
+   RPC_S_UNSUPPORTED_AUTHN_LEVEL,          /* c0020053 */
+   RPC_S_NO_PRINC_NAME,                    /* c0020054 */
+   RPC_S_NOT_RPC_ERROR,                    /* c0020055 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0020056 */
+   RPC_S_SEC_PKG_ERROR,                    /* c0020057 */
+   RPC_S_NOT_CANCELLED                     /* c0020058 */
+};
+
+static const WORD table_c0030001[12] =
+{
+   RPC_X_NO_MORE_ENTRIES,                  /* c0030001 (RPC_NT_NO_MORE_ENTRIES) */
+   RPC_X_SS_CHAR_TRANS_OPEN_FAIL,          /* c0030002 (RPC_NT_SS_CHAR_TRANS_OPEN_FAIL) */
+   RPC_X_SS_CHAR_TRANS_SHORT_FILE,         /* c0030003 (RPC_NT_SS_CHAR_TRANS_SHORT_FILE) */
+   ERROR_INVALID_HANDLE,                   /* c0030004 (RPC_NT_SS_IN_NULL_CONTEXT) */
+   ERROR_INVALID_HANDLE,                   /* c0030005 */
+   RPC_X_SS_CONTEXT_DAMAGED,               /* c0030006 (RPC_NT_SS_CONTEXT_DAMAGED) */
+   RPC_X_SS_HANDLES_MISMATCH,              /* c0030007 (RPC_NT_SS_HANDLES_MISMATCH) */
+   RPC_X_SS_CANNOT_GET_CALL_HANDLE,        /* c0030008 (RPC_NT_SS_CANNOT_GET_CALL_HANDLE) */
+   RPC_X_NULL_REF_POINTER,                 /* c0030009 (RPC_NT_NULL_REF_POINTER) */
+   RPC_X_ENUM_VALUE_OUT_OF_RANGE,          /* c003000a (RPC_NT_ENUM_VALUE_OUT_OF_RANGE) */
+   RPC_X_BYTE_COUNT_TOO_SMALL,             /* c003000b (RPC_NT_BYTE_COUNT_TOO_SMALL) */
+   RPC_X_BAD_STUB_DATA                     /* c003000c (RPC_NT_BAD_STUB_DATA) */
+};
+
+static const WORD table_c0030059[6] =
+{
+   RPC_X_INVALID_ES_ACTION,                /* c0030059 */
+   RPC_X_WRONG_ES_VERSION,                 /* c003005a */
+   RPC_X_WRONG_STUB_VERSION,               /* c003005b */
+   RPC_X_INVALID_PIPE_OBJECT,              /* c003005c */
+   RPC_X_WRONG_PIPE_ORDER,                 /* c003005d */
+   RPC_X_WRONG_PIPE_VERSION                /* c003005e */
+};
+
+static const ERROR_TABLE ErrorTable[] =
+{
+    { 0x00000103, 0x0000010e, table_00000103 },
+    { 0x40000002, 0x4000000e, table_40000002 },
+    { 0x40020056, 0x40020057, table_40020056 },
+    { 0x400200af, 0x400200b0, table_400200af },
+    { 0x80000001, 0x80000027, table_80000001 },
+    { 0x80090300, 0x80090317, table_80090300 },
+    { 0xc0000001, 0xc000019c, table_c0000001 },
+    { 0xc0000202, 0xc000026f, table_c0000202 },
+    { 0xc0020001, 0xc0020059, table_c0020001 },
+    { 0xc0030001, 0xc003000d, table_c0030001 },
+    { 0xc0030059, 0xc003005f, table_c0030059 },
+    { 0, 0, 0 }  /* last entry */
+};
+
+
+#if 0
+/* currently not assigned values */
+                                     ERROR_ARENA_TRASHED
+STATUS_HANDLE_NOT_WAITABLE           ERROR_INVALID_HANDLE;
+STATUS_LOCK_NOT_GRANTED              ERROR_LOCK_VIOLATION;
+
+RPC_NT_SS_CONTEXT_MISMATCH           ERROR_INVALID_HANDLE
+#endif
+
+
 /* FUNCTIONS ***************************************************************/
 
 VOID
@@ -38,610 +841,93 @@ RtlAssert (
 }
 
 
-DWORD STDCALL RtlNtStatusToDosErrorNoTeb (NTSTATUS Status)
+/**********************************************************************
+ * NAME                                                        PRIVATE
+ *     RtlNtStatusToDosErrorNoTeb
+ *
+ * DESCRIPTION
+ *     Convert an Executive status ID into a DOS error number 
+ *     (winerror.h).
+ *
+ * ARGUMENTS
+ *     Status  The Executive status ID to convert.
+ *
+ * RETURN VALUE
+ *     dos error as in winerror.h
+ *
+ * REMARK
+ *     RtlNtStatusToDosErrorNoTeb() does the real work.
+ */
+DWORD
+STDCALL
+RtlNtStatusToDosErrorNoTeb (NTSTATUS Status)
 {
-   switch (Status)
-   {
-      case STATUS_SUCCESS:
-         return NO_ERROR;
-
-      case STATUS_NOT_IMPLEMENTED:
-      case STATUS_ILLEGAL_FUNCTION:
-      case STATUS_INVALID_DEVICE_REQUEST:
-      case STATUS_INVALID_SYSTEM_SERVICE:
-         return ERROR_INVALID_FUNCTION;
-
-      case STATUS_NO_SUCH_DEVICE:
-      case STATUS_NO_SUCH_FILE:
-      case STATUS_OBJECT_NAME_NOT_FOUND:
-         return ERROR_FILE_NOT_FOUND;
-
-      case STATUS_OBJECT_PATH_NOT_FOUND:
-      case STATUS_DFS_EXIT_PATH_FOUND:
-         return ERROR_PATH_NOT_FOUND;
-
-      case STATUS_TOO_MANY_OPENED_FILES:
-         return ERROR_TOO_MANY_OPEN_FILES;
+       PERROR_TABLE Table = (PERROR_TABLE)ErrorTable;
 
-      case STATUS_THREAD_IS_TERMINATING:
-      case STATUS_PROCESS_IS_TERMINATING:
-      case STATUS_INVALID_LOCK_SEQUENCE:
-      case STATUS_INVALID_VIEW_SIZE:
-      case STATUS_ALREADY_COMMITTED:
-      case STATUS_ACCESS_DENIED:
-      case STATUS_FILE_IS_A_DIRECTORY:
-      case STATUS_CANNOT_DELETE:
-      case STATUS_FILE_DELETED:
-      case STATUS_DELETE_PENDING:
-      case STATUS_PORT_CONNECTION_REFUSED:
-         return ERROR_ACCESS_DENIED;
+       if (!Status || (Status & 0x20000000))
+               return Status;
 
-      case STATUS_HANDLE_NOT_WAITABLE:
-      case STATUS_PORT_DISCONNECTED:
-      case RPC_NT_SS_IN_NULL_CONTEXT:
-      case RPC_NT_INVALID_BINDING:
-      case STATUS_INVALID_HANDLE:
-      case STATUS_OBJECT_TYPE_MISMATCH:
-      case STATUS_FILE_CLOSED:
-      case STATUS_INVALID_PORT_HANDLE:
-         return ERROR_INVALID_HANDLE;
+       /* 0xd... is equivalent to 0xc... */
+       if ((Status & 0xf0000000) == 0xd0000000)
+               Status &= ~0x10000000;
 
-      /* ERROR_ARENA_TRASHED */
-
-      case STATUS_PAGEFILE_QUOTA:
-      case STATUS_COMMITMENT_LIMIT:
-      case STATUS_SECTION_TOO_BIG:
-      case STATUS_WORKING_SET_QUOTA:
-      case STATUS_NO_MEMORY:
-      case STATUS_CONFLICTING_ADDRESSES:
-      case STATUS_TOO_MANY_PAGING_FILES:
-      case STATUS_INSUFFICIENT_RESOURCES:
-         return ERROR_NOT_ENOUGH_MEMORY;
-
-
-      case STATUS_SECTION_NOT_EXTENDED:
-         return ERROR_OUTOFMEMORY;
-
-      case STATUS_NOT_SAME_DEVICE:
-         return ERROR_NOT_SAME_DEVICE;
-
-      case STATUS_NO_MORE_FILES:
-         return ERROR_NO_MORE_FILES;
-
-      case STATUS_MEDIA_WRITE_PROTECTED:
-      case STATUS_TOO_LATE:
-         return ERROR_WRITE_PROTECT;
-
-      case STATUS_NO_MEDIA_IN_DEVICE:
-      case STATUS_DEVICE_POWERED_OFF:
-      case STATUS_DEVICE_OFF_LINE:
-      case STATUS_DEVICE_NOT_READY:
-      case STATUS_DEVICE_NOT_CONNECTED:
-      case STATUS_DEVICE_POWER_FAILURE:
-         return ERROR_NOT_READY;
-
-      case STATUS_INVALID_DEVICE_STATE:
-         return ERROR_BAD_COMMAND;
-
-      case STATUS_DATA_ERROR:
-      case STATUS_CRC_ERROR:
-      case STATUS_DEVICE_DATA_ERROR:
-         return ERROR_CRC;
-
-      case STATUS_INFO_LENGTH_MISMATCH:
-         return ERROR_BAD_LENGTH;
-
-      case STATUS_NONEXISTENT_SECTOR:
-         return ERROR_SECTOR_NOT_FOUND;
-
-      case STATUS_DEVICE_PAPER_EMPTY:
-         return ERROR_OUT_OF_PAPER;
-
-
-
-      case STATUS_UNSUCCESSFUL:
-         return ERROR_GEN_FAILURE;
-
-      case STATUS_SHARING_VIOLATION:
-         return ERROR_SHARING_VIOLATION;
-
-      case STATUS_LOCK_NOT_GRANTED:
-      case STATUS_FILE_LOCK_CONFLICT:
-         return ERROR_LOCK_VIOLATION;
-
-      case STATUS_WRONG_VOLUME:
-         return ERROR_WRONG_DISK;
-
-
-
-      case STATUS_END_OF_FILE:
-      case STATUS_FILE_FORCED_CLOSED:
-         return ERROR_HANDLE_EOF;
-
-
-      case STATUS_CTL_FILE_NOT_SUPPORTED:
-      case STATUS_NOT_SUPPORTED:
-//      case STATUS_NOT_SERVER_SESSION:
-//      case STATUS_NOT_CLIENT_SESSION:
-         return ERROR_NOT_SUPPORTED;
-
-      case STATUS_REMOTE_NOT_LISTENING:
-         return ERROR_REM_NOT_LIST;
-
-
-
-
-/* not fixed */
-
-      case STATUS_NO_MORE_EAS:
-      case STATUS_NO_MORE_ENTRIES:
-      case STATUS_GUIDS_EXHAUSTED:
-      case STATUS_AGENTS_EXHAUSTED:
-         return ERROR_NO_MORE_ITEMS;
-
-      case STATUS_DATATYPE_MISALIGNMENT:
-      case STATUS_ACCESS_VIOLATION:
-         return ERROR_NOACCESS;
-
-
-      case STATUS_PORT_ALREADY_SET:
-//      case STATUS_SECTION_NOT_IMAGE:
-      case STATUS_BAD_WORKING_SET_LIMIT:
-      case STATUS_INCOMPATIBLE_FILE_MAP:
-      case STATUS_UNABLE_TO_FREE_VM:
-      case STATUS_UNABLE_TO_DELETE_SECTION:
-      case STATUS_INVALID_CID:
-      case STATUS_INVALID_INFO_CLASS:
-      case STATUS_INVALID_PARAMETER:
-      case STATUS_INVALID_PARAMETER_1:
-      case STATUS_INVALID_PARAMETER_2:
-      case STATUS_INVALID_PARAMETER_3:
-      case STATUS_INVALID_PARAMETER_4:
-      case STATUS_INVALID_PARAMETER_5:
-      case STATUS_INVALID_PARAMETER_6:
-      case STATUS_INVALID_PARAMETER_7:
-      case STATUS_INVALID_PARAMETER_8:
-      case STATUS_INVALID_PARAMETER_9:
-      case STATUS_INVALID_PARAMETER_10:
-      case STATUS_INVALID_PARAMETER_11:
-      case STATUS_INVALID_PARAMETER_12:
-      case STATUS_INVALID_PARAMETER_MIX:
-      case STATUS_INVALID_PAGE_PROTECTION:
-      case STATUS_SECTION_PROTECTION:
-         return ERROR_INVALID_PARAMETER;
-
-
-      case STATUS_NOT_LOCKED:
-         return ERROR_NOT_LOCKED;
+       while (Table->Start)
+       {
+               if (Status < Table->Start)
+                       break;
+
+               if (Status < Table->End)
+               {
+                       DWORD ret = Table->Table[Status - Table->Start];
+                       if (!ret)
+                               ret = Status;  /* 0 means 1:1 mapping */
+                       else if (ret == ERROR_MR_MID_NOT_FOUND)
+                               DbgPrint("RTL: RtlNtStatusToDosErrorNoTeb(0x%lx): no valid W32 error mapping\n", Status);
+                       return ret;
+               }
+               Table++;
+       }
 
-#if 0
-STATUS_MORE_PROCESSING_REQUIRED      ERROR_MORE_DATA
-STATUS_BAD_INITIAL_STACK             ERROR_STACK_OVERFLOW
-STATUS_INVALID_VOLUME_LABEL          ERROR_LABEL_TOO_LONG
-
-STATUS_NOT_COMMITTED                 ERROR_INVALID_ADDRESS
-STATUS_NOT_MAPPED_VIEW               ERROR_INVALID_ADDRESS
-STATUS_NOT_MAPPED_DATA               ERROR_INVALID_ADDRESS
-STATUS_UNABLE_TO_DECOMMIT_VM         ERROR_INVALID_ADDRESS
-STATUS_FREE_VM_NOT_AT_BASE           ERROR_INVALID_ADDRESS
-STATUS_MEMORY_NOT_ALLOCATED          ERROR_INVALID_ADDRESS
-
-STATUS_SUSPEND_COUNT_EXCEEDED        ERROR_SIGNAL_REFUSED
-STATUS_NOTIFY_ENUM_DIR               ERROR_NOTIFY_ENUM_DIR
-STATUS_REGISTRY_RECOVERED            ERROR_REGISTRY_RECOVERED
-STATUS_REGISTRY_IO_FAILED            ERROR_REGISTRY_IO_FAILED
-STATUS_NOT_REGISTRY_FILE             ERROR_NOT_REGISTRY_FILE
-STATUS_KEY_DELETED                   ERROR_KEY_DELETED
-STATUS_NO_LOG_SPACE                  ERROR_NO_LOG_SPACE
-STATUS_KEY_HAS_CHILDREN              ERROR_KEY_HAS_CHILDREN
-
-STATUS_CHILD_MUST_BE_VOLATILE        ERROR_CHILD_MUST_BE_VOLATILE
-STATUS_REGISTRY_CORRUPT              ERROR_BADDB
-STATUS_DLL_NOT_FOUND                 ERROR_MOD_NOT_FOUND
-STATUS_DLL_INIT_FAILED               ERROR_DLL_INIT_FAILED
-STATUS_ORDINAL_NOT_FOUND             ERROR_INVALID_ORDINAL
-STATUS_ENTRYPOINT_NOT_FOUND          ERROR_PROC_NOT_FOUND
-STATUS_PENDING                       ERROR_IO_PENDING
-STATUS_MORE_ENTRIES                  ERROR_MORE_DATA
-STATUS_BUFFER_OVERFLOW               ERROR_MORE_DATA
-STATUS_INTEGER_OVERFLOW              ERROR_ARITHMETIC_OVERFLOW
-
-STATUS_NO_INHERITANCE                ERROR_NO_INHERITANCE
-STATUS_IN_PAGE_ERROR                 ERROR_SWAPERROR
-
-
-STATUS_RESOURCE_DATA_NOT_FOUND       ERROR_RESOURCE_DATA_NOT_FOUND
-STATUS_RESOURCE_TYPE_NOT_FOUND       ERROR_RESOURCE_TYPE_NOT_FOUND
-STATUS_RESOURCE_NAME_NOT_FOUND       ERROR_RESOURCE_NAME_NOT_FOUND
-STATUS_RESOURCE_LANG_NOT_FOUND       ERROR_RESOURCE_LANG_NOT_FOUND
-STATUS_NO_MEDIA                      ERROR_NO_MEDIA_IN_DRIVE
-
-STATUS_INVALID_COMPUTER_NAME         ERROR_INVALID_COMPUTERNAME
-STATUS_NO_SUCH_PRIVILEGE             ERROR_NO_SUCH_PRIVILEGE
-STATUS_PRIVILEGE_NOT_HELD            ERROR_PRIVILEGE_NOT_HELD
-STATUS_CANNOT_IMPERSONATE            ERROR_CANNOT_IMPERSONATE
-STATUS_LOGON_FAILURE                 ERROR_LOGON_FAILURE
-
-STATUS_ACCOUNT_RESTRICTION           ERROR_ACCOUNT_RESTRICTION
-STATUS_INVALID_LOGON_HOURS           ERROR_INVALID_LOGON_HOURS
-STATUS_INVALID_WORKSTATION           ERROR_INVALID_WORKSTATION
-STATUS_BUFFER_TOO_SMALL              ERROR_INSUFFICIENT_BUFFER
-STATUS_DISK_CORRUPT_ERROR            ERROR_DISK_CORRUPT
-STATUS_OBJECT_NAME_INVALID           ERROR_INVALID_NAME
-STATUS_OBJECT_NAME_COLLISION         ERROR_ALREADY_EXISTS
-STATUS_OBJECT_PATH_INVALID           ERROR_BAD_PATHNAME
-
-STATUS_OBJECT_PATH_SYNTAX_BAD        ERROR_BAD_PATHNAME
-STATUS_DATA_OVERRUN                  ERROR_IO_DEVICE
-STATUS_DATA_LATE_ERROR               ERROR_IO_DEVICE
-STATUS_QUOTA_EXCEEDED                ERROR_NOT_ENOUGH_QUOTA
-STATUS_MUTANT_NOT_OWNED              ERROR_NOT_OWNER
-
-STATUS_SEMAPHORE_LIMIT_EXCEEDED      ERROR_TOO_MANY_POSTS
-STATUS_DISK_FULL                     ERROR_DISK_FULL
-STATUS_NOT_A_DIRECTORY               ERROR_DIRECTORY
-STATUS_UNKNOWN_REVISION              ERROR_UNKNOWN_REVISION
-STATUS_REVISION_MISMATCH             ERROR_REVISION_MISMATCH
-STATUS_INVALID_OWNER                 ERROR_INVALID_OWNER
-STATUS_INVALID_PRIMARY_GROUP         ERROR_INVALID_PRIMARY_GROUP
-STATUS_NO_IMPERSONATION_TOKEN        ERROR_NO_IMPERSONATION_TOKEN
-
-STATUS_CANT_DISABLE_MANDATORY        ERROR_CANT_DISABLE_MANDATORY
-STATUS_NO_LOGON_SERVERS              ERROR_NO_LOGON_SERVERS
-STATUS_NO_SUCH_LOGON_SESSION         ERROR_NO_SUCH_LOGON_SESSION
-STATUS_INVALID_ACCOUNT_NAME          ERROR_INVALID_ACCOUNT_NAME
-STATUS_USER_EXISTS                   ERROR_USER_EXISTS
-STATUS_NO_SUCH_USER                  ERROR_NO_SUCH_USER
-STATUS_GROUP_EXISTS                  ERROR_GROUP_EXISTS
-STATUS_NO_SUCH_GROUP                 ERROR_NO_SUCH_GROUP
-STATUS_SPECIAL_GROUP                 ERROR_SPECIAL_GROUP
-STATUS_MEMBER_IN_GROUP               ERROR_MEMBER_IN_GROUP
-
-STATUS_MEMBER_NOT_IN_GROUP           ERROR_MEMBER_NOT_IN_GROUP
-STATUS_LAST_ADMIN                    ERROR_LAST_ADMIN
-STATUS_WRONG_PASSWORD                ERROR_INVALID_PASSWORD
-STATUS_WRONG_PASSWORD_CORE           ERROR_INVALID_PASSWORD
-STATUS_ILL_FORMED_PASSWORD           ERROR_ILL_FORMED_PASSWORD
-STATUS_PASSWORD_RESTRICTION          ERROR_PASSWORD_RESTRICTION
-STATUS_PASSWORD_EXPIRED              ERROR_PASSWORD_EXPIRED
-STATUS_ACCOUNT_DISABLED              ERROR_ACCOUNT_DISABLED
-STATUS_NONE_MAPPED                   ERROR_NONE_MAPPED
-STATUS_TOO_MANY_LUIDS_REQUESTED      ERROR_TOO_MANY_LUIDS_REQUESTED
-
-STATUS_LUIDS_EXHAUSTED               ERROR_LUIDS_EXHAUSTED
-STATUS_INVALID_SUB_AUTHORITY         ERROR_INVALID_SUB_AUTHORITY
-STATUS_INVALID_ACL                   ERROR_INVALID_ACL
-STATUS_INVALID_SID                   ERROR_INVALID_SID
-STATUS_INVALID_SECURITY_DESCR        ERROR_INVALID_SECURITY_DESCR
-STATUS_PROCEDURE_NOT_FOUND           ERROR_PROC_NOT_FOUND
-STATUS_BAD_INITIAL_PC                ERROR_BAD_EXE_FORMAT
-STATUS_INVALID_FILE_FOR_SECTION      ERROR_BAD_EXE_FORMAT
-STATUS_INVALID_IMAGE_FORMAT          ERROR_BAD_EXE_FORMAT
-STATUS_INVALID_IMAGE_NOT_MZ          ERROR_BAD_EXE_FORMAT
-
-STATUS_IMAGE_CHECKSUM_MISMATCH       ERROR_BAD_EXE_FORMAT
-STATUS_NO_TOKEN                      ERROR_NO_TOKEN
-STATUS_RANGE_NOT_LOCKED              ERROR_NOT_LOCKED
-STATUS_SERVER_DISABLED               ERROR_SERVER_DISABLED
-STATUS_SERVER_NOT_DISABLED           ERROR_SERVER_NOT_DISABLED
-STATUS_INVALID_ID_AUTHORITY          ERROR_INVALID_ID_AUTHORITY
-STATUS_ALLOTTED_SPACE_EXCEEDED       ERROR_ALLOTTED_SPACE_EXCEEDED
-STATUS_INSUFF_SERVER_RESOURCES       ERROR_NOT_ENOUGH_SERVER_MEMORY
-
-STATUS_FILE_INVALID                  ERROR_FILE_INVALID
-STATUS_MAPPED_FILE_SIZE_ZERO         ERROR_FILE_INVALID
-STATUS_DEVICE_BUSY                   ERROR_BUSY
-
-STATUS_DUPLICATE_NAME                ERROR_DUP_NAME
-STATUS_BAD_NETWORK_PATH              ERROR_BAD_NETPATH
-STATUS_NETWORK_BUSY                  ERROR_NETWORK_BUSY
-STATUS_DEVICE_DOES_NOT_EXIST         ERROR_DEV_NOT_EXIST
-STATUS_TOO_MANY_COMMANDS             ERROR_TOO_MANY_CMDS
-
-STATUS_ADAPTER_HARDWARE_ERROR        ERROR_ADAP_HDW_ERR
-STATUS_REDIRECTOR_NOT_STARTED        ERROR_PATH_NOT_FOUND
-STATUS_INVALID_EA_NAME               ERROR_INVALID_EA_NAME
-STATUS_EA_LIST_INCONSISTENT          ERROR_EA_LIST_INCONSISTENT
-STATUS_EA_TOO_LARGE                  ERROR_EA_LIST_INCONSISTENT
-STATUS_INVALID_EA_FLAG               ERROR_EA_LIST_INCONSISTENT
-STATUS_FILE_CORRUPT_ERROR            ERROR_FILE_CORRUPT
-STATUS_EA_CORRUPT_ERROR              ERROR_FILE_CORRUPT
-STATUS_NONEXISTENT_EA_ENTRY          ERROR_FILE_CORRUPT
-STATUS_NO_EAS_ON_FILE                ERROR_FILE_CORRUPT
-
-STATUS_INVALID_NETWORK_RESPONSE      ERROR_BAD_NET_RESP
-STATUS_USER_SESSION_DELETED          ERROR_UNEXP_NET_ERR
-STATUS_UNEXPECTED_NETWORK_ERROR      ERROR_UNEXP_NET_ERR
-STATUS_BAD_REMOTE_ADAPTER            ERROR_BAD_REM_ADAP
-STATUS_PRINT_QUEUE_FULL              ERROR_PRINTQ_FULL
-STATUS_NO_SPOOL_SPACE                ERROR_NO_SPOOL_SPACE
-STATUS_PRINT_CANCELLED               ERROR_PRINT_CANCELLED
-STATUS_NETWORK_NAME_DELETED          ERROR_NETNAME_DELETED
-STATUS_NETWORK_ACCESS_DENIED         ERROR_NETWORK_ACCESS_DENIED
-STATUS_BAD_DEVICE_TYPE               ERROR_BAD_DEV_TYPE
-
-STATUS_BAD_NETWORK_NAME              ERROR_BAD_NET_NAME
-STATUS_TOO_MANY_NAMES                ERROR_TOO_MANY_NAMES
-STATUS_TOO_MANY_GUIDS_REQUESTED      ERROR_TOO_MANY_NAMES
-STATUS_TOO_MANY_ADDRESSES            ERROR_TOO_MANY_NAMES
-STATUS_TOO_MANY_NODES                ERROR_TOO_MANY_NAMES
-STATUS_TOO_MANY_SESSIONS             ERROR_TOO_MANY_SESS
-STATUS_SHARING_PAUSED                ERROR_SHARING_PAUSED
-STATUS_REQUEST_NOT_ACCEPTED          ERROR_REQ_NOT_ACCEP
-STATUS_REDIRECTOR_PAUSED             ERROR_REDIR_PAUSED
-STATUS_NET_WRITE_FAULT               ERROR_NET_WRITE_FAULT
-
-STATUS_VIRTUAL_CIRCUIT_CLOSED        ERROR_VC_DISCONNECTED
-STATUS_INVALID_PIPE_STATE            ERROR_BAD_PIPE
-STATUS_INVALID_READ_MODE             ERROR_BAD_PIPE
-STATUS_PIPE_CLOSING                  ERROR_NO_DATA
-STATUS_PIPE_EMPTY                    ERROR_NO_DATA
-STATUS_PIPE_CONNECTED                ERROR_PIPE_CONNECTED
-STATUS_PIPE_DISCONNECTED             ERROR_PIPE_NOT_CONNECTED
-STATUS_PIPE_LISTENING                ERROR_PIPE_LISTENING
-STATUS_PIPE_NOT_AVAILABLE            ERROR_PIPE_BUSY
-STATUS_INSTANCE_NOT_AVAILABLE        ERROR_PIPE_BUSY
-
-STATUS_PIPE_BUSY                     ERROR_PIPE_BUSY
-STATUS_PIPE_BROKEN                   ERROR_BROKEN_PIPE
-STATUS_DIRECTORY_NOT_EMPTY           ERROR_DIR_NOT_EMPTY
-STATUS_IO_TIMEOUT                    ERROR_SEM_TIMEOUT
-STATUS_CANCELLED                     ERROR_OPERATION_ABORTED
-STATUS_UNRECOGNIZED_MEDIA            ERROR_UNRECOGNIZED_MEDIA
-STATUS_INVALID_LEVEL                 ERROR_INVALID_LEVEL
-STATUS_UNRECOGNIZED_VOLUME           ERROR_UNRECOGNIZED_VOLUME
-STATUS_FULLSCREEN_MODE               ERROR_FULLSCREEN_MODE
-STATUS_END_OF_MEDIA                  ERROR_END_OF_MEDIA
-STATUS_EOM_OVERFLOW                  ERROR_EOM_OVERFLOW
-STATUS_BEGINNING_OF_MEDIA            ERROR_BEGINNING_OF_MEDIA
-STATUS_MEDIA_CHANGED                 ERROR_MEDIA_CHANGED
-STATUS_BUS_RESET                     ERROR_BUS_RESET
-STATUS_FILEMARK_DETECTED             ERROR_FILEMARK_DETECTED
-STATUS_SETMARK_DETECTED              ERROR_SETMARK_DETECTED
-
-STATUS_NO_DATA_DETECTED              ERROR_NO_DATA_DETECTED
-STATUS_PARTITION_FAILURE             ERROR_PARTITION_FAILURE
-STATUS_INVALID_BLOCK_LENGTH          ERROR_INVALID_BLOCK_LENGTH
-STATUS_DEVICE_NOT_PARTITIONED        ERROR_DEVICE_NOT_PARTITIONED
-STATUS_UNABLE_TO_LOCK_MEDIA          ERROR_UNABLE_TO_LOCK_MEDIA
-STATUS_UNABLE_TO_UNLOAD_MEDIA        ERROR_UNABLE_TO_UNLOAD_MEDIA
-STATUS_UNMAPPABLE_CHARACTER          ERROR_NO_UNICODE_TRANSLATION
-STATUS_NOT_ALL_ASSIGNED              ERROR_NOT_ALL_ASSIGNED
-STATUS_SOME_NOT_MAPPED               ERROR_SOME_NOT_MAPPED
-STATUS_NO_QUOTAS_FOR_ACCOUNT         ERROR_NO_QUOTAS_FOR_ACCOUNT
-
-STATUS_LOCAL_USER_SESSION_KEY        ERROR_LOCAL_USER_SESSION_KEY
-STATUS_NULL_LM_PASSWORD              ERROR_NULL_LM_PASSWORD
-STATUS_BAD_INHERITANCE_ACL           ERROR_BAD_INHERITANCE_ACL
-STATUS_INVALID_GROUP_ATTRIBUTES      ERROR_INVALID_GROUP_ATTRIBUTES
-STATUS_BAD_IMPERSONATION_LEVEL       ERROR_BAD_IMPERSONATION_LEVEL
-STATUS_CANT_OPEN_ANONYMOUS           ERROR_CANT_OPEN_ANONYMOUS
-STATUS_BAD_VALIDATION_CLASS          ERROR_BAD_VALIDATION_CLASS
-STATUS_BAD_TOKEN_TYPE                ERROR_BAD_TOKEN_TYPE
-STATUS_NO_SECURITY_ON_OBJECT         ERROR_NO_SECURITY_ON_OBJECT
-STATUS_CANT_ACCESS_DOMAIN_INFO       ERROR_CANT_ACCESS_DOMAIN_INFO
-
-STATUS_INVALID_SERVER_STATE          ERROR_INVALID_SERVER_STATE
-STATUS_INVALID_DOMAIN_STATE          ERROR_INVALID_DOMAIN_STATE
-STATUS_INVALID_DOMAIN_ROLE           ERROR_INVALID_DOMAIN_ROLE
-STATUS_NO_SUCH_DOMAIN                ERROR_NO_SUCH_DOMAIN
-STATUS_DOMAIN_EXISTS                 ERROR_DOMAIN_EXISTS
-STATUS_DOMAIN_LIMIT_EXCEEDED         ERROR_DOMAIN_LIMIT_EXCEEDED
-STATUS_INTERNAL_DB_CORRUPTION        ERROR_INTERNAL_DB_CORRUPTION
-STATUS_INTERNAL_ERROR                ERROR_INTERNAL_ERROR
-STATUS_GENERIC_NOT_MAPPED            ERROR_GENERIC_NOT_MAPPED
-STATUS_BAD_DESCRIPTOR_FORMAT         ERROR_BAD_DESCRIPTOR_FORMAT
-
-STATUS_NOT_LOGON_PROCESS             ERROR_NOT_LOGON_PROCESS
-STATUS_LOGON_SESSION_EXISTS          ERROR_LOGON_SESSION_EXISTS
-STATUS_NO_SUCH_PACKAGE               ERROR_NO_SUCH_PACKAGE
-STATUS_BAD_LOGON_SESSION_STATE       ERROR_BAD_LOGON_SESSION_STATE
-STATUS_LOGON_SESSION_COLLISION       ERROR_LOGON_SESSION_COLLISION
-STATUS_INVALID_LOGON_TYPE            ERROR_INVALID_LOGON_TYPE
-STATUS_RXACT_INVALID_STATE           ERROR_RXACT_INVALID_STATE
-STATUS_RXACT_COMMIT_FAILURE          ERROR_RXACT_COMMIT_FAILURE
-STATUS_SPECIAL_ACCOUNT               ERROR_SPECIAL_ACCOUNT
-STATUS_SPECIAL_USER                  ERROR_SPECIAL_USER
-
-STATUS_MEMBERS_PRIMARY_GROUP         ERROR_MEMBERS_PRIMARY_GROUP
-STATUS_TOKEN_ALREADY_IN_USE          ERROR_TOKEN_ALREADY_IN_USE
-STATUS_NO_SUCH_ALIAS                 ERROR_NO_SUCH_ALIAS
-STATUS_MEMBER_NOT_IN_ALIAS           ERROR_MEMBER_NOT_IN_ALIAS
-STATUS_MEMBER_IN_ALIAS               ERROR_MEMBER_IN_ALIAS
-STATUS_ALIAS_EXISTS                  ERROR_ALIAS_EXISTS
-STATUS_LOGON_NOT_GRANTED             ERROR_LOGON_NOT_GRANTED
-STATUS_TOO_MANY_SECRETS              ERROR_TOO_MANY_SECRETS
-STATUS_SECRET_TOO_LONG               ERROR_SECRET_TOO_LONG
-STATUS_INTERNAL_DB_ERROR             ERROR_INTERNAL_DB_ERROR
-
-STATUS_TOO_MANY_CONTEXT_IDS          ERROR_TOO_MANY_CONTEXT_IDS
-STATUS_LOGON_TYPE_NOT_GRANTED        ERROR_LOGON_TYPE_NOT_GRANTED
-STATUS_NT_CROSS_ENCRYPTION_REQUIRED  ERROR_NT_CROSS_ENCRYPTION_REQUIRED
-STATUS_NO_SUCH_MEMBER                ERROR_NO_SUCH_MEMBER
-STATUS_INVALID_MEMBER                ERROR_INVALID_MEMBER
-STATUS_TOO_MANY_SIDS                 ERROR_TOO_MANY_SIDS
-STATUS_LM_CROSS_ENCRYPTION_REQUIRED  ERROR_LM_CROSS_ENCRYPTION_REQUIRED
-STATUS_MESSAGE_NOT_FOUND             ERROR_MR_MID_NOT_FOUND
-STATUS_LOCAL_DISCONNECT              ERROR_NETNAME_DELETED
-STATUS_REMOTE_DISCONNECT             ERROR_NETNAME_DELETED
-
-STATUS_REMOTE_RESOURCES              ERROR_REM_NOT_LIST
-STATUS_LINK_FAILED                   ERROR_UNEXP_NET_ERR
-STATUS_LINK_TIMEOUT                  ERROR_UNEXP_NET_ERR
-STATUS_INVALID_CONNECTION            ERROR_UNEXP_NET_ERR
-STATUS_INVALID_ADDRESS               ERROR_UNEXP_NET_ERR
-STATUS_IO_DEVICE_ERROR               ERROR_IO_DEVICE
-STATUS_DEVICE_PROTOCOL_ERROR         ERROR_IO_DEVICE
-STATUS_DRIVER_INTERNAL_ERROR         ERROR_IO_DEVICE
-STATUS_DEVICE_CONFIGURATION_ERROR    ERROR_INVALID_PARAMETER
-
-STATUS_INVALID_USER_BUFFER           ERROR_INVALID_USER_BUFFER
-STATUS_SERIAL_NO_DEVICE_INITED       ERROR_SERIAL_NO_DEVICE
-STATUS_SHARED_IRQ_BUSY               ERROR_IRQ_BUSY
-STATUS_SERIAL_MORE_WRITES            ERROR_MORE_WRITES
-STATUS_SERIAL_COUNTER_TIMEOUT        ERROR_COUNTER_TIMEOUT
-STATUS_FLOPPY_ID_MARK_NOT_FOUND      ERROR_FLOPPY_ID_MARK_NOT_FOUND
-STATUS_FLOPPY_WRONG_CYLINDER         ERROR_FLOPPY_WRONG_CYLINDER
-STATUS_FLOPPY_UNKNOWN_ERROR          ERROR_FLOPPY_UNKNOWN_ERROR
-STATUS_FLOPPY_BAD_REGISTERS          ERROR_FLOPPY_BAD_REGISTERS
-STATUS_DISK_RECALIBRATE_FAILED       ERROR_DISK_RECALIBRATE_FAILED
-
-STATUS_DISK_OPERATION_FAILED         ERROR_DISK_OPERATION_FAILED
-STATUS_DISK_RESET_FAILED             ERROR_DISK_RESET_FAILED
-STATUS_EVENTLOG_FILE_CORRUPT         ERROR_EVENTLOG_FILE_CORRUPT
-STATUS_EVENTLOG_CANT_START           ERROR_EVENTLOG_CANT_START
-STATUS_NETLOGON_NOT_STARTED          ERROR_NETLOGON_NOT_STARTED
-STATUS_ACCOUNT_EXPIRED               ERROR_ACCOUNT_EXPIRED
-STATUS_NETWORK_CREDENTIAL_CONFLICT   ERROR_SESSION_CREDENTIAL_CONFLICT
-STATUS_REMOTE_SESSION_LIMIT          ERROR_REMOTE_SESSION_LIMIT_EXCEEDED
-STATUS_INVALID_BUFFER_SIZE           ERROR_INVALID_USER_BUFFER
-STATUS_INVALID_ADDRESS_COMPONENT     ERROR_INVALID_NETNAME
-
-STATUS_INVALID_ADDRESS_WILDCARD      ERROR_INVALID_NETNAME
-STATUS_ADDRESS_ALREADY_EXISTS        ERROR_DUP_NAME
-STATUS_ADDRESS_CLOSED                ERROR_NETNAME_DELETED
-STATUS_CONNECTION_DISCONNECTED       ERROR_NETNAME_DELETED
-STATUS_CONNECTION_RESET              ERROR_NETNAME_DELETED
-STATUS_TRANSACTION_ABORTED           ERROR_UNEXP_NET_ERR
-STATUS_TRANSACTION_TIMED_OUT         ERROR_UNEXP_NET_ERR
-STATUS_TRANSACTION_NO_RELEASE        ERROR_UNEXP_NET_ERR
-STATUS_TRANSACTION_NO_MATCH          ERROR_UNEXP_NET_ERR
-STATUS_TRANSACTION_RESPONDED         ERROR_UNEXP_NET_ERR
-
-STATUS_TRANSACTION_INVALID_ID        ERROR_UNEXP_NET_ERR
-STATUS_TRANSACTION_INVALID_TYPE      ERROR_UNEXP_NET_ERR
-RPC_NT_SERVER_UNAVAILABLE            RPC_S_SERVER_UNAVAILABLE
-RPC_NT_INVALID_STRING_BINDING        RPC_S_INVALID_STRING_BINDING
-RPC_NT_WRONG_KIND_OF_BINDING         RPC_S_WRONG_KIND_OF_BINDING
-RPC_NT_PROTSEQ_NOT_SUPPORTED         RPC_S_PROTSEQ_NOT_SUPPORTED
-RPC_NT_INVALID_RPC_PROTSEQ           RPC_S_INVALID_RPC_PROTSEQ
-RPC_NT_INVALID_STRING_UUID           RPC_S_INVALID_STRING_UUID
-
-RPC_NT_INVALID_ENDPOINT_FORMAT       RPC_S_INVALID_ENDPOINT_FORMAT
-RPC_NT_INVALID_NET_ADDR              RPC_S_INVALID_NET_ADDR
-RPC_NT_NO_ENDPOINT_FOUND             RPC_S_NO_ENDPOINT_FOUND
-RPC_NT_INVALID_TIMEOUT               RPC_S_INVALID_TIMEOUT
-RPC_NT_OBJECT_NOT_FOUND              RPC_S_OBJECT_NOT_FOUND
-RPC_NT_ALREADY_REGISTERED            RPC_S_ALREADY_REGISTERED
-RPC_NT_TYPE_ALREADY_REGISTERED       RPC_S_TYPE_ALREADY_REGISTERED
-RPC_NT_ALREADY_LISTENING             RPC_S_ALREADY_LISTENING
-RPC_NT_NO_PROTSEQS_REGISTERED        RPC_S_NO_PROTSEQS_REGISTERED
-RPC_NT_NOT_LISTENING                 RPC_S_NOT_LISTENING
-
-RPC_NT_UNKNOWN_MGR_TYPE              RPC_S_UNKNOWN_MGR_TYPE
-RPC_NT_UNKNOWN_IF                    RPC_S_UNKNOWN_IF
-RPC_NT_NO_BINDINGS                   RPC_S_NO_BINDINGS
-RPC_NT_NO_MORE_BINDINGS              RPC_S_NO_MORE_BINDINGS
-RPC_NT_NO_PROTSEQS                   RPC_S_NO_PROTSEQS
-RPC_NT_CANT_CREATE_ENDPOINT          RPC_S_CANT_CREATE_ENDPOINT
-RPC_NT_OUT_OF_RESOURCES              RPC_S_OUT_OF_RESOURCES
-RPC_NT_SERVER_TOO_BUSY               RPC_S_SERVER_TOO_BUSY
-RPC_NT_INVALID_NETWORK_OPTIONS       RPC_S_INVALID_NETWORK_OPTIONS
-RPC_NT_NO_CALL_ACTIVE                RPC_S_NO_CALL_ACTIVE
-
-RPC_NT_CALL_FAILED                   RPC_S_CALL_FAILED
-RPC_NT_CALL_FAILED_DNE               RPC_S_CALL_FAILED_DNE
-RPC_NT_PROTOCOL_ERROR                RPC_S_PROTOCOL_ERROR
-RPC_NT_UNSUPPORTED_TRANS_SYN         RPC_S_UNSUPPORTED_TRANS_SYN
-RPC_NT_UNSUPPORTED_TYPE              RPC_S_UNSUPPORTED_TYPE
-RPC_NT_INVALID_TAG                   RPC_S_INVALID_TAG
-RPC_NT_INVALID_BOUND                 RPC_S_INVALID_BOUND
-RPC_NT_NO_ENTRY_NAME                 RPC_S_NO_ENTRY_NAME
-RPC_NT_INVALID_NAME_SYNTAX           RPC_S_INVALID_NAME_SYNTAX
-RPC_NT_UNSUPPORTED_NAME_SYNTAX       RPC_S_UNSUPPORTED_NAME_SYNTAX
-
-RPC_NT_UUID_NO_ADDRESS               RPC_S_UUID_NO_ADDRESS
-RPC_NT_DUPLICATE_ENDPOINT            RPC_S_DUPLICATE_ENDPOINT
-RPC_NT_UNKNOWN_AUTHN_TYPE            RPC_S_UNKNOWN_AUTHN_TYPE
-RPC_NT_MAX_CALLS_TOO_SMALL           RPC_S_MAX_CALLS_TOO_SMALL
-RPC_NT_STRING_TOO_LONG               RPC_S_STRING_TOO_LONG
-RPC_NT_PROTSEQ_NOT_FOUND             RPC_S_PROTSEQ_NOT_FOUND
-RPC_NT_PROCNUM_OUT_OF_RANGE          RPC_S_PROCNUM_OUT_OF_RANGE
-RPC_NT_BINDING_HAS_NO_AUTH           RPC_S_BINDING_HAS_NO_AUTH
-RPC_NT_UNKNOWN_AUTHN_SERVICE         RPC_S_UNKNOWN_AUTHN_SERVICE
-RPC_NT_UNKNOWN_AUTHN_LEVEL           RPC_S_UNKNOWN_AUTHN_LEVEL
-
-RPC_NT_INVALID_AUTH_IDENTITY         RPC_S_INVALID_AUTH_IDENTITY
-RPC_NT_UNKNOWN_AUTHZ_SERVICE         RPC_S_UNKNOWN_AUTHZ_SERVICE
-EPT_NT_INVALID_ENTRY                 EPT_S_INVALID_ENTRY
-EPT_NT_CANT_PERFORM_OP               EPT_S_CANT_PERFORM_OP
-EPT_NT_NOT_REGISTERED                EPT_S_NOT_REGISTERED
-RPC_NT_NOTHING_TO_EXPORT             RPC_S_NOTHING_TO_EXPORT
-RPC_NT_INCOMPLETE_NAME               RPC_S_INCOMPLETE_NAME
-RPC_NT_INVALID_VERS_OPTION           RPC_S_INVALID_VERS_OPTION
-RPC_NT_NO_MORE_MEMBERS               RPC_S_NO_MORE_MEMBERS
-RPC_NT_NOT_ALL_OBJS_UNEXPORTED       RPC_S_NOT_ALL_OBJS_UNEXPORTED
-
-RPC_NT_INTERFACE_NOT_FOUND           RPC_S_INTERFACE_NOT_FOUND
-RPC_NT_ENTRY_ALREADY_EXISTS          RPC_S_ENTRY_ALREADY_EXISTS
-RPC_NT_ENTRY_NOT_FOUND               RPC_S_ENTRY_NOT_FOUND
-RPC_NT_NAME_SERVICE_UNAVAILABLE      RPC_S_NAME_SERVICE_UNAVAILABLE
-RPC_NT_INVALID_NAF_ID                RPC_S_INVALID_NAF_ID
-RPC_NT_CANNOT_SUPPORT                RPC_S_CANNOT_SUPPORT
-RPC_NT_NO_CONTEXT_AVAILABLE          RPC_S_NO_CONTEXT_AVAILABLE
-RPC_NT_INTERNAL_ERROR                RPC_S_INTERNAL_ERROR
-RPC_NT_ZERO_DIVIDE                   RPC_S_ZERO_DIVIDE
-RPC_NT_ADDRESS_ERROR                 RPC_S_ADDRESS_ERROR
-
-RPC_NT_FP_DIV_ZERO                   RPC_S_FP_DIV_ZERO
-RPC_NT_FP_UNDERFLOW                  RPC_S_FP_UNDERFLOW
-RPC_NT_FP_OVERFLOW                   RPC_S_FP_OVERFLOW
-RPC_NT_NO_MORE_ENTRIES               RPC_X_NO_MORE_ENTRIES
-RPC_NT_SS_CHAR_TRANS_OPEN_FAIL       RPC_X_SS_CHAR_TRANS_OPEN_FAIL
-RPC_NT_SS_CHAR_TRANS_SHORT_FILE      RPC_X_SS_CHAR_TRANS_SHORT_FILE
-RPC_NT_SS_CONTEXT_MISMATCH           ERROR_INVALID_HANDLE
-RPC_NT_SS_CONTEXT_DAMAGED            RPC_X_SS_CONTEXT_DAMAGED
-RPC_NT_SS_HANDLES_MISMATCH           RPC_X_SS_HANDLES_MISMATCH
-RPC_NT_SS_CANNOT_GET_CALL_HANDLE     RPC_X_SS_CANNOT_GET_CALL_HANDLE
-
-RPC_NT_NULL_REF_POINTER              RPC_X_NULL_REF_POINTER
-RPC_NT_ENUM_VALUE_OUT_OF_RANGE       RPC_X_ENUM_VALUE_OUT_OF_RANGE
-RPC_NT_BYTE_COUNT_TOO_SMALL          RPC_X_BYTE_COUNT_TOO_SMALL
-RPC_NT_BAD_STUB_DATA                 RPC_X_BAD_STUB_DATA
-RPC_NT_INVALID_OBJECT                RPC_S_INVALID_OBJECT
-STATUS_NO_TRUST_LSA_SECRET           ERROR_NO_TRUST_LSA_SECRET
-STATUS_NO_TRUST_SAM_ACCOUNT          ERROR_NO_TRUST_SAM_ACCOUNT
-STATUS_TRUSTED_DOMAIN_FAILURE        ERROR_TRUSTED_DOMAIN_FAILURE
-STATUS_TRUSTED_RELATIONSHIP_FAILURE  ERROR_TRUSTED_RELATIONSHIP_FAILURE
-STATUS_TRUST_FAILURE                 ERROR_TRUST_FAILURE
-RPC_NT_CALL_IN_PROGRESS              RPC_S_CALL_IN_PROGRESS
-
-STATUS_LOG_FILE_FULL                 ERROR_LOG_FILE_FULL
-STATUS_EVENTLOG_FILE_CHANGED         ERROR_EVENTLOG_FILE_CHANGED
-
-STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT
-                                 ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT
-
-STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT
-                                 ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT
-
-STATUS_NOLOGON_SERVER_TRUST_ACCOUNT  ERROR_NOLOGON_SERVER_TRUST_ACCOUNT
-STATUS_DOMAIN_TRUST_INCONSISTENT     ERROR_DOMAIN_TRUST_INCONSISTENT
-STATUS_NO_USER_SESSION_KEY           ERROR_NO_USER_SESSION_KEY
-STATUS_POSSIBLE_DEADLOCK             ERROR_POSSIBLE_DEADLOCK
-STATUS_IMAGE_ALREADY_LOADED          ERROR_SERVICE_ALREADY_RUNNING
-RPC_NT_GROUP_MEMBER_NOT_FOUND        RPC_S_GROUP_MEMBER_NOT_FOUND
-
-EPT_NT_CANT_CREATE                   EPT_S_CANT_CREATE
-STATUS_NO_BROWSER_SERVERS_FOUND      ERROR_NO_BROWSER_SERVERS_FOUND
-STATUS_MAPPED_ALIGNMENT              ERROR_MAPPED_ALIGNMENT
-STATUS_CONNECTION_IN_USE             ERROR_DEVICE_IN_USE
-STATUS_VERIFY_REQUIRED               ERROR_MEDIA_CHANGED
-#endif
+       /* now some special cases */
+       if (HIWORD(Status) == 0xc001)
+               return LOWORD(Status);
+       if (HIWORD(Status) == 0x8007)
+               return LOWORD(Status);
 
-       }
        DbgPrint("RTL: RtlNtStatusToDosErrorNoTeb(0x%lx): no valid W32 error mapping\n", Status);
+
        return ERROR_MR_MID_NOT_FOUND;
 }
 
 
-DWORD STDCALL RtlNtStatusToDosError (NTSTATUS Status)
+/**********************************************************************
+ * NAME                                                        EXPORTED
+ *     RtlNtStatusToDosError
+ *
+ * DESCRIPTION
+ *     Convert an Executive status ID into a DOS error number 
+ *     (winerror.h).
+ *
+ * ARGUMENTS
+ *     Status  The Executive status ID to convert.
+ *
+ * RETURN VALUE
+ *     dos error as in winerror.h
+ *
+ * REMARK
+ *     RtlNtStatusToDosErrorNoTeb() does the real work.
+ */
+DWORD
+STDCALL
+RtlNtStatusToDosError (
+       NTSTATUS        Status
+       )
 {
        PNT_TEB Teb = NtCurrentTeb ();
 
        if (NULL != Teb)
        {
-               /* FIXME: save Status in the TEB */
+               Teb->LastStatusValue = Status;
        }
        return RtlNtStatusToDosErrorNoTeb (Status);
 }
@@ -682,5 +968,4 @@ RtlNtStatusToPsxErrno (
        return -1; /* generic POSIX error */
 }
 
-
 /* EOF */
index 972713d..24b5df7 100644 (file)
@@ -1,13 +1,20 @@
-/*
+/* $Id: callback.c,v 1.4 2000/07/04 01:27:58 ekohl Exp $
+ *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
  * FILE:            ntoskrnl/ex/callback.c
- * PURPOSE:         User callbacks
+ * PURPOSE:         Executive callbacks
  * PROGRAMMER:      David Welch (welch@mcmail.com)
  * UPDATE HISTORY:
  *                  Created 22/05/98
  */
 
+/*
+ * NOTE:
+ *     These funtions are not implemented in NT4.
+ *     They are implemented in Win2k.
+ */
+
 /* INCLUDES *****************************************************************/
 
 #include <ddk/ntddk.h>
 
 /* FUNCTIONS *****************************************************************/
 
+NTSTATUS
+STDCALL
+ExCreateCallback (
+       OUT     PCALLBACK_OBJECT        * CallbackObject,
+       IN      POBJECT_ATTRIBUTES      ObjectAttributes,
+       IN      BOOLEAN                 Create,
+       IN      BOOLEAN                 AllowMultipleCallbacks
+       )
+{
+       return STATUS_NOT_IMPLEMENTED;
+}
+
+VOID
+STDCALL
+ExNotifyCallback (
+       IN      PVOID   CallbackObject,
+       IN      PVOID   Argument1,
+       IN      PVOID   Argument2
+       )
+{
+       return;
+}
+
+PVOID
+STDCALL
+ExRegisterCallback (
+       IN      PCALLBACK_OBJECT        CallbackObject,
+       IN      PCALLBACK_FUNCTION      CallbackFunction,
+       IN      PVOID                   CallbackContext
+       )
+{
+       return NULL;
+}
+
+VOID
+STDCALL
+ExUnregisterCallback (
+       IN      PVOID   CallbackRegistration
+       )
+{
+       return;
+}
+
+/*
+ * FIXME:
+ *     The following functions don't belong here.
+ *     Move them somewhere else.
+ */
+
+#if 0
 VOID ExCallUserCallBack(PVOID fn)
 /*
  * FUNCTION: Transfer control to a user callback
@@ -23,15 +80,26 @@ VOID ExCallUserCallBack(PVOID fn)
 {
    UNIMPLEMENTED;
 }
+#endif
 
-NTSTATUS STDCALL NtCallbackReturn(PVOID Result,
-                                 ULONG ResultLength,
-                                 NTSTATUS Status)
+NTSTATUS
+STDCALL
+NtCallbackReturn (
+       PVOID           Result,
+       ULONG           ResultLength,
+       NTSTATUS        Status
+       )
 {
    UNIMPLEMENTED;
 }
 
-NTSTATUS STDCALL NtW32Call(VOID)
+NTSTATUS
+STDCALL
+NtW32Call (
+       VOID
+       )
 {
    UNIMPLEMENTED;
 }
+
+/* EOF */
index 820978c..81e2ae0 100644 (file)
@@ -2,7 +2,7 @@
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
  * FILE:            kernel/ex/init.c
- * PURPOSE:         executive initalization 
+ * PURPOSE:         executive initalization
  * PROGRAMMER:      Eric Kohl (ekohl@abo.rhein-zeitung.de)
  * UPDATE HISTORY:
  *                  Created 11/09/99
@@ -24,4 +24,29 @@ VOID ExInit (VOID)
   ExInitTimeZoneInfo();
 }
 
+
+BOOLEAN
+STDCALL
+ExIsProcessorFeaturePresent (
+       IN      ULONG   ProcessorFeature
+       )
+{
+       if (ProcessorFeature >= 32)
+               return FALSE;
+
+       return FALSE;
+}
+
+
+VOID
+STDCALL
+ExPostSystemEvent (
+       ULONG   Unknown1,
+       ULONG   Unknown2,
+       ULONG   Unknown3
+       )
+{
+       /* doesn't do anything */
+}
+
 /* EOF */
index 855a8f0..1118e37 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: interlck.c,v 1.4 2000/06/07 13:04:34 ekohl Exp $
+/* $Id: interlck.c,v 1.5 2000/07/04 01:27:58 ekohl Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -123,4 +123,40 @@ ExInterlockedIncrementLong (
         return oldval;
 }
 
+VOID
+FASTCALL
+ExInterlockedAddLargeStatistic (
+       IN      PLARGE_INTEGER  Addend,
+       IN      ULONG           Increment
+       )
+{
+       Addend->QuadPart += Increment;
+}
+
+LONGLONG
+FASTCALL
+ExInterlockedCompareExchange64 (
+       IN OUT  PLONGLONG       Destination,
+       IN      PLONGLONG       Exchange,
+       IN      PLONGLONG       Comparand,
+       IN      PKSPIN_LOCK     Lock
+       )
+{
+       KIRQL oldlvl;
+       LONGLONG oldval;
+
+       KeAcquireSpinLock (Lock, &oldlvl);
+
+       oldval = *Destination;
+       if (*Destination == *Comparand)
+       {
+               *Destination = *Exchange;
+       }
+
+       KeReleaseSpinLock (Lock, oldlvl);
+
+       return oldval;
+}
+
+
 /* EOF */
index 7d231a9..f40d327 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: resource.c,v 1.13 2000/07/02 10:48:31 ekohl Exp $
+/* $Id: resource.c,v 1.14 2000/07/04 01:27:58 ekohl Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -19,6 +19,7 @@
  * Flag = bits : ResourceOwnedExclusive=0x80
  *               ResourceNeverExclusive=0x10
  *               ResourceReleaseByOtherThread=0x20
+ *               ResourceDisableBoost=0x08
  * SharedWaiters = semaphore, used to manage wait list of shared waiters.
  * ExclusiveWaiters = event, used to manage wait list of exclusive waiters.
  * OwnerThreads[0]= thread who have exclusive access
@@ -33,6 +34,7 @@
  */
 
 #define ResourceOwnedExclusive 0x80
+#define ResourceDisableBoost   0x08
 
 /* INCLUDES *****************************************************************/
 
@@ -423,6 +425,15 @@ ExConvertExclusiveToSharedLite (
    DPRINT("ExConvertExclusiveToSharedLite() finished\n");
 }
 
+VOID
+STDCALL
+ExDisableResourceBoostLite (
+       PERESOURCE      Resource
+       )
+{
+   Resource->Flag |= ResourceDisableBoost;
+}
+
 ULONG
 STDCALL
 ExGetExclusiveWaiterCount (
@@ -758,4 +769,15 @@ ExReleaseResourceForThreadLite (
    DPRINT("ExReleaseResourceForThreadLite() finished\n");
 }
 
+
+VOID
+STDCALL
+ExSetResourceOwnerPointer (
+       IN      PERESOURCE      Resource,
+       IN      PVOID           OwnerPointer
+       )
+{
+
+}
+
 /* EOF */
index d815f29..84bfe43 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: process.c,v 1.7 2000/07/01 22:37:41 ekohl Exp $
+/* $Id: process.c,v 1.8 2000/07/04 01:29:05 ekohl Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -30,12 +30,12 @@ IoGetInitialStack (
 VOID
 STDCALL
 IoGetStackLimits (
-       PVOID   *StackLimit,
-       PVOID   *StackBase
+       PULONG  LowLimit,
+       PULONG  HighLimit
        )
 {
-       *StackLimit = NtCurrentTeb ()->Tib.StackLimit;
-       *StackBase = NtCurrentTeb ()->Tib.StackBase;
+       *LowLimit = (ULONG)NtCurrentTeb ()->Tib.StackLimit;
+       *HighLimit = (ULONG)NtCurrentTeb ()->Tib.StackBase;
 }
 
 
index 8d2d27a..4770c5f 100644 (file)
 
 /* FUNCTIONS ****************************************************************/
 
-VOID STDCALL KeClearEvent (PKEVENT     Event)
+VOID
+STDCALL
+KeClearEvent (
+       PKEVENT Event
+       )
 {
    DPRINT("KeClearEvent(Event %x)\n", Event);
-   Event->Header.SignalState=FALSE;   
+   Event->Header.SignalState=FALSE;
 }
 
-VOID STDCALL KeInitializeEvent (PKEVENT                Event,
-                               EVENT_TYPE      Type,
-                               BOOLEAN         State)
+VOID
+STDCALL
+KeInitializeEvent (
+       PKEVENT         Event,
+       EVENT_TYPE      Type,
+       BOOLEAN         State
+       )
 {
    ULONG IType;
    
@@ -51,19 +59,31 @@ VOID STDCALL KeInitializeEvent (PKEVENT             Event,
    InitializeListHead(&(Event->Header.WaitListHead));
 }
 
-LONG STDCALL KeReadStateEvent (PKEVENT Event)
+LONG
+STDCALL
+KeReadStateEvent (
+       PKEVENT Event
+       )
 {
    return(Event->Header.SignalState);
 }
 
-LONG STDCALL KeResetEvent (PKEVENT     Event)
+LONG
+STDCALL
+KeResetEvent (
+       PKEVENT Event
+       )
 {
    return(InterlockedExchange(&(Event->Header.SignalState),0));
 }
 
-LONG STDCALL KeSetEvent (PKEVENT               Event,
-                        KPRIORITY      Increment,
-                        BOOLEAN                Wait)
+LONG
+STDCALL
+KeSetEvent (
+       PKEVENT         Event,
+       KPRIORITY       Increment,
+       BOOLEAN         Wait
+       )
 {
    int ret;
 
@@ -74,3 +94,24 @@ LONG STDCALL KeSetEvent (PKEVENT             Event,
    KeReleaseDispatcherDatabaseLock(Wait);
    return(ret);
 }
+
+NTSTATUS
+STDCALL
+KePulseEvent (
+       PKEVENT         Event,
+       KPRIORITY       Increment,
+       BOOLEAN         Wait
+       )
+{
+   int ret;
+
+   DPRINT("KePulseEvent(Event %x, Wait %x)\n",Event,Wait);
+   KeAcquireDispatcherDatabaseLock(Wait);
+   ret = InterlockedExchange(&(Event->Header.SignalState),1);
+   KeDispatcherObjectWake((DISPATCHER_HEADER *)Event);
+   InterlockedExchange(&(Event->Header.SignalState),0);
+   KeReleaseDispatcherDatabaseLock(Wait);
+   return((NTSTATUS)ret);
+}
+
+/* EOF */
index a6ca5ec..e8d8842 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: makefile_rex,v 1.78 2000/07/02 17:31:31 ekohl Exp $
+# $Id: makefile_rex,v 1.79 2000/07/04 01:27:40 ekohl Exp $
 #
 # ReactOS Operating System
 #
@@ -39,6 +39,7 @@ OBJECTS_NT = \
 OBJECTS_RTL = \
        rtl/bitmap.o \
        rtl/ctype.o \
+       rtl/error.o \
        rtl/interlck.o \
        rtl/largeint.o \
        rtl/mem.o \
index f660a59..ba5b0f2 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: ntoskrnl.def,v 1.80 2000/07/02 17:31:32 ekohl Exp $
+; $Id: ntoskrnl.def,v 1.81 2000/07/04 01:27:40 ekohl Exp $
 ;
 ; reactos/ntoskrnl/ntoskrnl.def
 ;
@@ -27,19 +27,19 @@ ExAllocatePoolWithQuota@8
 ExAllocatePoolWithQuotaTag@12
 ExAllocatePoolWithTag@12
 ExConvertExclusiveToSharedLite@4
-;ExCreateCallback
+ExCreateCallback@16
 ExDeleteNPagedLookasideList@4
 ExDeletePagedLookasideList@4
 ExDeleteResource@4
 ExDeleteResourceLite@4
 ExDesktopObjectType DATA
-;ExDisableResourceBoostLite
+ExDisableResourceBoostLite@4
 ExEventObjectType DATA
 ExExtendZone@12
 ExFreePool@4
 ExFreeToPagedLookasideList@8
 ExGetExclusiveWaiterCount@4
-;ExGetPreviousMode
+ExGetPreviousMode@0
 ExGetSharedWaiterCount@4
 ExInitializeNPagedLookasideList
 ExInitializePagedLookasideList
@@ -47,9 +47,11 @@ ExInitializeResource@4
 ExInitializeResourceLite@4
 ExInitializeZone@16
 ExInterlockedAddLargeInteger@16
-;ExInterlockedAddLargeStatistic
+;@ExInterlockedAddLargeStatistic@8
+ExInterlockedAddLargeStatistic@8
 ExInterlockedAddUlong@12
-;ExInterlockedCompareExchange64
+;@ExInterlockedCompareExchange64@16
+ExInterlockedCompareExchange64@16
 ExInterlockedDecrementLong@8
 ExInterlockedExchangeUlong@12
 ExInterlockedExtendZone@16
@@ -61,12 +63,12 @@ ExInterlockedPopEntrySList@8
 ExInterlockedPushEntryList@12
 ExInterlockedPushEntrySList@12
 ExInterlockedRemoveHeadList@8
-;ExIsProcessorFeaturePresent
+ExIsProcessorFeaturePresent@4
 ExIsResourceAcquiredExclusiveLite@4
 ExIsResourceAcquiredSharedLite@4
 ExLocalTimeToSystemTime@8
-;ExNotifyCallback
-;ExPostSystemEvent
+ExNotifyCallback@12
+ExPostSystemEvent@12
 ;ExQueryPoolBlockSize
 ExQueueWorkItem@8
 ExRaiseAccessViolation@0
@@ -74,17 +76,17 @@ ExRaiseDatatypeMisalignment@0
 ;ExRaiseException
 ;ExRaiseHardError
 ExRaiseStatus@4
-;ExRegisterCallback
+ExRegisterCallback@12
 ExReinitializeResourceLite@4
 ExReleaseFastMutexUnsafe@4
 ExReleaseResourceForThread@8
 ExReleaseResourceForThreadLite@8
 ExReleaseResourceLite@4
-;ExSetResourceOwnerPointer
+ExSetResourceOwnerPointer@8
 ;ExSystemExceptionFilter
 ExSystemTimeToLocalTime@8
 ExTryToAcquireResourceExclusiveLite@4
-;ExUnregisterCallback
+ExUnregisterCallback@4
 ExWindowStationObjectType DATA
 ;ExfInterlockedAddUlong
 ;ExfInterlockedInsertHeadList
@@ -366,7 +368,7 @@ KeLoaderBlock DATA
 KeNumberProcessors DATA
 ;KeProfileInterrupt
 ;KeProfileInterruptWithSource
-;KePulseEvent
+KePulseEvent@12
 KeQuerySystemTime@4
 KeQueryTickCount@4
 KeQueryTimeIncrement@0
@@ -626,7 +628,7 @@ RtlAreAllAccessesGranted@8
 RtlAreAnyAccessesGranted@8
 RtlAreBitsClear@12
 RtlAreBitsSet@12
-;RtlAssert
+RtlAssert@16
 ;RtlCaptureStackBackTrace
 RtlCharToInteger@12
 ;RtlCheckRegistryKey
@@ -733,8 +735,8 @@ RtlMoveMemory@12
 RtlMultiByteToUnicodeN@20
 RtlMultiByteToUnicodeSize@12
 ;RtlNextUnicodePrefix
-;RtlNtStatusToDosError
-;RtlNtStatusToDosErrorNoTeb
+RtlNtStatusToDosError@4
+RtlNtStatusToDosErrorNoTeb@4
 ;RtlNumberGenericTableElements
 RtlNumberOfClearBits@4
 RtlNumberOfSetBits@4
index e38b69f..b6fb2e7 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: ntoskrnl.edf,v 1.67 2000/07/02 17:31:32 ekohl Exp $
+; $Id: ntoskrnl.edf,v 1.68 2000/07/04 01:27:40 ekohl Exp $
 ;
 ; reactos/ntoskrnl/ntoskrnl.def
 ;
@@ -27,19 +27,19 @@ ExAllocatePoolWithQuota=ExAllocatePoolWithQuota@8
 ExAllocatePoolWithQuotaTag=ExAllocatePoolWithQuotaTag@12
 ExAllocatePoolWithTag=ExAllocatePoolWithTag@12
 ExConvertExclusiveToSharedLite=ExConvertExclusiveToSharedLite@4
-;ExCreateCallback
+ExCreateCallback=ExCreateCallback@16
 ExDeleteNPagedLookasideList=ExDeleteNPagedLookasideList@4
 ExDeletePagedLookasideList=ExDeletePagedLookasideList@4
 ExDeleteResource=ExDeleteResource@4
 ExDeleteResourceLite=ExDeleteResourceLite@4
 ExDesktopObjectType DATA
-;ExDisableResourceBoostLite
+ExDisableResourceBoostLite=ExDisableResourceBoostLite@4
 ExEventObjectType DATA
 ExExtendZone=ExExtendZone@12
 ExFreePool=ExFreePool@4
 ExFreeToPagedLookasideList=ExFreeToPagedLookasideList@8
 ExGetExclusiveWaiterCount=ExGetExclusiveWaiterCount@4
-;ExGetPreviousMode
+ExGetPreviousMode=ExGetPreviousMode@0
 ExGetSharedWaiterCount=ExGetSharedWaiterCount@4
 ExInitializeNPagedLookasideList=ExInitializeNPagedLookasideList@28
 ExInitializePagedLookasideList=ExInitializePagedLookasideList@28
@@ -47,9 +47,11 @@ ExInitializeResource=ExInitializeResource@4
 ExInitializeResourceLite=ExInitializeResourceLite@4
 ExInitializeZone=ExInitializeZone@16
 ExInterlockedAddLargeInteger=ExInterlockedAddLargeInteger@16
-;ExInterlockedAddLargeStatistic
+;ExInterlockedAddLargeStatistic=@ExInterlockedAddLargeStatistic@8
+ExInterlockedAddLargeStatistic=ExInterlockedAddLargeStatistic@8
 ExInterlockedAddUlong=ExInterlockedAddUlong@12
-;ExInterlockedCompareExchange64
+;ExInterlockedCompareExchange64=@ExInterlockedCompareExchange64@16
+ExInterlockedCompareExchange64=ExInterlockedCompareExchange64@16
 ExInterlockedDecrementLong=ExInterlockedDecrementLong@8
 ExInterlockedExchangeUlong=ExInterlockedExchangeUlong@12
 ExInterlockedExtendZone=ExInterlockedExtendZone@16
@@ -61,28 +63,30 @@ ExInterlockedPopEntrySList=ExInterlockedPopEntrySList@8
 ExInterlockedPushEntryList=ExInterlockedPushEntryList@12
 ExInterlockedPushEntrySList=ExInterlockedPushEntrySList@12
 ExInterlockedRemoveHeadList=ExInterlockedRemoveHeadList@8
-;ExIsProcessorFeaturePresent
+ExIsProcessorFeaturePresent=ExIsProcessorFeaturePresent@4
 ExIsResourceAcquiredExclusiveLite=ExIsResourceAcquiredExclusiveLite@4
 ExIsResourceAcquiredSharedLite=ExIsResourceAcquiredSharedLite@4
 ExLocalTimeToSystemTime=ExLocalTimeToSystemTime@8
-;ExNotifyCallback
-;ExPostSystemEvent
+ExNotifyCallback=ExNotifyCallback@12
+ExPostSystemEvent=ExPostSystemEvent@12
 ;ExQueryPoolBlockSize
 ExQueueWorkItem=ExQueueWorkItem@8
 ExRaiseAccessViolation=ExRaiseAccessViolation@0
 ExRaiseDatatypeMisalignment=ExRaiseDatatypeMisalignment@0
+;ExRaiseException
+;ExRaiseHardError
 ExRaiseStatus=ExRaiseStatus@4
-;ExRegisterCallback
+ExRegisterCallback=ExRegisterCallback@12
 ExReinitializeResourceLite=ExReinitializeResourceLite@4
 ExReleaseFastMutexUnsafe=ExReleaseFastMutexUnsafe@4
 ExReleaseResourceForThread=ExReleaseResourceForThread@8
 ExReleaseResourceForThreadLite=ExReleaseResourceForThreadLite@8
 ExReleaseResourceLite=ExReleaseResourceLite@4
-;ExSetResourceOwnerPointer
+ExSetResourceOwnerPointer=ExSetResourceOwnerPointer@8
 ;ExSystemExceptionFilter
 ExSystemTimeToLocalTime=ExSystemTimeToLocalTime@8
 ExTryToAcquireResourceExclusiveLite=ExTryToAcquireResourceExclusiveLite@4
-;ExUnregisterCallback
+ExUnregisterCallback=ExUnregisterCallback@4
 ExWindowStationObjectType DATA
 ;ExfInterlockedAddUlong
 ;ExfInterlockedInsertHeadList
@@ -364,7 +368,7 @@ KeLoaderBlock DATA
 KeNumberProcessors DATA
 ;KeProfileInterrupt
 ;KeProfileInterruptWithSource
-;KePulseEvent
+KePulseEvent=KePulseEvent@12
 KeQuerySystemTime=KeQuerySystemTime@4
 KeQueryTickCount=KeQueryTickCount@4
 KeQueryTimeIncrement=KeQueryTimeIncrement@0
@@ -524,7 +528,7 @@ NtQueryInformationAtom=NtQueryInformationAtom@20
 NtQueryInformationFile=NtQueryInformationFile@20
 NtQueryInformationProcess=NtQueryInformationProcess@20
 NtQueryInformationToken=NtQueryInformationToken@20
-;NtQueryOleDirectoryFile@ <--- ?
+;NtQueryOleDirectoryFile@44 <--- ?
 NtQuerySecurityObject=NtQuerySecurityObject@20
 NtQuerySystemTime=NtQuerySystemTime@4
 NtQueryVolumeInformationFile=NtQueryVolumeInformationFile@20
@@ -609,6 +613,9 @@ READ_REGISTER_BUFFER_USHORT=READ_REGISTER_BUFFER_USHORT@12
 RtlAbsoluteToSelfRelativeSD=RtlAbsoluteToSelfRelativeSD@12
 RtlAddAccessAllowedAce=RtlAddAccessAllowedAce@16
 RtlAddAce=RtlAddAce@20
+;RtlAddAtomToAtomTable
+;RtlAllocateAndInitializeSid
+;RtlAllocateHeap
 RtlAnsiCharToUnicodeChar=RtlAnsiCharToUnicodeChar@4
 RtlAnsiStringToUnicodeSize=RtlAnsiStringToUnicodeSize@4
 RtlAnsiStringToUnicodeString=RtlAnsiStringToUnicodeString@12
@@ -620,27 +627,50 @@ RtlAreAllAccessesGranted=RtlAreAllAccessesGranted@8
 RtlAreAnyAccessesGranted=RtlAreAnyAccessesGranted@8
 RtlAreBitsClear=RtlAreBitsClear@12
 RtlAreBitsSet=RtlAreBitsSet@12
+RtlAssert=RtlAssert@16
+;RtlCaptureStackBackTrace
 RtlCharToInteger=RtlCharToInteger@12
+;RtlCheckRegistryKey
 RtlClearAllBits=RtlClearAllBits@4
 RtlClearBits=RtlClearBits@12
 RtlCompareMemory=RtlCompareMemory@12
 RtlCompareMemoryUlong=RtlCompareMemoryUlong@12
 RtlCompareString=RtlCompareString@12
 RtlCompareUnicodeString=RtlCompareUnicodeString@12
+;RtlCompressBuffer
+;RtlCompressChunks
 RtlConvertLongToLargeInteger=RtlConvertLongToLargeInteger@4
+;RtlConvertSidToUnicodeString
 RtlConvertUlongToLargeInteger=RtlConvertUlongToLargeInteger@4
 RtlCopyLuid=RtlCopyLuid@8
 RtlCopySid=RtlCopySid@12
 RtlCopyString=RtlCopyString@8
 RtlCopyUnicodeString=RtlCopyUnicodeString@8
 RtlCreateAcl=RtlCreateAcl@12
+;RtlCreateAtomTable
+;RtlCreateHeap
+;RtlCreateRegistryKey
 RtlCreateSecurityDescriptor=RtlCreateSecurityDescriptor@8
 RtlCreateUnicodeString=RtlCreateUnicodeString@8
 RtlCustomCPToUnicodeN=RtlCustomCPToUnicodeN@24
+;RtlDecompressBuffer
+;RtlDecompressChunks
+;RtlDecompressFragment
+;RtlDelete
+;RtlDeleteAtomFromAtomTable
+;RtlDeleteElementGenericTable
+;RtlDeleteNoSplay
+;RtlDeleteRegisterValue
+;RtlDescribeChunk
+;RtlDestroyAtomTable
+;RtlDestroyHeap
 RtlDowncaseUnicodeString=RtlDowncaseUnicodeString@12
+;RtlEmptyAtomTable
 RtlEnlargedIntegerMultiply=RtlEnlargedIntegerMultiply@8
 RtlEnlargedUnsignedDivide=RtlEnlargedUnsignedDivide@16
 RtlEnlargedUnsignedMultiply=RtlEnlargedUnsignedMultiply@8
+;RtlEnumerateGenericTable
+;RtlEnumerateGenericTableWithoutSplaying
 RtlEqualLuid=RtlEqualLuid@8
 RtlEqualSid=RtlEqualSid@8
 RtlEqualString=RtlEqualString@12
@@ -656,23 +686,37 @@ RtlFindFirstRunClear=RtlFindFirstRunClear@8
 RtlFindFirstRunSet=RtlFindFirstRunSet@8
 RtlFindLongestRunClear=RtlFindLongestRunClear@8
 RtlFindLongestRunSet=RtlFindLongestRunSet@8
+;RtlFindMessage
 RtlFindSetBits=RtlFindSetBits@12
 RtlFindSetBitsAndClear=RtlFindSetBitsAndClear@12
+;RtlFindUnicodePrefix
+;RtlFormatCurrentUserKeyPath
 RtlFreeAnsiString=RtlFreeAnsiString@4
+;RtlFreeHeap
 RtlFreeOemString=RtlFreeOemString@4
 RtlFreeUnicodeString=RtlFreeUnicodeString@4
+;RtlGenerate8dot3Name
+;RtlGetCallersAddress
+;RtlGetCompressionWorkSpaceSize
 RtlGetDaclSecurityDescriptor=RtlGetDaclSecurityDescriptor@16
 RtlGetDefaultCodePage=RtlGetDefaultCodePage@8
+;RtlGetElementGenericTable
 RtlGetGroupSecurityDescriptor=RtlGetGroupSecurityDescriptor@12
 RtlGetOwnerSecurityDescriptor=RtlGetOwnerSecurityDescriptor@12
 RtlImageNtHeader=RtlImageNtHeader@4
 RtlInitAnsiString=RtlInitAnsiString@8
+;RtlInitCodePageTable
 RtlInitString=RtlInitString@8
 RtlInitUnicodeString=RtlInitUnicodeString@8
 RtlInitializeBitMap=RtlInitializeBitMap@12
+;RtlInitializeGenericTable
 RtlInitializeSid=RtlInitializeSid@12
+;RtlInitializeUnicodePrefix
+;RtlInsertElementGenericTable
+;RtlInsertUnicodePrefix
 RtlIntegerToChar=RtlIntegerToChar@16
 RtlIntegerToUnicodeString=RtlIntegerToUnicodeString@12
+;RtlIsNameLegalDOS8Dot3
 RtlLargeIntegerAdd=RtlLargeIntegerAdd@16
 RtlLargeIntegerArithmeticShift=RtlLargeIntegerArithmeticShift@12
 RtlLargeIntegerDivide=RtlLargeIntegerDivide@20
@@ -683,17 +727,31 @@ RtlLargeIntegerSubtract=RtlLargeIntegerSubtract@16
 RtlLengthRequiredSid=RtlLengthRequiredSid@4
 RtlLengthSecurityDescriptor=RtlLengthSecurityDescriptor@4
 RtlLengthSid=RtlLengthSid@4
+;RtlLookupAtomInAtomTable
+;RtlLookupElementGenericTable
 RtlMapGenericMask=RtlMapGenericMask@8
 RtlMoveMemory=RtlMoveMemory@12
 RtlMultiByteToUnicodeN=RtlMultiByteToUnicodeN@20
 RtlMultiByteToUnicodeSize=RtlMultiByteToUnicodeSize@12
+;RtlNextUnicodePrefix
+RtlNtStatusToDosError=RtlNtStatusToDosError@4
+RtlNtStatusToDosErrorNoTeb=RtlNtStatusToDosErrorNoTeb@4
+;RtlNumberGenericTableElements
 RtlNumberOfClearBits=RtlNumberOfClearBits@4
 RtlNumberOfSetBits=RtlNumberOfSetBits@4
 RtlOemStringToCountedUnicodeString=RtlOemStringToCountedUnicodeString@12
 RtlOemStringToUnicodeSize=RtlOemStringToUnicodeSize@4
 RtlOemStringToUnicodeString=RtlOemStringToUnicodeString@12
+;RtlPinAtomInAtomTable
 RtlPrefixString=RtlPrefixString@12
 RtlPrefixUnicodeString=RtlPrefixUnicodeString@12
+;RtlQueryAtomInAtomTable
+;RtlQueryRegistryValues
+;RtlQueryTimeZoneInformation
+;RtlRaiseException
+;RtlRandom
+;RtlRemoveUnicodePrefix
+;RtlReserveChunk
 RtlSecondsSince1970ToTime=RtlSecondsSince1970ToTime@8
 RtlSecondsSince1980ToTime=RtlSecondsSince1980ToTime@8
 RtlSetAllBits=RtlSetAllBits@4
@@ -702,6 +760,8 @@ RtlSetDaclSecurityDescriptor=RtlSetDaclSecurityDescriptor@16
 RtlSetGroupSecurityDescriptor=RtlSetGroupSecurityDescriptor@12
 RtlSetOwnerSecurityDescriptor=RtlSetOwnerSecurityDescriptor@12
 RtlSetSaclSecurityDescriptor=RtlSetSaclSecurityDescriptor@16
+;RtlSetTimeZoneInformation
+;RtlSplay
 RtlSubAuthorityCountSid=RtlSubAuthorityCountSid@4
 RtlSubAuthoritySid=RtlSubAuthoritySid@8
 RtlTimeFieldsToTime=RtlTimeFieldsToTime@8
@@ -717,6 +777,8 @@ RtlUnicodeStringToOemString=RtlUnicodeStringToOemString@12
 RtlUnicodeToCustomCPN=RtlUnicodeToCustomCPN@24
 RtlUnicodeToMultiByteN=RtlUnicodeToMultiByteN@20
 RtlUnicodeToMultiByteSize=RtlUnicodeToMultiByteSize@12
+RtlUnicodeToOemN=RtlUnicodeToOemN@20
+;RtlUnwind
 RtlUpcaseUnicodeChar=RtlUpcaseUnicodeChar@4
 RtlUpcaseUnicodeString=RtlUpcaseUnicodeString@12
 RtlUpcaseUnicodeStringToAnsiString=RtlUpcaseUnicodeStringToAnsiString@12
@@ -729,6 +791,8 @@ RtlUpperChar=RtlUpperChar@4
 RtlUpperString=RtlUpperString@8
 RtlValidSecurityDescriptor=RtlValidSecurityDescriptor@4
 RtlValidSid=RtlValidSid@4
+;RtlWriteRegistryValue
+;RtlZeroHeap
 RtlZeroMemory=RtlZeroMemory@8
 RtlxAnsiStringToUnicodeSize=RtlxAnsiStringToUnicodeSize@4
 RtlxOemStringToUnicodeSize=RtlxOemStringToUnicodeSize@4
index 2c8a542..c128a48 100644 (file)
@@ -133,4 +133,14 @@ KeGetPreviousMode (
 }
 
 
+ULONG
+STDCALL
+ExGetPreviousMode (
+       VOID
+       )
+{
+   /* CurrentThread is in ntoskrnl/ps/thread.c */
+   return (ULONG)PsGetCurrentThread()->Tcb.PreviousMode;
+}
+
 /* EOF */
diff --git a/reactos/ntoskrnl/rtl/error.c b/reactos/ntoskrnl/rtl/error.c
new file mode 100644 (file)
index 0000000..92c5d43
--- /dev/null
@@ -0,0 +1,972 @@
+/* $Id: error.c,v 1.1 2000/07/04 01:30:18 ekohl Exp $
+ *
+ * COPYRIGHT:         See COPYING in the top level directory
+ * PROJECT:           ReactOS kernel
+ * PURPOSE:           Rtl error functions
+ * FILE:              lib/ntdll/rtl/error.c
+ * PROGRAMER:         Eric Kohl
+ * REVISION HISTORY:
+ *                    22/07/99: Added RtlNtStatusToDosError.
+ *     1999-11-30: Added RtlNtStatusToPsxErrno.
+ *     1999-12-18: STDCALL RtlNtStatusToDosError
+ */
+
+/*
+ * Partially taken from WINE, original copyright:
+ * 
+ * Copyright 2000 Alexandre Julliard
+ */
+
+/* INCLUDES *****************************************************************/
+
+#include <ddk/ntddk.h>
+#include <windows.h>
+#include <errors.h>
+
+#define NDEBUG
+#include <internal/debug.h>
+
+
+/* TYPES *******************************************************************/
+
+typedef struct _ERROR_TABLE
+{
+    ULONG       Start;
+    ULONG       End;
+    const WORD *Table;
+} ERROR_TABLE, *PERROR_TABLE;
+
+
+/* FUNCTIONS ***************************************************************/
+
+static const WORD table_00000103[11] =
+{
+   ERROR_IO_PENDING,                       /* 00000103 (STATUS_PENDING) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 00000104 (STATUS_REPARSE) */
+   ERROR_MORE_DATA,                        /* 00000105 (STATUS_MORE_ENTRIES) */
+   ERROR_NOT_ALL_ASSIGNED,                 /* 00000106 (STATUS_NOT_ALL_ASSIGNED) */
+   ERROR_SOME_NOT_MAPPED,                  /* 00000107 (STATUS_SOME_NOT_MAPPED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 00000108 (STATUS_OPLOCK_BREAK_IN_PROCESS) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 00000109 (STATUS_VOLUME_MOUNTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 0000010a (STATUS_RXACT_COMMITTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 0000010b (STATUS_NOTIFY_CLEANUP) */
+   ERROR_NOTIFY_ENUM_DIR,                  /* 0000010c (STATUS_NOTIFY_ENUM_DIR) */
+   ERROR_NO_QUOTAS_FOR_ACCOUNT             /* 0000010d (STATUS_NO_QUOTAS_FOR_ACCOUNT) */
+//                                         /* 0000010e (STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED) */
+};
+
+static const WORD table_40000002[12] =
+{
+   ERROR_INVALID_PARAMETER,                /* 40000002 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 40000003 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 40000004 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 40000005 */
+   ERROR_LOCAL_USER_SESSION_KEY,           /* 40000006 (STATUS_LOCAL_USER_SESSION_KEY) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 40000007 */
+   ERROR_MORE_WRITES,                      /* 40000008 (STATUS_SERIAL_MORE_WRITES) */
+   ERROR_REGISTRY_RECOVERED,               /* 40000009 (STATUS_REGISTRY_RECOVERED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 4000000a */
+   ERROR_MR_MID_NOT_FOUND,                 /* 4000000b */
+   ERROR_COUNTER_TIMEOUT,                  /* 4000000c (STATUS_SERIAL_COUNTER_TIMEOUT) */
+   ERROR_NULL_LM_PASSWORD                  /* 4000000d (STATUS_NULL_LM_PASSWORD) */
+};
+
+static const WORD table_40020056[1] =
+{
+   RPC_S_UUID_LOCAL_ONLY                   /* 40020056 */
+};
+
+static const WORD table_400200af[1] =
+{
+   RPC_S_SEND_INCOMPLETE                   /* 400200af */
+};
+
+static const WORD table_80000001[38] =
+{
+   0,                                      /* 80000001 (STATUS_GUARD_PAGE_VIOLATION) */
+   ERROR_NOACCESS,                         /* 80000002 (STATUS_DATATYPE_MISALIGNMENT) */
+   0,                                      /* 80000003 (STATUS_BREAKPOINT) */
+   0,                                      /* 80000004 (STATUS_SINGLE_STEP) */
+   ERROR_MORE_DATA,                        /* 80000005 (STATUS_BUFFER_OVERFLOW) */
+   ERROR_NO_MORE_FILES,                    /* 80000006 (STATUS_NO_MORE_FILES) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000007 (STATUS_WAKE_SYSTEM_DEBUGGER) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000008 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000009 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 8000000a (STATUS_HANDLES_CLOSED) */
+   ERROR_NO_INHERITANCE,                   /* 8000000b (STATUS_NO_INHERITANCE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 8000000c (STATUS_GUID_SUBSTITUTION_MADE) */
+   ERROR_PARTIAL_COPY,                     /* 8000000d (STATUS_PARTIAL_COPY) */
+   ERROR_OUT_OF_PAPER,                     /* 8000000e (STATUS_DEVICE_PAPER_EMPTY) */
+   ERROR_NOT_READY,                        /* 8000000f (STATUS_DEVICE_POWERED_OFF) */
+   ERROR_NOT_READY,                        /* 80000010 (STATUS_DEVICE_OFF_LINE) */
+   ERROR_BUSY,                             /* 80000011 (STATUS_DEVICE_BUSY) */
+   ERROR_NO_MORE_ITEMS,                    /* 80000012 (STATUS_NO_MORE_EAS) */
+   ERROR_INVALID_EA_NAME,                  /* 80000013 (STATUS_INVALID_EA_NAME) */
+   ERROR_EA_LIST_INCONSISTENT,             /* 80000014 (STATUS_EA_LIST_INCONSISTENT) */
+   ERROR_EA_LIST_INCONSISTENT,             /* 80000015 (STATUS_INVALID_EA_FLAG) */
+   ERROR_MEDIA_CHANGED,                    /* 80000016 (STATUS_VERIFY_REQUIRED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000017 (STATUS_EXTRANEOUS_INFORMATION) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000018 (STATUS_RXACT_COMMIT_NECESSARY) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000019 */
+   ERROR_NO_MORE_ITEMS,                    /* 8000001a (STATUS_NO_MORE_ENTRIES) */
+   ERROR_FILEMARK_DETECTED,                /* 8000001b (STATUS_FILEMARK_DETECTED) */
+   ERROR_MEDIA_CHANGED,                    /* 8000001c (STATUS_MEDIA_CHANGED) */
+   ERROR_BUS_RESET,                        /* 8000001d (STATUS_BUS_RESET) */
+   ERROR_END_OF_MEDIA,                     /* 8000001e (STATUS_END_OF_MEDIA) */
+   ERROR_BEGINNING_OF_MEDIA,               /* 8000001f (STATUS_BEGINNING_OF_MEDIA) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000020 (STATUS_MEDIA_CHECK) */
+   ERROR_SETMARK_DETECTED,                 /* 80000021 (STATUS_SETMARK_DETECTED) */
+   ERROR_NO_DATA_DETECTED,                 /* 80000022 (STATUS_NO_DATA_DETECTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000023 (STATUS_REDIRECTOR_HAS_OPEN_HANDLES) */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80000024 (STATUS_SERVER_HAS_OPEN_HANDLES) */
+   ERROR_ACTIVE_CONNECTIONS,               /* 80000025 (STATUS_ALREADY_DISCONNECTED) */
+   ERROR_MR_MID_NOT_FOUND                  /* 80000026 (STATUS_LONGJUMP) */
+};
+
+static const WORD table_80090300[23] =
+{
+   ERROR_NO_SYSTEM_RESOURCES,              /* 80090300 */
+   ERROR_INVALID_HANDLE,                   /* 80090301 */
+   ERROR_INVALID_FUNCTION,                 /* 80090302 */
+   ERROR_BAD_NETPATH,                      /* 80090303 */
+   ERROR_INTERNAL_ERROR,                   /* 80090304 */
+   ERROR_NO_SUCH_PACKAGE,                  /* 80090305 */
+   ERROR_NOT_OWNER,                        /* 80090306 */
+   ERROR_NO_SUCH_PACKAGE,                  /* 80090307 */
+   ERROR_INVALID_PARAMETER,                /* 80090308 */
+   ERROR_INVALID_PARAMETER,                /* 80090309 */
+   ERROR_NOT_SUPPORTED,                    /* 8009030a */
+   ERROR_CANNOT_IMPERSONATE,               /* 8009030b */
+   ERROR_LOGON_FAILURE,                    /* 8009030c */
+   ERROR_INVALID_PARAMETER,                /* 8009030d */
+   ERROR_NO_SUCH_LOGON_SESSION,            /* 8009030e */
+   ERROR_ACCESS_DENIED,                    /* 8009030f */
+   ERROR_ACCESS_DENIED,                    /* 80090310 */
+   ERROR_NO_LOGON_SERVERS,                 /* 80090311 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80090312 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80090313 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80090314 */
+   ERROR_MR_MID_NOT_FOUND,                 /* 80090315 */
+   ERROR_NO_SUCH_PACKAGE                   /* 80090316 */
+};
+
+static const WORD table_c0000001[411] =
+{
+   ERROR_GEN_FAILURE,                      /* c0000001 (STATUS_UNSUCCESSFUL) */
+   ERROR_INVALID_FUNCTION,                 /* c0000002 (STATUS_NOT_IMPLEMENTED) */
+   ERROR_INVALID_PARAMETER,                /* c0000003 (STATUS_INVALID_INFO_CLASS) */
+   ERROR_BAD_LENGTH,                       /* c0000004 (STATUS_INFO_LENGTH_MISMATCH) */
+   ERROR_NOACCESS,                         /* c0000005 (STATUS_ACCESS_VIOLATION) */
+   ERROR_SWAPERROR,                        /* c0000006 (STATUS_IN_PAGE_ERROR) */
+   ERROR_PAGEFILE_QUOTA,                   /* c0000007 (STATUS_PAGEFILE_QUOTA) */
+   ERROR_INVALID_HANDLE,                   /* c0000008 (STATUS_INVALID_HANDLE) */
+   ERROR_STACK_OVERFLOW,                   /* c0000009 (STATUS_BAD_INITIAL_STACK) */
+   ERROR_BAD_EXE_FORMAT,                   /* c000000a (STATUS_BAD_INITIAL_PC) */
+   ERROR_INVALID_PARAMETER,                /* c000000b (STATUS_INVALID_CID) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000000c (STATUS_TIMER_NOT_CANCELED) */
+   ERROR_INVALID_PARAMETER,                /* c000000d (STATUS_INVALID_PARAMETER) */
+   ERROR_FILE_NOT_FOUND,                   /* c000000e (STATUS_NO_SUCH_DEVICE) */
+   ERROR_FILE_NOT_FOUND,                   /* c000000f (STATUS_NO_SUCH_FILE) */
+   ERROR_INVALID_FUNCTION,                 /* c0000010 (STATUS_INVALID_DEVICE_REQUEST) */
+   ERROR_HANDLE_EOF,                       /* c0000011 (STATUS_END_OF_FILE) */
+   ERROR_WRONG_DISK,                       /* c0000012 (STATUS_WRONG_VOLUME) */
+   ERROR_NOT_READY,                        /* c0000013 (STATUS_NO_MEDIA_IN_DEVICE) */
+   ERROR_UNRECOGNIZED_MEDIA,               /* c0000014 (STATUS_UNRECOGNIZED_MEDIA) */
+   ERROR_SECTOR_NOT_FOUND,                 /* c0000015 (STATUS_NONEXISTENT_SECTOR) */
+   ERROR_MORE_DATA,                        /* c0000016 (STATUS_MORE_PROCESSING_REQUIRED) */
+   ERROR_NOT_ENOUGH_MEMORY,                /* c0000017 (STATUS_NO_MEMORY) */
+   ERROR_INVALID_ADDRESS,                  /* c0000018 (STATUS_CONFLICTING_ADDRESSES) */
+   ERROR_INVALID_ADDRESS,                  /* c0000019 (STATUS_NOT_MAPPED_VIEW) */
+   ERROR_INVALID_PARAMETER,                /* c000001a (STATUS_UNABLE_TO_FREE_VM) */
+   ERROR_INVALID_PARAMETER,                /* c000001b (STATUS_UNABLE_TO_DELETE_SECTION) */
+   ERROR_INVALID_FUNCTION,                 /* c000001c (STATUS_INVALID_SYSTEM_SERVICE) */
+   0,                                      /* c000001d (STATUS_ILLEGAL_INSTRUCTION) */
+   ERROR_ACCESS_DENIED,                    /* c000001e (STATUS_INVALID_LOCK_SEQUENCE) */
+   ERROR_ACCESS_DENIED,                    /* c000001f (STATUS_INVALID_VIEW_SIZE) */
+   ERROR_BAD_EXE_FORMAT,                   /* c0000020 (STATUS_INVALID_FILE_FOR_SECTION) */
+   ERROR_ACCESS_DENIED,                    /* c0000021 (STATUS_ALREADY_COMMITTED) */
+   ERROR_ACCESS_DENIED,                    /* c0000022 (STATUS_ACCESS_DENIED) */
+   ERROR_INSUFFICIENT_BUFFER,              /* c0000023 (STATUS_BUFFER_TOO_SMALL) */
+   ERROR_INVALID_HANDLE,                   /* c0000024 (STATUS_OBJECT_TYPE_MISMATCH) */
+   0,                                      /* c0000025 (STATUS_NONCONTINUABLE_EXCEPTION) */
+   0,                                      /* c0000026 (STATUS_INVALID_DISPOSITION) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000027 (STATUS_UNWIND) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000028 (STATUS_BAD_STACK) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000029 (STATUS_INVALID_UNWIND_TARGET) */
+   ERROR_NOT_LOCKED,                       /* c000002a (STATUS_NOT_LOCKED) */
+   0,                                      /* c000002b (STATUS_PARITY_ERROR) */
+   ERROR_INVALID_ADDRESS,                  /* c000002c (STATUS_UNABLE_TO_DECOMMIT_VM) */
+   ERROR_INVALID_ADDRESS,                  /* c000002d (STATUS_NOT_COMMITTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000002e (STATUS_INVALID_PORT_ATTRIBUTES) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000002f (STATUS_PORT_MESSAGE_TOO_LONG) */
+   ERROR_INVALID_PARAMETER,                /* c0000030 (STATUS_INVALID_PARAMETER_MIX) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000031 (STATUS_INVALID_QUOTA_LOWER) */
+   ERROR_DISK_CORRUPT,                     /* c0000032 (STATUS_DISK_CORRUPT_ERROR) */
+   ERROR_INVALID_NAME,                     /* c0000033 (STATUS_OBJECT_NAME_INVALID) */
+   ERROR_FILE_NOT_FOUND,                   /* c0000034 (STATUS_OBJECT_NAME_NOT_FOUND) */
+   ERROR_ALREADY_EXISTS,                   /* c0000035 (STATUS_OBJECT_NAME_COLLISION) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000036 */
+   ERROR_INVALID_HANDLE,                   /* c0000037 (STATUS_PORT_DISCONNECTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000038 (STATUS_DEVICE_ALREADY_ATTACHED) */
+   ERROR_BAD_PATHNAME,                     /* c0000039 (STATUS_OBJECT_PATH_INVALID) */
+   ERROR_PATH_NOT_FOUND,                   /* c000003a (STATUS_OBJECT_PATH_NOT_FOUND) */
+   ERROR_BAD_PATHNAME,                     /* c000003b (STATUS_PATH_SYNTAX_BAD) */
+   ERROR_IO_DEVICE,                        /* c000003c (STATUS_DATA_OVERRUN) */
+   ERROR_IO_DEVICE,                        /* c000003d (STATUS_DATA_LATE_ERROR) */
+   ERROR_CRC,                              /* c000003e (STATUS_DATA_ERROR) */
+   ERROR_CRC,                              /* c000003f (STATUS_CRC_ERROR) */
+   ERROR_NOT_ENOUGH_MEMORY,                /* c0000040 (STATUS_SECTION_TOO_BIG) */
+   ERROR_ACCESS_DENIED,                    /* c0000041 (STATUS_PORT_CONNECTION_REFUSED) */
+   ERROR_INVALID_HANDLE,                   /* c0000042 (STATUS_INVALID_PORT_HANDLE) */
+   ERROR_SHARING_VIOLATION,                /* c0000043 (STATUS_SHARING_VIOLATION) */
+   ERROR_NOT_ENOUGH_QUOTA,                 /* c0000044 (STATUS_QUOTA_EXCEEDED) */
+   ERROR_INVALID_PARAMETER,                /* c0000045 (STATUS_INVALID_PAGE_PROTECTION) */
+   ERROR_NOT_OWNER,                        /* c0000046 (STATUS_MUTANT_NOT_OWNED) */
+   ERROR_TOO_MANY_POSTS,                   /* c0000047 (STATUS_SEMAPHORE_LIMIT_EXCEEDED) */
+   ERROR_INVALID_PARAMETER,                /* c0000048 (STATUS_PORT_ALREADY_SET) */
+   ERROR_INVALID_PARAMETER,                /* c0000049 (STATUS_SECTION_NOT_IMAGE) */
+   ERROR_SIGNAL_REFUSED,                   /* c000004a (STATUS_SUSPEND_COUNT_EXCEEDED) */
+   ERROR_ACCESS_DENIED,                    /* c000004b (STATUS_THREAD_IS_TERMINATING) */
+   ERROR_INVALID_PARAMETER,                /* c000004c (STATUS_BAD_WORKING_SET_LIMIT) */
+   ERROR_INVALID_PARAMETER,                /* c000004d (STATUS_INCOMPATIBLE_FILE_MAP) */
+   ERROR_INVALID_PARAMETER,                /* c000004e (STATUS_SECTION_PROTECTION) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000004f (STATUS_EAS_NOT_SUPPORTED) */
+   ERROR_EA_LIST_INCONSISTENT,             /* c0000050 (STATUS_EA_TOO_LARGE) */
+   ERROR_FILE_CORRUPT,                     /* c0000051 (STATUS_NONEXISTENT_EA_ENTRY) */
+   ERROR_FILE_CORRUPT,                     /* c0000052 (STATUS_NO_EAS_ON_FILE) */
+   ERROR_FILE_CORRUPT,                     /* c0000053 (STATUS_EA_CORRUPT_ERROR) */
+   ERROR_LOCK_VIOLATION,                   /* c0000054 (STATUS_LOCK_NOT_GRANTED) */
+   ERROR_LOCK_VIOLATION,                   /* c0000055 (STATUS_FILE_LOCK_CONFLICT) */
+   ERROR_ACCESS_DENIED,                    /* c0000056 (STATUS_DELETE_PENDING) */
+   ERROR_NOT_SUPPORTED,                    /* c0000057 (STATUS_CTL_FILE_NOT_SUPPORTED) */
+   ERROR_UNKNOWN_REVISION,                 /* c0000058 (STATUS_UNKNOWN_REVISION) */
+   ERROR_REVISION_MISMATCH,                /* c0000059 (STATUS_REVISION_MISMATCH) */
+   ERROR_INVALID_OWNER,                    /* c000005a (STATUS_INVALID_OWNER) */
+   ERROR_INVALID_PRIMARY_GROUP,            /* c000005b (STATUS_INVALID_PRIMARY_GROUP) */
+   ERROR_NO_IMPERSONATION_TOKEN,           /* c000005c (STATUS_NO_IMPERSONATION_TOKEN) */
+   ERROR_CANT_DISABLE_MANDATORY,           /* c000005d (STATUS_CANT_DISABLE_MANDATORY) */
+   ERROR_NO_LOGON_SERVERS,                 /* c000005e (STATUS_NO_LOGON_SERVERS) */
+   ERROR_NO_SUCH_LOGON_SESSION,            /* c000005f (STATUS_NO_SUCH_LOGON_SESSION) */
+   ERROR_NO_SUCH_PRIVILEGE,                /* c0000060 (STATUS_NO_SUCH_PRIVILEGE) */
+   ERROR_PRIVILEGE_NOT_HELD,               /* c0000061 (STATUS_PRIVILEGE_NOT_HELD) */
+   ERROR_INVALID_ACCOUNT_NAME,             /* c0000062 (STATUS_INVALID_ACCOUNT_NAME) */
+   ERROR_USER_EXISTS,                      /* c0000063 (STATUS_USER_EXISTS) */
+   ERROR_NO_SUCH_USER,                     /* c0000064 (STATUS_NO_SUCH_USER) */
+   ERROR_GROUP_EXISTS,                     /* c0000065 (STATUS_GROUP_EXISTS) */
+   ERROR_NO_SUCH_GROUP,                    /* c0000066 (STATUS_NO_SUCH_GROUP) */
+   ERROR_MEMBER_IN_GROUP,                  /* c0000067 (STATUS_MEMBER_IN_GROUP) */
+   ERROR_MEMBER_NOT_IN_GROUP,              /* c0000068 (STATUS_MEMBER_NOT_IN_GROUP) */
+   ERROR_LAST_ADMIN,                       /* c0000069 (STATUS_LAST_ADMIN) */
+   ERROR_INVALID_PASSWORD,                 /* c000006a (STATUS_WRONG_PASSWORD) */
+   ERROR_ILL_FORMED_PASSWORD,              /* c000006b (STATUS_ILL_FORMED_PASSWORD) */
+   ERROR_PASSWORD_RESTRICTION,             /* c000006c (STATUS_PASSWORD_RESTRICTION) */
+   ERROR_LOGON_FAILURE,                    /* c000006d (STATUS_LOGON_FAILURE) */
+   ERROR_ACCOUNT_RESTRICTION,              /* c000006e (STATUS_ACCOUNT_RESTRICTION) */
+   ERROR_INVALID_LOGON_HOURS,              /* c000006f (STATUS_INVALID_LOGON_HOURS) */
+   ERROR_INVALID_WORKSTATION,              /* c0000070 (STATUS_INVALID_WORKSTATION) */
+   ERROR_PASSWORD_EXPIRED,                 /* c0000071 (STATUS_PASSWORD_EXPIRED) */
+   ERROR_ACCOUNT_DISABLED,                 /* c0000072 (STATUS_ACCOUNT_DISABLED) */
+   ERROR_NONE_MAPPED,                      /* c0000073 (STATUS_NONE_MAPPED) */
+   ERROR_TOO_MANY_LUIDS_REQUESTED,         /* c0000074 (STATUS_TOO_MANY_LUIDS_REQUESTED) */
+   ERROR_LUIDS_EXHAUSTED,                  /* c0000075 (STATUS_LUIDS_EXHAUSTED) */
+   ERROR_INVALID_SUB_AUTHORITY,            /* c0000076 (STATUS_INVALID_SUB_AUTHORITY) */
+   ERROR_INVALID_ACL,                      /* c0000077 (STATUS_INVALID_ACL) */
+   ERROR_INVALID_SID,                      /* c0000078 (STATUS_INVALID_SID) */
+   ERROR_INVALID_SECURITY_DESCR,           /* c0000079 (STATUS_INVALID_SECURITY_DESCR) */
+   ERROR_PROC_NOT_FOUND,                   /* c000007a (STATUS_PROCEDURE_NOT_FOUND) */
+   ERROR_BAD_EXE_FORMAT,                   /* c000007b (STATUS_INVALID_IMAGE_FORMAT) */
+   ERROR_NO_TOKEN,                         /* c000007c (STATUS_NO_TOKEN) */
+   ERROR_BAD_INHERITANCE_ACL,              /* c000007d (STATUS_BAD_INHERITANCE_ACL) */
+   ERROR_NOT_LOCKED,                       /* c000007e (STATUS_RANGE_NOT_LOCKED) */
+   ERROR_DISK_FULL,                        /* c000007f (STATUS_DISK_FULL) */
+   ERROR_SERVER_DISABLED,                  /* c0000080 (STATUS_SERVER_DISABLED) */
+   ERROR_SERVER_NOT_DISABLED,              /* c0000081 (STATUS_SERVER_NOT_DISABLED) */
+   ERROR_TOO_MANY_NAMES,                   /* c0000082 (STATUS_TOO_MANY_GUIDS_REQUESTED) */
+   ERROR_NO_MORE_ITEMS,                    /* c0000083 (STATUS_GUIDS_EXHAUSTED) */
+   ERROR_INVALID_ID_AUTHORITY,             /* c0000084 (STATUS_INVALID_ID_AUTHORITY) */
+   ERROR_NO_MORE_ITEMS,                    /* c0000085 (STATUS_AGENTS_EXHAUSTED) */
+   ERROR_LABEL_TOO_LONG,                   /* c0000086 (STATUS_INVALID_VOLUME_LABEL) */
+   ERROR_OUTOFMEMORY,                      /* c0000087 (STATUS_SECTION_NOT_EXTENDED) */
+   ERROR_INVALID_ADDRESS,                  /* c0000088 (STATUS_NOT_MAPPED_DATA) */
+   ERROR_RESOURCE_DATA_NOT_FOUND,          /* c0000089 (STATUS_RESOURCE_DATA_NOT_FOUND) */
+   ERROR_RESOURCE_TYPE_NOT_FOUND,          /* c000008a (STATUS_RESOURCE_TYPE_NOT_FOUND) */
+   ERROR_RESOURCE_NAME_NOT_FOUND,          /* c000008b (STATUS_RESOURCE_NAME_NOT_FOUND) */
+   0,                                      /* c000008c (STATUS_ARRAY_BOUNDS_EXCEEDED) */
+   0,                                      /* c000008d (STATUS_FLOAT_DENORMAL_OPERAND) */
+   0,                                      /* c000008e (STATUS_FLOAT_DIVIDE_BY_ZERO) */
+   0,                                      /* c000008f (STATUS_FLOAT_INEXACT_RESULT) */
+   0,                                      /* c0000090 (STATUS_FLOAT_INVALID_OPERATION) */
+   0,                                      /* c0000091 (STATUS_FLOAT_OVERFLOW) */
+   0,                                      /* c0000092 (STATUS_FLOAT_STACK_CHECK) */
+   0,                                      /* c0000093 (STATUS_FLOAT_UNDERFLOW) */
+   0,                                      /* c0000094 (STATUS_INTEGER_DIVIDE_BY_ZERO) */
+   ERROR_ARITHMETIC_OVERFLOW,              /* c0000095 (STATUS_INTEGER_OVERFLOW) */
+   0,                                      /* c0000096 (STATUS_PRIVILEGED_INSTRUCTION) */
+   ERROR_NOT_ENOUGH_MEMORY,                /* c0000097 (STATUS_TOO_MANY_PAGING_FILES) */
+   ERROR_FILE_INVALID,                     /* c0000098 (STATUS_FILE_INVALID) */
+   ERROR_ALLOTTED_SPACE_EXCEEDED,          /* c0000099 (STATUS_ALLOTTED_SPACE_EXCEEDED) */
+   ERROR_NO_SYSTEM_RESOURCES,              /* c000009a (STATUS_INSUFFICIENT_RESOURCES) */
+   ERROR_PATH_NOT_FOUND,                   /* c000009b (STATUS_DFS_EXIT_PATH_FOUND) */
+   ERROR_CRC,                              /* c000009c (STATUS_DEVICE_DATA_ERROR) */
+   ERROR_NOT_READY,                        /* c000009d (STATUS_DEVICE_NOT_CONNECTED) */
+   ERROR_NOT_READY,                        /* c000009e (STATUS_DEVICE_POWER_FAILURE) */
+   ERROR_INVALID_ADDRESS,                  /* c000009f (STATUS_FREE_VM_NOT_AT_BASE) */
+   ERROR_INVALID_ADDRESS,                  /* c00000a0 (STATUS_MEMORY_NOT_ALLOCATED) */
+   ERROR_WORKING_SET_QUOTA,                /* c00000a1 (STATUS_WORKING_SET_QUOTA) */
+   ERROR_WRITE_PROTECT,                    /* c00000a2 (STATUS_MEDIA_WRITE_PROTECTED) */
+   ERROR_NOT_READY,                        /* c00000a3 (STATUS_DEVICE_NOT_READY) */
+   ERROR_INVALID_GROUP_ATTRIBUTES,         /* c00000a4 (STATUS_INVALID_GROUP_ATTRIBUTES) */
+   ERROR_BAD_IMPERSONATION_LEVEL,          /* c00000a5 (STATUS_BAD_IMPERSONATION_LEVEL) */
+   ERROR_CANT_OPEN_ANONYMOUS,              /* c00000a6 (STATUS_CANT_OPEN_ANONYMOUS) */
+   ERROR_BAD_VALIDATION_CLASS,             /* c00000a7 (STATUS_BAD_VALIDATION_CLASS) */
+   ERROR_BAD_TOKEN_TYPE,                   /* c00000a8 (STATUS_BAD_TOKEN_TYPE)*/
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000a9 (STATUS_BAD_MASTER_BOOT_RECORD) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000aa (STATUS_INSTRUCTION_MISALIGNMENT) */
+   ERROR_PIPE_BUSY,                        /* c00000ab (STATUS_INSTANCE_NOT_AVAILABLE) */
+   ERROR_PIPE_BUSY,                        /* c00000ac (STATUS_PIPE_NOT_AVAILABLE) */
+   ERROR_BAD_PIPE,                         /* c00000ad (STATUS_INVALID_PIPE_STATE) */
+   ERROR_PIPE_BUSY,                        /* c00000ae (STATUS_PIPE_BUSY) */
+   ERROR_INVALID_FUNCTION,                 /* c00000af (STATUS_ILLEGAL_FUNCTION) */
+   ERROR_PIPE_NOT_CONNECTED,               /* c00000b0 (STATUS_PIPE_DISCONNECTED) */
+   ERROR_NO_DATA,                          /* c00000b1 (STATUS_PIPE_CLOSING) */
+   ERROR_PIPE_CONNECTED,                   /* c00000b2 (STATUS_PIPE_CONNECTED) */
+   ERROR_PIPE_LISTENING,                   /* c00000b3 (STATUS_PIPE_LISTENING) */
+   ERROR_BAD_PIPE,                         /* c00000b4 (STATUS_INVALID_READ_MODE) */
+   ERROR_SEM_TIMEOUT,                      /* c00000b5 (STATUS_IO_TIMEOUT) */
+   ERROR_HANDLE_EOF,                       /* c00000b6 (STATUS_FILE_FORCED_CLOSED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000b7 (STATUS_PROFILING_NOT_STARTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000b8 (STATUS_PROFILING_NOT_STOPPED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000b9 (STATUS_COULD_NOT_INTERPRET) */
+   ERROR_ACCESS_DENIED,                    /* c00000ba (STATUS_FILE_IS_A_DIRECTORY) */
+   ERROR_NOT_SUPPORTED,                    /* c00000bb (STATUS_NOT_SUPPORTED) */
+   ERROR_REM_NOT_LIST,                     /* c00000bc (STATUS_REMOTE_NOT_LISTENING) */
+   ERROR_DUP_NAME,                         /* c00000bd (STATUS_DUPLICATE_NAME) */
+   ERROR_BAD_NETPATH,                      /* c00000be (STATUS_BAD_NETWORK_PATH) */
+   ERROR_NETWORK_BUSY,                     /* c00000bf (STATUS_NETWORK_BUSY) */
+   ERROR_DEV_NOT_EXIST,                    /* c00000c0 (STATUS_DEVICE_DOES_NOT_EXIST) */
+   ERROR_TOO_MANY_CMDS,                    /* c00000c1 (STATUS_TOO_MANY_COMMANDS) */
+   ERROR_ADAP_HDW_ERR,                     /* c00000c2 (STATUS_ADAPTER_HARDWARE_ERROR) */
+   ERROR_BAD_NET_RESP,                     /* c00000c3 (STATUS_INVALID_NETWORK_RESPONSE) */
+   ERROR_UNEXP_NET_ERR,                    /* c00000c4 (STATUS_UNEXPECTED_NETWORK_ERROR) */
+   ERROR_BAD_REM_ADAP,                     /* c00000c5 (STATUS_BAD_REMOTE_ADAPTER) */
+   ERROR_PRINTQ_FULL,                      /* c00000c6 (STATUS_PRINT_QUEUE_FULL) */
+   ERROR_NO_SPOOL_SPACE,                   /* c00000c7 (STATUS_NO_SPOOL_SPACE) */
+   ERROR_PRINT_CANCELLED,                  /* c00000c8 (STATUS_PRINT_CANCELLED) */
+   ERROR_NETNAME_DELETED,                  /* c00000c9 (STATUS_NETWORK_NAME_DELETED) */
+   ERROR_NETWORK_ACCESS_DENIED,            /* c00000ca (STATUS_NETWORK_ACCESS_DENIED) */
+   ERROR_BAD_DEV_TYPE,                     /* c00000cb (STATUS_BAD_DEVICE_TYPE) */
+   ERROR_BAD_NET_NAME,                     /* c00000cc (STATUS_BAD_NETWORK_NAME) */
+   ERROR_TOO_MANY_NAMES,                   /* c00000cd (STATUS_TOO_MANY_NAMES) */
+   ERROR_TOO_MANY_SESS,                    /* c00000ce (STATUS_TOO_MANY_SESSIONS) */
+   ERROR_SHARING_PAUSED,                   /* c00000cf (STATUS_SHARING_PAUSED) */
+   ERROR_REQ_NOT_ACCEP,                    /* c00000d0 (STATUS_REQUEST_NOT_ACCEPTED) */
+   ERROR_REDIR_PAUSED,                     /* c00000d1 (STATUS_REDIRECTOR_PAUSED) */
+   ERROR_NET_WRITE_FAULT,                  /* c00000d2 (STATUS_NET_WRITE_FAULT) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000d3 (STATUS_PROFILING_AT_LIMIT) */
+   ERROR_NOT_SAME_DEVICE,                  /* c00000d4 (STATUS_NOT_SAME_DEVICE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000d5 (STATUS_FILE_RENAMED) */
+   ERROR_VC_DISCONNECTED,                  /* c00000d6 (STATUS_VIRTUAL_CIRCUIT_CLOSED) */
+   ERROR_NO_SECURITY_ON_OBJECT,            /* c00000d7 (STATUS_NO_SECURITY_ON_OBJECT) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000d8 (STATUS_CANT_WAIT) */
+   ERROR_NO_DATA,                          /* c00000d9 (STATUS_PIPE_EMPTY) */
+   ERROR_CANT_ACCESS_DOMAIN_INFO,          /* c00000da (STATUS_CANT_ACCESS_DOMAIN_INFO) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000db (STATUS_CANT_TERMINATE_SELF) */
+   ERROR_INVALID_SERVER_STATE,             /* c00000dc (STATUS_INVALID_SERVER_STATE) */
+   ERROR_INVALID_DOMAIN_STATE,             /* c00000dd (STATUS_INVALID_DOMAIN_STATE) */
+   ERROR_INVALID_DOMAIN_ROLE,              /* c00000de (STATUS_INVALID_DOMAIN_ROLE) */
+   ERROR_NO_SUCH_DOMAIN,                   /* c00000df (STATUS_NO_SUCH_DOMAIN) */
+   ERROR_DOMAIN_EXISTS,                    /* c00000e0 (STATUS_DOMAIN_EXISTS) */
+   ERROR_DOMAIN_LIMIT_EXCEEDED,            /* c00000e1 (STATUS_DOMAIN_LIMIT_EXCEEDED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000e2 (STATUS_OPLOCK_NOT_GRANTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000e3 (STATUS_INVALID_OPLOCK_PROTOCOL) */
+   ERROR_INTERNAL_DB_CORRUPTION,           /* c00000e4 (STATUS_INTERNAL_DB_CORRUPTION) */
+   ERROR_INTERNAL_ERROR,                   /* c00000e5 (STATUS_INTERNAL_ERROR) */
+   ERROR_GENERIC_NOT_MAPPED,               /* c00000e6 (STATUS_GENERIC_NOT_MAPPED) */
+   ERROR_BAD_DESCRIPTOR_FORMAT,            /* c00000e7 (STATUS_BAD_DESCRIPTOR_FORMAT) */
+   ERROR_INVALID_USER_BUFFER,              /* c00000e8 (STATUS_INVALID_USER_BUFFER) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000e9 (STATUS_UNEXPECTED_IO_ERROR) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000ea (STATUS_UNEXPECTED_MM_CREATE_ERR) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000eb (STATUS_UNEXPECTED_MM_MAP_ERROR) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000ec (STATUS_UNEXPECTED_MM_EXTEND_ERR) */
+   ERROR_NOT_LOGON_PROCESS,                /* c00000ed (STATUS_NOT_LOGON_PROCESS) */
+   ERROR_LOGON_SESSION_EXISTS,             /* c00000ee (STATUS_LOGON_SESSION_EXISTS) */
+   ERROR_INVALID_PARAMETER,                /* c00000ef (STATUS_INVALID_PARAMETER_1) */
+   ERROR_INVALID_PARAMETER,                /* c00000f0 (STATUS_INVALID_PARAMETER_2) */
+   ERROR_INVALID_PARAMETER,                /* c00000f1 (STATUS_INVALID_PARAMETER_3) */
+   ERROR_INVALID_PARAMETER,                /* c00000f2 (STATUS_INVALID_PARAMETER_4) */
+   ERROR_INVALID_PARAMETER,                /* c00000f3 (STATUS_INVALID_PARAMETER_5) */
+   ERROR_INVALID_PARAMETER,                /* c00000f4 (STATUS_INVALID_PARAMETER_6) */
+   ERROR_INVALID_PARAMETER,                /* c00000f5 (STATUS_INVALID_PARAMETER_7) */
+   ERROR_INVALID_PARAMETER,                /* c00000f6 (STATUS_INVALID_PARAMETER_8) */
+   ERROR_INVALID_PARAMETER,                /* c00000f7 (STATUS_INVALID_PARAMETER_9) */
+   ERROR_INVALID_PARAMETER,                /* c00000f8 (STATUS_INVALID_PARAMETER_10) */
+   ERROR_INVALID_PARAMETER,                /* c00000f9 (STATUS_INVALID_PARAMETER_11) */
+   ERROR_INVALID_PARAMETER,                /* c00000fa (STATUS_INVALID_PARAMETER_12) */
+   ERROR_PATH_NOT_FOUND,                   /* c00000fb (STATUS_REDIRECTOR_NOT_STARTED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000fc (STATUS_REDIRECTOR_STARTED) */
+   ERROR_STACK_OVERFLOW,                   /* c00000fd (STATUS_STACK_OVERFLOW) */
+   ERROR_NO_SUCH_PACKAGE,                  /* c00000fe (STATUS_NO_SUCH_PACKAGE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c00000ff (STATUS_BAD_FUNCTION_TABLE) */
+   ERROR_ENVVAR_NOT_FOUND,                 /* c0000100 (STATUS_VARIABLE_NOT_FOUND) */
+   ERROR_DIR_NOT_EMPTY,                    /* c0000101 (STATUS_DIRECTORY_NOT_EMPTY) */
+   ERROR_FILE_CORRUPT,                     /* c0000102 (STATUS_FILE_CORRUPT_ERROR) */
+   ERROR_DIRECTORY,                        /* c0000103 (STATUS_NOT_A_DIRECTORY) */
+   ERROR_BAD_LOGON_SESSION_STATE,          /* c0000104 (STATUS_BAD_LOGON_SESSION_STATE) */
+   ERROR_LOGON_SESSION_COLLISION,          /* c0000105 (STATUS_LOGON_SESSION_COLLISION) */
+   ERROR_FILENAME_EXCED_RANGE,             /* c0000106 (STATUS_NAME_TOO_LONG) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000107 (STATUS_FILES_OPEN) */
+   ERROR_DEVICE_IN_USE,                    /* c0000108 (STATUS_CONNECTION_IN_USE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000109 (STATUS_MESSAGE_NOT_FOUND) */
+   ERROR_ACCESS_DENIED,                    /* c000010a (STATUS_PROCESS_IS_TERMINATING) */
+   ERROR_INVALID_LOGON_TYPE,               /* c000010b (STATUS_INVALID_LOGON_TYPE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000010c (STATUS_NO_GUID_TRANSLATION) */
+   ERROR_CANNOT_IMPERSONATE,               /* c000010d (STATUS_CANNOT_IMPERSONATE) */
+   ERROR_SERVICE_ALREADY_RUNNING,          /* c000010e (STATUS_IMAGE_ALREADY_LOADED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000010f (STATUS_ABIOS_NOT_PRESENT) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000110 (STATUS_ABIOS_LID_NOT_EXIST) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000111 (STATUS_ABIOS_LID_ALREADY_OWNED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000112 (STATUS_ABIOS_NOT_LID_OWNER) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000113 (STATUS_ABIOS_INVALID_COMMAND) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000114 (STATUS_ABIOS_INVALID_LID) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000115 (STATUS_ABIOS_SELECTOR_NOT_AVAILABLE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000116 (STATUS_ABIOS_INVALID_SELECTOR) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000117 (STATUS_NO_LDT) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000118 (STATUS_INVALID_LDT_SIZE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000119 (STATUS_INVALID_LDT_OFFSET) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000011a (STATUS_INVALID_LDT_DESCRIPTOR) */
+   ERROR_BAD_EXE_FORMAT,                   /* c000011b (STATUS_INVALID_IMAGE_NE_FORMAT) */
+   ERROR_RXACT_INVALID_STATE,              /* c000011c (STATUS_RXACT_INVALID_STATE) */
+   ERROR_RXACT_COMMIT_FAILURE,             /* c000011d (STATUS_RXACT_COMMIT_FAILURE) */
+   ERROR_FILE_INVALID,                     /* c000011e (STATUS_MAPPED_FILE_SIZE_ZERO) */
+   ERROR_TOO_MANY_OPEN_FILES,              /* c000011f (STATUS_TOO_MANY_OPENED_FILES) */
+   ERROR_OPERATION_ABORTED,                /* c0000120 (STATUS_CANCELLED) */
+   ERROR_ACCESS_DENIED,                    /* c0000121 (STATUS_CANNOT_DELETE) */
+   ERROR_INVALID_COMPUTERNAME,             /* c0000122 (STATUS_INVALID_COMPUTER_NAME) */
+   ERROR_ACCESS_DENIED,                    /* c0000123 (STATUS_FILE_DELETED) */
+   ERROR_SPECIAL_ACCOUNT,                  /* c0000124 (STATUS_SPECIAL_ACCOUNT) */
+   ERROR_SPECIAL_GROUP,                    /* c0000125 (STATUS_SPECIAL_GROUP) */
+   ERROR_SPECIAL_USER,                     /* c0000126 (STATUS_SPECIAL_USER) */
+   ERROR_MEMBERS_PRIMARY_GROUP,            /* c0000127 (STATUS_MEMBERS_PRIMARY_GROUP) */
+   ERROR_INVALID_HANDLE,                   /* c0000128 (STATUS_FILE_CLOSED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000129 (STATUS_TOO_MANY_THREADS) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000012a (STATUS_THREAD_NOT_IN_PROCESS) */
+   ERROR_TOKEN_ALREADY_IN_USE,             /* c000012b (STATUS_TOKEN_ALREADY_IN_USE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000012c (STATUS_PAGEFILE_QUOTA_EXCEEDED) */
+   ERROR_COMMITMENT_LIMIT,                 /* c000012d (STATUS_COMMITMENT_LIMIT) */
+   ERROR_BAD_EXE_FORMAT,                   /* c000012e (STATUS_INVALID_IMAGE_LE_FORMAT) */
+   ERROR_BAD_EXE_FORMAT,                   /* c000012f (STATUS_INVALID_IMAGE_NOT_MZ) */
+   ERROR_BAD_EXE_FORMAT,                   /* c0000130 (STATUS_INVALID_IMAGE_PROTECT) */
+   ERROR_BAD_EXE_FORMAT,                   /* c0000131 (STATUS_INVALID_IMAGE_WIN_16) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000132 (STATUS_LOGON_SERVER_CONFLICT) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000133 (STATUS_TIME_DIFFERENCE_AT_DC) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000134 (STATUS_SYNCHRONIZATION_REQUIRED) */
+   ERROR_MOD_NOT_FOUND,                    /* c0000135 (STATUS_DLL_NOT_FOUND) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000136 (STATUS_OPEN_FAILED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000137 (STATUS_IO_PRIVILEGE_FAILED) */
+   ERROR_INVALID_ORDINAL,                  /* c0000138 (STATUS_ORDINAL_NOT_FOUND) */
+   ERROR_PROC_NOT_FOUND,                   /* c0000139 (STATUS_ENTRYPOINT_NOT_FOUND) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000013a (STATUS_CONTROL_C_EXIT) */
+   ERROR_NETNAME_DELETED,                  /* c000013b (STATUS_LOCAL_DISCONNECT) */
+   ERROR_NETNAME_DELETED,                  /* c000013c (STATUS_REMOTE_DISCONNECT) */
+   ERROR_REM_NOT_LIST,                     /* c000013d (STATUS_REMOTE_RESOURCES) */
+   ERROR_UNEXP_NET_ERR,                    /* c000013e (STATUS_LINK_FAILED) */
+   ERROR_UNEXP_NET_ERR,                    /* c000013f (STATUS_LINK_TIMEOUT) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000140 (STATUS_INVALID_CONNECTION) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000141 (STATUS_INVALID_ADDRESS) */
+   ERROR_DLL_INIT_FAILED,                  /* c0000142 (STATUS_DLL_INIT_FAILED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000143 (STATUS_MISSING_SYSTEMFILE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000144 (STATUS_UNHANDLED_EXCEPTION) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000145 (STATUS_APP_INIT_FAILURE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000146 (STATUS_PAGEFILE_CREATE_FAILED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000147 (STATUS_NO_PAGEFILE) */
+   ERROR_INVALID_LEVEL,                    /* c0000148 (STATUS_INVALID_LEVEL) */
+   ERROR_INVALID_PASSWORD,                 /* c0000149 (STATUS_WRONG_PASSWORD_CORE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000014a (STATUS_ILLEGAL_FLOAT_CONTEXT) */
+   ERROR_BROKEN_PIPE,                      /* c000014b (STATUS_PIPE_BROKEN) */
+   ERROR_BADDB,                            /* c000014c (STATUS_REGISTRY_CORRUPT) */
+   ERROR_REGISTRY_IO_FAILED,               /* c000014d (STATUS_REGISTRY_IO_FAILED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000014e (STATUS_NO_EVENT_PAIR) */
+   ERROR_UNRECOGNIZED_VOLUME,              /* c000014f (STATUS_UNRECOGNIZED_VOLUME) */
+   ERROR_SERIAL_NO_DEVICE,                 /* c0000150 (STATUS_SERIAL_NO_DEVICE_INITED) */
+   ERROR_NO_SUCH_ALIAS,                    /* c0000151 (STATUS_NO_SUCH_ALIAS) */
+   ERROR_MEMBER_NOT_IN_ALIAS,              /* c0000152 (STATUS_MEMBER_NOT_IN_ALIAS) */
+   ERROR_MEMBER_IN_ALIAS,                  /* c0000153 (STATUS_MEMBER_IN_ALIAS) */
+   ERROR_ALIAS_EXISTS,                     /* c0000154 (STATUS_ALIAS_EXISTS) */
+   ERROR_LOGON_NOT_GRANTED,                /* c0000155 (STATUS_LOGON_NOT_GRANTED) */
+   ERROR_TOO_MANY_SECRETS,                 /* c0000156 (STATUS_TOO_MANY_SECRETS) */
+   ERROR_SECRET_TOO_LONG,                  /* c0000157 (STATUS_SECRET_TOO_LONG) */
+   ERROR_INTERNAL_DB_ERROR,                /* c0000158 (STATUS_INTERNAL_DB_ERROR) */
+   ERROR_FULLSCREEN_MODE,                  /* c0000159 (STATUS_FULLSCREEN_MODE) */
+   ERROR_TOO_MANY_CONTEXT_IDS,             /* c000015a (STATUS_TOO_MANY_CONTEXT_IDS) */
+   ERROR_LOGON_TYPE_NOT_GRANTED,           /* c000015b (STATUS_LOGON_TYPE_NOT_GRANTED) */
+   ERROR_NOT_REGISTRY_FILE,                /* c000015c (STATUS_NOT_REGISTRY_FILE) */
+   ERROR_NT_CROSS_ENCRYPTION_REQUIRED,     /* c000015d (STATUS_NT_CROSS_ENCRYPTION_REQUIRED) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000015e (STATUS_DOMAIN_CTRLR_CONFIG_ERROR) */
+   ERROR_IO_DEVICE,                        /* c000015f (STATUS_FT_MISSING_MEMBER) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000160 (STATUS_ILL_FORMED_SERVICE_ENTRY) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000161 (STATUS_ILLEGAL_CHARACTER) */
+   ERROR_NO_UNICODE_TRANSLATION,           /* c0000162 (STATUS_UNMAPPABLE_CHARACTER) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000163 (STATUS_UNDEFINED_CHARACTER) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000164 (STATUS_FLOPPY_VOLUME) */
+   ERROR_FLOPPY_ID_MARK_NOT_FOUND,         /* c0000165 (STATUS_FLOPPY_ID_MARK_NOT_FOUND) */
+   ERROR_FLOPPY_WRONG_CYLINDER,            /* c0000166 (STATUS_FLOPPY_WRONG_CYLINDER) */
+   ERROR_FLOPPY_UNKNOWN_ERROR,             /* c0000167 (STATUS_FLOPPY_UNKNOWN_ERROR) */
+   ERROR_FLOPPY_BAD_REGISTERS,             /* c0000168 (STATUS_FLOPPY_BAD_REGISTERS) */
+   ERROR_DISK_RECALIBRATE_FAILED,          /* c0000169 (STATUS_DISK_RECALIBRATE_FAILED) */
+   ERROR_DISK_OPERATION_FAILED,            /* c000016a (STATUS_DISK_OPERATION_FAILED) */
+   ERROR_DISK_RESET_FAILED,                /* c000016b (STATUS_DISK_RESET_FAILED) */
+   ERROR_IRQ_BUSY,                         /* c000016c (STATUS_SHARED_IRQ_BUSY) */
+   ERROR_IO_DEVICE,                        /* c000016d (STATUS_FT_ORPHANING) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000016e (STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000016f */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000170 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000171 */
+   ERROR_PARTITION_FAILURE,                /* c0000172 (STATUS_PARTITION_FAILURE) */
+   ERROR_INVALID_BLOCK_LENGTH,             /* c0000173 (STATUS_INVALID_BLOCK_LENGTH) */
+   ERROR_DEVICE_NOT_PARTITIONED,           /* c0000174 (STATUS_DEVICE_NOT_PARTITIONED) */
+   ERROR_UNABLE_TO_LOCK_MEDIA,             /* c0000175 (STATUS_UNABLE_TO_LOCK_MEDIA) */
+   ERROR_UNABLE_TO_UNLOAD_MEDIA,           /* c0000176 (STATUS_UNABLE_TO_UNLOAD_MEDIA) */
+   ERROR_EOM_OVERFLOW,                     /* c0000177 (STATUS_EOM_OVERFLOW) */
+   ERROR_NO_MEDIA_IN_DRIVE,                /* c0000178 (STATUS_NO_MEDIA) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000179 */
+   ERROR_NO_SUCH_MEMBER,                   /* c000017a (STATUS_NO_SUCH_MEMBER) */
+   ERROR_INVALID_MEMBER,                   /* c000017b (STATUS_INVALID_MEMBER) */
+   ERROR_KEY_DELETED,                      /* c000017c (STATUS_KEY_DELETED) */
+   ERROR_NO_LOG_SPACE,                     /* c000017d (STATUS_NO_LOG_SPACE) */
+   ERROR_TOO_MANY_SIDS,                    /* c000017e (STATUS_TOO_MANY_SIDS) */
+   ERROR_LM_CROSS_ENCRYPTION_REQUIRED,     /* c000017f (STATUS_LM_CROSS_ENCRYPTION_REQUIRED) */
+   ERROR_KEY_HAS_CHILDREN,                 /* c0000180 (STATUS_KEY_HAS_CHILDREN) */
+   ERROR_CHILD_MUST_BE_VOLATILE,           /* c0000181 (STATUS_CHILD_MUST_BE_VOLATILE) */
+   ERROR_INVALID_PARAMETER,                /* c0000182 (STATUS_DEVICE_CONFIGURATION_ERROR) */
+   ERROR_IO_DEVICE,                        /* c0000183 (STATUS_DRIVER_INTERNAL_ERROR) */
+   ERROR_BAD_COMMAND,                      /* c0000184 (STATUS_INVALID_DEVICE_STATE) */
+   ERROR_IO_DEVICE,                        /* c0000185 (STATUS_IO_DEVICE_ERROR) */
+   ERROR_IO_DEVICE,                        /* c0000186 (STATUS_DEVICE_PROTOCOL_ERROR) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000187 (STATUS_BACKUP_CONTROLLER) */
+   ERROR_LOG_FILE_FULL,                    /* c0000188 (STATUS_LOG_FILE_FULL) */
+   ERROR_WRITE_PROTECT,                    /* c0000189 (STATUS_TOO_LATE) */
+   ERROR_NO_TRUST_LSA_SECRET,              /* c000018a (STATUS_NO_TRUST_LSA_SECRET) */
+   ERROR_NO_TRUST_SAM_ACCOUNT,             /* c000018b (STATUS_NO_TRUST_SAM_ACCOUNT) */
+   ERROR_TRUSTED_DOMAIN_FAILURE,           /* c000018c (STATUS_TRUSTED_DOMAIN_FAILURE) */
+   ERROR_TRUSTED_RELATIONSHIP_FAILURE,     /* c000018d (STATUS_TRUSTED_RELATIONSHIP_FAILURE) */
+   ERROR_EVENTLOG_FILE_CORRUPT,            /* c000018e (STATUS_EVENTLOG_FILE_CORRUPT) */
+   ERROR_EVENTLOG_CANT_START,              /* c000018f (STATUS_EVENTLOG_CANT_START) */
+   ERROR_TRUST_FAILURE,                    /* c0000190 (STATUS_TRUST_FAILURE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000191 (STATUS_MUTANT_LIMIT_EXCEEDED) */
+   ERROR_NETLOGON_NOT_STARTED,             /* c0000192 (STATUS_NETLOGON_NOT_STARTED) */
+   ERROR_ACCOUNT_EXPIRED,                  /* c0000193 (STATUS_ACCOUNT_EXPIRED) */
+   ERROR_POSSIBLE_DEADLOCK,                /* c0000194 (STATUS_POSSIBLE_DEADLOCK) */
+   ERROR_SESSION_CREDENTIAL_CONFLICT,      /* c0000195 (STATUS_NETWORK_CREDENTIAL_CONFLICT) */
+   ERROR_REMOTE_SESSION_LIMIT_EXCEEDED,    /* c0000196 (STATUS_REMOTE_SESSION_LIMIT) */
+   ERROR_EVENTLOG_FILE_CHANGED,            /* c0000197 (STATUS_EVENTLOG_FILE_CHANGED) */
+   ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT,/* c0000198 (STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT) */
+   ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT,/* c0000199 (STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT) */
+   ERROR_NOLOGON_SERVER_TRUST_ACCOUNT,     /* c000019a (STATUS_NOLOGON_SERVER_TRUST_ACCOUNT) */
+   ERROR_DOMAIN_TRUST_INCONSISTENT         /* c000019b (STATUS_DOMAIN_TRUST_INCONSISTENT) */
+};
+
+static const WORD table_c0000202[109] =
+{
+   ERROR_NO_USER_SESSION_KEY,              /* c0000202 (STATUS_NO_USER_SESSION_KEY) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000203 (STATUS_USER_SESSION_DELETED) */
+   ERROR_RESOURCE_LANG_NOT_FOUND,          /* c0000204 (STATUS_RESOURCE_LANG_NOT_FOUND) */
+   ERROR_NOT_ENOUGH_SERVER_MEMORY,         /* c0000205 (STATUS_INSUFF_SERVER_RESOURCES) */
+   ERROR_INVALID_USER_BUFFER,              /* c0000206 (STATUS_INVALID_BUFFER_SIZE) */
+   ERROR_INVALID_NETNAME,                  /* c0000207 (STATUS_INVALID_ADDRESS_COMPONENT) */
+   ERROR_INVALID_NETNAME,                  /* c0000208 (STATUS_INVALID_ADDRESS_WILDCARD) */
+   ERROR_TOO_MANY_NAMES,                   /* c0000209 (STATUS_TOO_MANY_ADDRESSES) */
+   ERROR_DUP_NAME,                         /* c000020a (STATUS_ADDRESS_ALREADY_EXISTS) */
+   ERROR_NETNAME_DELETED,                  /* c000020b (STATUS_ADDRESS_CLOSED) */
+   ERROR_NETNAME_DELETED,                  /* c000020c (STATUS_CONNECTION_DISCONNECTED) */
+   ERROR_NETNAME_DELETED,                  /* c000020d (STATUS_CONNECTION_RESET) */
+   ERROR_TOO_MANY_NAMES,                   /* c000020e (STATUS_TOO_MANY_NODES) */
+   ERROR_UNEXP_NET_ERR,                    /* c000020f (STATUS_TRANSACTION_ABORTED) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000210 (STATUS_TRANSACTION_TIMED_OUT) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000211 (STATUS_TRANSACTION_NO_RELEASE) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000212 (STATUS_TRANSACTION_NO_MATCH) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000213 (STATUS_TRANSACTION_RESPONDED) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000214 (STATUS_TRANSACTION_INVALID_ID) */
+   ERROR_UNEXP_NET_ERR,                    /* c0000215 (STATUS_TRANSACTION_INVALID_TYPE) */
+   ERROR_NOT_SUPPORTED,                    /* c0000216 (STATUS_NOT_SERVER_SESSION) */
+   ERROR_NOT_SUPPORTED,                    /* c0000217 (STATUS_NOT_CLIENT_SESSION) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000218 (STATUS_CANNOT_LOAD_REGISTRY_FILE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000219 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000021a */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000021b */
+   ERROR_NO_BROWSER_SERVERS_FOUND,         /* c000021c (STATUS_NO_BROWSER_SERVERS_FOUND) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000021d */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000021e */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000021f */
+   ERROR_MAPPED_ALIGNMENT,                 /* c0000220 (STATUS_MAPPED_ALIGNMENT) */
+   ERROR_BAD_EXE_FORMAT,                   /* c0000221 (STATUS_IMAGE_CHECKSUM_MISMATCH) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000222 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000223 */
+   ERROR_PASSWORD_MUST_CHANGE,             /* c0000224 (STATUS_PASSWORD_MUST_CHANGE) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000225 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000226 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000227 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000228 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000229 */
+   0,                                      /* c000022a */
+   0,                                      /* c000022b */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000022c */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000022d */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000022e */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000022f */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000230 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000231 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000232 */
+   ERROR_DOMAIN_CONTROLLER_NOT_FOUND,      /* c0000233 */
+   ERROR_ACCOUNT_LOCKED_OUT,               /* c0000234 */
+   ERROR_INVALID_HANDLE,                   /* c0000235 */
+   ERROR_CONNECTION_REFUSED,               /* c0000236 */
+   ERROR_GRACEFUL_DISCONNECT,              /* c0000237 */
+   ERROR_ADDRESS_ALREADY_ASSOCIATED,       /* c0000238 */
+   ERROR_ADDRESS_NOT_ASSOCIATED,           /* c0000239 */
+   ERROR_CONNECTION_INVALID,               /* c000023a */
+   ERROR_CONNECTION_ACTIVE,                /* c000023b */
+   ERROR_NETWORK_UNREACHABLE,              /* c000023c */
+   ERROR_HOST_UNREACHABLE,                 /* c000023d */
+   ERROR_PROTOCOL_UNREACHABLE,             /* c000023e */
+   ERROR_PORT_UNREACHABLE,                 /* c000023f */
+   ERROR_REQUEST_ABORTED,                  /* c0000240 */
+   ERROR_CONNECTION_ABORTED,               /* c0000241 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000242 */
+   ERROR_USER_MAPPED_FILE,                 /* c0000243 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000244 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000245 */
+   ERROR_CONNECTION_COUNT_LIMIT,           /* c0000246 */
+   ERROR_LOGIN_TIME_RESTRICTION,           /* c0000247 */
+   ERROR_LOGIN_WKSTA_RESTRICTION,          /* c0000248 */
+   ERROR_BAD_EXE_FORMAT,                   /* c0000249 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000024a */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000024b */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000024c */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000024d */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000024e */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000024f */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000250 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000251 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000252 */
+   ERROR_INTERNAL_ERROR,                   /* c0000253 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000254 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000255 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000256 */
+   ERROR_HOST_UNREACHABLE,                 /* c0000257 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000258 */
+   ERROR_LICENSE_QUOTA_EXCEEDED,           /* c0000259 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000025a */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000025b */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000025c */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000025d */
+   ERROR_SERVICE_DISABLED,                 /* c000025e */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000025f */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000260 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000261 */
+   ERROR_INVALID_ORDINAL,                  /* c0000262 */
+   ERROR_PROC_NOT_FOUND,                   /* c0000263 */
+   ERROR_NOT_OWNER,                        /* c0000264 */
+   ERROR_TOO_MANY_LINKS,                   /* c0000265 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000266 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000267 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000268 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0000269 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000026a */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000026b */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000026c */
+   ERROR_MR_MID_NOT_FOUND,                 /* c000026d */
+   ERROR_NOT_READY                         /* c000026e (STATUS_VOLUME_DISMOUNTED) */
+};
+
+static const WORD table_c0020001[88] =
+{
+   RPC_S_INVALID_STRING_BINDING,           /* c0020001 (RPC_NT_INVALID_STRING_BINDING) */
+   RPC_S_WRONG_KIND_OF_BINDING,            /* c0020002 (RPC_NT_WRONG_KIND_OF_BINDING) */
+   ERROR_INVALID_HANDLE,                   /* c0020003 (RPC_NT_INVALID_BINDING) */
+   RPC_S_PROTSEQ_NOT_SUPPORTED,            /* c0020004 (RPC_NT_PROTSEQ_NOT_SUPPORTED) */
+   RPC_S_INVALID_RPC_PROTSEQ,              /* c0020005 (RPC_NT_INVALID_RPC_PROTSEQ) */
+   RPC_S_INVALID_STRING_UUID,              /* c0020006 (RPC_NT_INVALID_STRING_UUID) */
+   RPC_S_INVALID_ENDPOINT_FORMAT,          /* c0020007 (RPC_NT_INVALID_ENDPOINT_FORMAT) */
+   RPC_S_INVALID_NET_ADDR,                 /* c0020008 (RPC_NT_INVALID_NET_ADDR) */
+   RPC_S_NO_ENDPOINT_FOUND,                /* c0020009 (RPC_NT_NO_ENDPOINT_FOUND) */
+   RPC_S_INVALID_TIMEOUT,                  /* c002000a (RPC_NT_INVALID_TIMEOUT) */
+   RPC_S_OBJECT_NOT_FOUND,                 /* c002000b (RPC_NT_OBJECT_NOT_FOUND) */
+   RPC_S_ALREADY_REGISTERED,               /* c002000c (RPC_NT_ALREADY_REGISTERED) */
+   RPC_S_TYPE_ALREADY_REGISTERED,          /* c002000d (RPC_NT_TYPE_ALREADY_REGISTERED) */
+   RPC_S_ALREADY_LISTENING,                /* c002000e (RPC_NT_ALREADY_LISTENING) */
+   RPC_S_NO_PROTSEQS_REGISTERED,           /* c002000f (RPC_NT_NO_PROTSEQS_REGISTERED) */
+   RPC_S_NOT_LISTENING,                    /* c0020010 (RPC_NT_NOT_LISTENING) */
+   RPC_S_UNKNOWN_MGR_TYPE,                 /* c0020011 (RPC_NT_UNKNOWN_MGR_TYPE) */
+   RPC_S_UNKNOWN_IF,                       /* c0020012 (RPC_NT_UNKNOWN_IF) */
+   RPC_S_NO_BINDINGS,                      /* c0020013 (RPC_NT_NO_BINDINGS) */
+   RPC_S_NO_PROTSEQS,                      /* c0020014 (RPC_NT_NO_PROTSEQS) */
+   RPC_S_CANT_CREATE_ENDPOINT,             /* c0020015 (RPC_NT_CANT_CREATE_ENDPOINT) */
+   RPC_S_OUT_OF_RESOURCES,                 /* c0020016 (RPC_NT_OUT_OF_RESOURCES) */
+   RPC_S_SERVER_UNAVAILABLE,               /* c0020017 (RPC_NT_SERVER_UNAVAILABLE) */
+   RPC_S_SERVER_TOO_BUSY,                  /* c0020018 (RPC_NT_SERVER_TOO_BUSY) */
+   RPC_S_INVALID_NETWORK_OPTIONS,          /* c0020019 (RPC_NT_INVALID_NETWORK_OPTIONS) */
+   RPC_S_NO_CALL_ACTIVE,                   /* c002001a (RPC_NT_NO_CALL_ACTIVE) */
+   RPC_S_CALL_FAILED,                      /* c002001b (RPC_NT_CALL_FAILED) */
+   RPC_S_CALL_FAILED_DNE,                  /* c002001c (RPC_NT_CALL_FAILED_DNE) */
+   RPC_S_PROTOCOL_ERROR,                   /* c002001d (RPC_NT_PROTOCOL_ERROR) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c002001e */
+   RPC_S_UNSUPPORTED_TRANS_SYN,            /* c002001f (RPC_NT_UNSUPPORTED_TRANS_SYN) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0020020 */
+   RPC_S_UNSUPPORTED_TYPE,                 /* c0020021 (RPC_NT_UNSUPPORTED_TYPE) */
+   RPC_S_INVALID_TAG,                      /* c0020022 (RPC_NT_INVALID_TAG) */
+   RPC_S_INVALID_BOUND,                    /* c0020023 (RPC_NT_INVALID_BOUND) */
+   RPC_S_NO_ENTRY_NAME,                    /* c0020024 (RPC_NT_NO_ENTRY_NAME) */
+   RPC_S_INVALID_NAME_SYNTAX,              /* c0020025 (RPC_NT_INVALID_NAME_SYNTAX) */
+   RPC_S_UNSUPPORTED_NAME_SYNTAX,          /* c0020026 (RPC_NT_UNSUPPORTED_NAME_SYNTAX) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0020027 */
+   RPC_S_UUID_NO_ADDRESS,                  /* c0020028 (RPC_NT_UUID_NO_ADDRESS) */
+   RPC_S_DUPLICATE_ENDPOINT,               /* c0020029 (RPC_NT_DUPLICATE_ENDPOINT) */
+   RPC_S_UNKNOWN_AUTHN_TYPE,               /* c002002a (RPC_NT_UNKNOWN_AUTHN_TYPE) */
+   RPC_S_MAX_CALLS_TOO_SMALL,              /* c002002b (RPC_NT_MAX_CALLS_TOO_SMALL) */
+   RPC_S_STRING_TOO_LONG,                  /* c002002c (RPC_NT_STRING_TOO_LONG) */
+   RPC_S_PROTSEQ_NOT_FOUND,                /* c002002d (RPC_NT_PROTSEQ_NOT_FOUND) */
+   RPC_S_PROCNUM_OUT_OF_RANGE,             /* c002002e (RPC_NT_PROCNUM_OUT_OF_RANGE) */
+   RPC_S_BINDING_HAS_NO_AUTH,              /* c002002f (RPC_NT_BINDING_HAS_NO_AUTH) */
+   RPC_S_UNKNOWN_AUTHN_SERVICE,            /* c0020030 (RPC_NT_UNKNOWN_AUTHN_SERVICE) */
+   RPC_S_UNKNOWN_AUTHN_LEVEL,              /* c0020031 (RPC_NT_UNKNOWN_AUTHN_LEVEL) */
+   RPC_S_INVALID_AUTH_IDENTITY,            /* c0020032 (RPC_NT_INVALID_AUTH_IDENTITY) */
+   RPC_S_UNKNOWN_AUTHZ_SERVICE,            /* c0020033 (RPC_NT_UNKNOWN_AUTHZ_SERVICE) */
+   EPT_S_INVALID_ENTRY,                    /* c0020034 (EPT_NT_INVALID_ENTRY) */
+   EPT_S_CANT_PERFORM_OP,                  /* c0020035 (EPT_NT_CANT_PERFORM_OP) */
+   EPT_S_NOT_REGISTERED,                   /* c0020036 (EPT_NT_NOT_REGISTERED) */
+   RPC_S_NOTHING_TO_EXPORT,                /* c0020037 (RPC_NT_NOTHING_TO_EXPORT) */
+   RPC_S_INCOMPLETE_NAME,                  /* c0020038 (RPC_NT_INCOMPLETE_NAME) */
+   RPC_S_INVALID_VERS_OPTION,              /* c0020039 (RPC_NT_INVALID_VERS_OPTION) */
+   RPC_S_NO_MORE_MEMBERS,                  /* c002003a (RPC_NT_NO_MORE_MEMBERS) */
+   RPC_S_NOT_ALL_OBJS_UNEXPORTED,          /* c002003b (RPC_NT_NOT_ALL_OBJS_UNEXPORTED) */
+   RPC_S_INTERFACE_NOT_FOUND,              /* c002003c (RPC_NT_INTERFACE_NOT_FOUND) */
+   RPC_S_ENTRY_ALREADY_EXISTS,             /* c002003d (RPC_NT_ENTRY_ALREADY_EXISTS) */
+   RPC_S_ENTRY_NOT_FOUND,                  /* c002003e (RPC_NT_ENTRY_NOT_FOUND) */
+   RPC_S_NAME_SERVICE_UNAVAILABLE,         /* c002003f (RPC_NT_NAME_SERVICE_UNAVAILABLE) */
+   RPC_S_INVALID_NAF_ID,                   /* c0020040 (RPC_NT_INVALID_NAF_ID) */
+   RPC_S_CANNOT_SUPPORT,                   /* c0020041 (RPC_NT_CANNOT_SUPPORT) */
+   RPC_S_NO_CONTEXT_AVAILABLE,             /* c0020042 (RPC_NT_NO_CONTEXT_AVAILABLE) */
+   RPC_S_INTERNAL_ERROR,                   /* c0020043 (RPC_NT_INTERNAL_ERROR) */
+   RPC_S_ZERO_DIVIDE,                      /* c0020044 (RPC_NT_ZERO_DIVIDE) */
+   RPC_S_ADDRESS_ERROR,                    /* c0020045 (RPC_NT_ADDRESS_ERROR) */
+   RPC_S_FP_DIV_ZERO,                      /* c0020046 (RPC_NT_FP_DIV_ZERO) */
+   RPC_S_FP_UNDERFLOW,                     /* c0020047 (RPC_NT_FP_UNDERFLOW) */
+   RPC_S_FP_OVERFLOW,                      /* c0020048 (RPC_NT_FP_OVERFLOW) */
+   RPC_S_CALL_IN_PROGRESS,                 /* c0020049 (RPC_NT_CALL_IN_PROGRESS) */
+   RPC_S_NO_MORE_BINDINGS,                 /* c002004a (RPC_NT_NO_MORE_BINDINGS) */
+   RPC_S_GROUP_MEMBER_NOT_FOUND,           /* c002004b (RPC_NT_GROUP_MEMBER_NOT_FOUND) */
+   EPT_S_CANT_CREATE,                      /* c002004c (EPT_NT_CANT_CREATE) */
+   RPC_S_INVALID_OBJECT,                   /* c002004d (RPC_NT_INVALID_OBJECT) */
+   ERROR_MR_MID_NOT_FOUND,                 /* c002004e */
+   RPC_S_NO_INTERFACES,                    /* c002004f */
+   RPC_S_CALL_CANCELLED,                   /* c0020050 */
+   RPC_S_BINDING_INCOMPLETE,               /* c0020051 */
+   RPC_S_COMM_FAILURE,                     /* c0020052 */
+   RPC_S_UNSUPPORTED_AUTHN_LEVEL,          /* c0020053 */
+   RPC_S_NO_PRINC_NAME,                    /* c0020054 */
+   RPC_S_NOT_RPC_ERROR,                    /* c0020055 */
+   ERROR_MR_MID_NOT_FOUND,                 /* c0020056 */
+   RPC_S_SEC_PKG_ERROR,                    /* c0020057 */
+   RPC_S_NOT_CANCELLED                     /* c0020058 */
+};
+
+static const WORD table_c0030001[12] =
+{
+   RPC_X_NO_MORE_ENTRIES,                  /* c0030001 (RPC_NT_NO_MORE_ENTRIES) */
+   RPC_X_SS_CHAR_TRANS_OPEN_FAIL,          /* c0030002 (RPC_NT_SS_CHAR_TRANS_OPEN_FAIL) */
+   RPC_X_SS_CHAR_TRANS_SHORT_FILE,         /* c0030003 (RPC_NT_SS_CHAR_TRANS_SHORT_FILE) */
+   ERROR_INVALID_HANDLE,                   /* c0030004 (RPC_NT_SS_IN_NULL_CONTEXT) */
+   ERROR_INVALID_HANDLE,                   /* c0030005 */
+   RPC_X_SS_CONTEXT_DAMAGED,               /* c0030006 (RPC_NT_SS_CONTEXT_DAMAGED) */
+   RPC_X_SS_HANDLES_MISMATCH,              /* c0030007 (RPC_NT_SS_HANDLES_MISMATCH) */
+   RPC_X_SS_CANNOT_GET_CALL_HANDLE,        /* c0030008 (RPC_NT_SS_CANNOT_GET_CALL_HANDLE) */
+   RPC_X_NULL_REF_POINTER,                 /* c0030009 (RPC_NT_NULL_REF_POINTER) */
+   RPC_X_ENUM_VALUE_OUT_OF_RANGE,          /* c003000a (RPC_NT_ENUM_VALUE_OUT_OF_RANGE) */
+   RPC_X_BYTE_COUNT_TOO_SMALL,             /* c003000b (RPC_NT_BYTE_COUNT_TOO_SMALL) */
+   RPC_X_BAD_STUB_DATA                     /* c003000c (RPC_NT_BAD_STUB_DATA) */
+};
+
+static const WORD table_c0030059[6] =
+{
+   RPC_X_INVALID_ES_ACTION,                /* c0030059 */
+   RPC_X_WRONG_ES_VERSION,                 /* c003005a */
+   RPC_X_WRONG_STUB_VERSION,               /* c003005b */
+   RPC_X_INVALID_PIPE_OBJECT,              /* c003005c */
+   RPC_X_WRONG_PIPE_ORDER,                 /* c003005d */
+   RPC_X_WRONG_PIPE_VERSION                /* c003005e */
+};
+
+static const ERROR_TABLE ErrorTable[] =
+{
+    { 0x00000103, 0x0000010e, table_00000103 },
+    { 0x40000002, 0x4000000e, table_40000002 },
+    { 0x40020056, 0x40020057, table_40020056 },
+    { 0x400200af, 0x400200b0, table_400200af },
+    { 0x80000001, 0x80000027, table_80000001 },
+    { 0x80090300, 0x80090317, table_80090300 },
+    { 0xc0000001, 0xc000019c, table_c0000001 },
+    { 0xc0000202, 0xc000026f, table_c0000202 },
+    { 0xc0020001, 0xc0020059, table_c0020001 },
+    { 0xc0030001, 0xc003000d, table_c0030001 },
+    { 0xc0030059, 0xc003005f, table_c0030059 },
+    { 0, 0, 0 }  /* last entry */
+};
+
+
+#if 0
+/* currently not assigned values */
+                                     ERROR_ARENA_TRASHED
+STATUS_HANDLE_NOT_WAITABLE           ERROR_INVALID_HANDLE;
+STATUS_LOCK_NOT_GRANTED              ERROR_LOCK_VIOLATION;
+
+RPC_NT_SS_CONTEXT_MISMATCH           ERROR_INVALID_HANDLE
+#endif
+
+
+/* FUNCTIONS ***************************************************************/
+
+VOID
+STDCALL
+RtlAssert (
+       PVOID FailedAssertion,
+       PVOID FileName,
+       ULONG LineNumber,
+       PCHAR Message
+       )
+{
+       DbgPrint ("Assertion \'%s\' failed at %s line %d: %s\n",
+                 (PCHAR)FailedAssertion,
+                 (PCHAR)FileName,
+                 LineNumber,
+                 Message);
+}
+
+
+/**********************************************************************
+ * NAME                                                        EXPORTED
+ *     RtlNtStatusToDosErrorNoTeb
+ *
+ * DESCRIPTION
+ *     Convert an Executive status ID into a DOS error number 
+ *     (winerror.h).
+ *
+ * ARGUMENTS
+ *     Status  The Executive status ID to convert.
+ *
+ * RETURN VALUE
+ *     dos error as in winerror.h
+ *
+ * REMARK
+ *     RtlNtStatusToDosErrorNoTeb() does the real work.
+ */
+DWORD
+STDCALL
+RtlNtStatusToDosErrorNoTeb (NTSTATUS Status)
+{
+       PERROR_TABLE Table = (PERROR_TABLE)ErrorTable;
+
+       if (!Status || (Status & 0x20000000))
+               return Status;
+
+       /* 0xd... is equivalent to 0xc... */
+       if ((Status & 0xf0000000) == 0xd0000000)
+               Status &= ~0x10000000;
+
+       while (Table->Start)
+       {
+               if (Status < Table->Start)
+                       break;
+
+               if (Status < Table->End)
+               {
+                       DWORD ret = Table->Table[Status - Table->Start];
+                       if (!ret)
+                               ret = Status;  /* 0 means 1:1 mapping */
+                       else if (ret == ERROR_MR_MID_NOT_FOUND)
+                               DbgPrint("RTL: RtlNtStatusToDosErrorNoTeb(0x%lx): no valid W32 error mapping\n", Status);
+                       return ret;
+               }
+               Table++;
+       }
+
+       /* now some special cases */
+       if (HIWORD(Status) == 0xc001)
+               return LOWORD(Status);
+       if (HIWORD(Status) == 0x8007)
+               return LOWORD(Status);
+
+       DbgPrint("RTL: RtlNtStatusToDosErrorNoTeb(0x%lx): no valid W32 error mapping\n", Status);
+
+       return ERROR_MR_MID_NOT_FOUND;
+}
+
+
+/**********************************************************************
+ * NAME                                                        EXPORTED
+ *     RtlNtStatusToDosError
+ *
+ * DESCRIPTION
+ *     Convert an Executive status ID into a DOS error number 
+ *     (winerror.h).
+ *
+ * ARGUMENTS
+ *     Status  The Executive status ID to convert.
+ *
+ * RETURN VALUE
+ *     dos error as in winerror.h
+ *
+ * REMARK
+ *     RtlNtStatusToDosErrorNoTeb() does the real work.
+ */
+DWORD
+STDCALL
+RtlNtStatusToDosError (
+       NTSTATUS        Status
+       )
+{
+       PNT_TEB Teb = NtCurrentTeb ();
+
+       if (NULL != Teb)
+       {
+               Teb->LastStatusValue = Status;
+       }
+       return RtlNtStatusToDosErrorNoTeb (Status);
+}
+
+
+/**********************************************************************
+ * NAME                                                        EXPORTED
+ *     RtlNtStatusToPsxErrno
+ *
+ * DESCRIPTION
+ *     Convert an Executive status ID into a POSIX error number
+ *     (errno.h).
+ *     
+ * NOTE
+ *     Not present in the legacy WNT (a ReactOS extension to support
+ *     the POSIX+ subsystem).
+ *     
+ * ARGUMENTS
+ *     Status  The Executive status ID to convert.
+ *
+ * RETURN VALUE
+ *     errno as in errno.h
+ *     
+ * REVISIONS
+ *     1999-11-30 ea
+ */
+INT
+STDCALL
+RtlNtStatusToPsxErrno (
+       IN      NTSTATUS        Status
+       )
+{
+#if 0
+       switch (Status)
+       {
+       }
+#endif
+       return -1; /* generic POSIX error */
+}
+
+/* EOF */