From 9caffc49aeab0b4add67af34e2ead965c8b76360 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Tue, 4 Jul 2000 01:30:18 +0000 Subject: [PATCH] Fixed RtlNtStatusToDosError() Implemented some more functions svn path=/trunk/; revision=1223 --- reactos/include/ddk/exfuncs.h | 92 ++ reactos/include/ddk/extypes.h | 13 +- reactos/include/ddk/iofuncs.h | 9 +- reactos/include/ddk/kefuncs.h | 8 + reactos/include/ddk/rtl.h | 8 +- reactos/include/ddk/status.h | 626 +++++++------- reactos/include/errors.h | 19 +- reactos/include/napi/teb.h | 6 +- reactos/lib/ntdll/rtl/error.c | 1473 +++++++++++++++++++------------- reactos/ntoskrnl/ex/callback.c | 80 +- reactos/ntoskrnl/ex/init.c | 27 +- reactos/ntoskrnl/ex/interlck.c | 38 +- reactos/ntoskrnl/ex/resource.c | 24 +- reactos/ntoskrnl/io/process.c | 10 +- reactos/ntoskrnl/ke/event.c | 61 +- reactos/ntoskrnl/makefile_rex | 3 +- reactos/ntoskrnl/ntoskrnl.def | 34 +- reactos/ntoskrnl/ntoskrnl.edf | 92 +- reactos/ntoskrnl/ps/tinfo.c | 10 + reactos/ntoskrnl/rtl/error.c | 972 +++++++++++++++++++++ 20 files changed, 2627 insertions(+), 978 deletions(-) create mode 100644 reactos/ntoskrnl/rtl/error.c diff --git a/reactos/include/ddk/exfuncs.h b/reactos/include/ddk/exfuncs.h index f133a55fc49..642e4cdab70 100644 --- a/reactos/include/ddk/exfuncs.h +++ b/reactos/include/ddk/exfuncs.h @@ -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 diff --git a/reactos/include/ddk/extypes.h b/reactos/include/ddk/extypes.h index 73d26ec31af..75efc52262a 100644 --- a/reactos/include/ddk/extypes.h +++ b/reactos/include/ddk/extypes.h @@ -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 */ diff --git a/reactos/include/ddk/iofuncs.h b/reactos/include/ddk/iofuncs.h index 5eb3f197d70..4913be51fcb 100644 --- a/reactos/include/ddk/iofuncs.h +++ b/reactos/include/ddk/iofuncs.h @@ -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 ( diff --git a/reactos/include/ddk/kefuncs.h b/reactos/include/ddk/kefuncs.h index 07e748d30ad..c5058fa9a8b 100644 --- a/reactos/include/ddk/kefuncs.h +++ b/reactos/include/ddk/kefuncs.h @@ -294,6 +294,14 @@ KeLowerIrql ( KIRQL NewIrql ); +NTSTATUS +STDCALL +KePulseEvent ( + PKEVENT Event, + KPRIORITY Increment, + BOOLEAN Wait + ); + LARGE_INTEGER STDCALL KeQueryPerformanceCounter ( diff --git a/reactos/include/ddk/rtl.h b/reactos/include/ddk/rtl.h index fd72f3255fb..ded77bc4748 100644 --- a/reactos/include/ddk/rtl.h +++ b/reactos/include/ddk/rtl.h @@ -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 ( diff --git a/reactos/include/ddk/status.h b/reactos/include/ddk/status.h index 60cffe1acd2..5358cb2de16 100644 --- a/reactos/include/ddk/status.h +++ b/reactos/include/ddk/status.h @@ -21,14 +21,14 @@ #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) @@ -44,91 +44,91 @@ #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_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_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_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_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_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) @@ -161,199 +161,198 @@ #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_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_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) @@ -590,7 +589,6 @@ #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) @@ -659,9 +657,44 @@ #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) @@ -670,43 +703,6 @@ #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 */ diff --git a/reactos/include/errors.h b/reactos/include/errors.h index 9fd199d6dbc..62e40168034 100644 --- a/reactos/include/errors.h +++ b/reactos/include/errors.h @@ -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 diff --git a/reactos/include/napi/teb.h b/reactos/include/napi/teb.h index c547667101b..30225512d9c 100644 --- a/reactos/include/napi/teb.h +++ b/reactos/include/napi/teb.h @@ -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 diff --git a/reactos/lib/ntdll/rtl/error.c b/reactos/lib/ntdll/rtl/error.c index 5b790dae0a0..1c52a6d9ab4 100644 --- a/reactos/lib/ntdll/rtl/error.c +++ b/reactos/lib/ntdll/rtl/error.c @@ -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 @@ -11,6 +11,13 @@ * 1999-12-18: STDCALL RtlNtStatusToDosError */ +/* + * Partially taken from WINE, original copyright: + * + * Copyright 2000 Alexandre Julliard + */ + + /* INCLUDES *****************************************************************/ #include @@ -19,6 +26,802 @@ #define NDEBUG #include +/* 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; - - 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; - - 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; - - /* 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; - -#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 - + 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; } -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 */ diff --git a/reactos/ntoskrnl/ex/callback.c b/reactos/ntoskrnl/ex/callback.c index 972713d3d57..24b5df7b562 100644 --- a/reactos/ntoskrnl/ex/callback.c +++ b/reactos/ntoskrnl/ex/callback.c @@ -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 @@ -16,6 +23,56 @@ /* 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 */ diff --git a/reactos/ntoskrnl/ex/init.c b/reactos/ntoskrnl/ex/init.c index 820978c24b6..81e2ae025c2 100644 --- a/reactos/ntoskrnl/ex/init.c +++ b/reactos/ntoskrnl/ex/init.c @@ -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 */ diff --git a/reactos/ntoskrnl/ex/interlck.c b/reactos/ntoskrnl/ex/interlck.c index 855a8f0994f..1118e37d379 100644 --- a/reactos/ntoskrnl/ex/interlck.c +++ b/reactos/ntoskrnl/ex/interlck.c @@ -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 */ diff --git a/reactos/ntoskrnl/ex/resource.c b/reactos/ntoskrnl/ex/resource.c index 7d231a9452a..f40d3276049 100644 --- a/reactos/ntoskrnl/ex/resource.c +++ b/reactos/ntoskrnl/ex/resource.c @@ -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 */ diff --git a/reactos/ntoskrnl/io/process.c b/reactos/ntoskrnl/io/process.c index d815f298e42..84bfe43ff19 100644 --- a/reactos/ntoskrnl/io/process.c +++ b/reactos/ntoskrnl/io/process.c @@ -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; } diff --git a/reactos/ntoskrnl/ke/event.c b/reactos/ntoskrnl/ke/event.c index 8d2d27a44e1..4770c5fe46b 100644 --- a/reactos/ntoskrnl/ke/event.c +++ b/reactos/ntoskrnl/ke/event.c @@ -19,15 +19,23 @@ /* 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 */ diff --git a/reactos/ntoskrnl/makefile_rex b/reactos/ntoskrnl/makefile_rex index a6ca5ec6553..e8d88422a7f 100644 --- a/reactos/ntoskrnl/makefile_rex +++ b/reactos/ntoskrnl/makefile_rex @@ -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 \ diff --git a/reactos/ntoskrnl/ntoskrnl.def b/reactos/ntoskrnl/ntoskrnl.def index f660a594bc1..ba5b0f26d38 100644 --- a/reactos/ntoskrnl/ntoskrnl.def +++ b/reactos/ntoskrnl/ntoskrnl.def @@ -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 diff --git a/reactos/ntoskrnl/ntoskrnl.edf b/reactos/ntoskrnl/ntoskrnl.edf index e38b69f1aba..b6fb2e7ea26 100644 --- a/reactos/ntoskrnl/ntoskrnl.edf +++ b/reactos/ntoskrnl/ntoskrnl.edf @@ -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 diff --git a/reactos/ntoskrnl/ps/tinfo.c b/reactos/ntoskrnl/ps/tinfo.c index 2c8a5426f16..c128a4873c3 100644 --- a/reactos/ntoskrnl/ps/tinfo.c +++ b/reactos/ntoskrnl/ps/tinfo.c @@ -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 index 00000000000..92c5d430e23 --- /dev/null +++ b/reactos/ntoskrnl/rtl/error.c @@ -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 +#include +#include + +#define NDEBUG +#include + + +/* 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 */