Fixed RtlNtStatusToDosError()

Implemented some more functions

svn path=/trunk/; revision=1223
This commit is contained in:
Eric Kohl 2000-07-04 01:30:18 +00:00
parent bad7efb0e7
commit 9caffc49ae
20 changed files with 2627 additions and 978 deletions

View file

@ -152,11 +152,22 @@ ExAllocatePoolWithTag (
IN ULONG NumberOfBytes,
IN ULONG Tag
);
VOID
STDCALL
ExConvertExclusiveToSharedLite (
PERESOURCE Resource
);
NTSTATUS
STDCALL
ExCreateCallback (
OUT PCALLBACK_OBJECT * CallbackObject,
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN BOOLEAN Create,
IN BOOLEAN AllowMultipleCallbacks
);
VOID
STDCALL
ExDeleteNPagedLookasideList (
@ -177,6 +188,13 @@ STDCALL
ExDeleteResourceLite (
PERESOURCE Resource
);
VOID
STDCALL
ExDisableResourceBoostLite (
PERESOURCE Resource
);
NTSTATUS
STDCALL
ExExtendZone (
@ -276,6 +294,12 @@ ExGetExclusiveWaiterCount (
PERESOURCE Resource
);
ULONG
STDCALL
ExGetPreviousMode (
VOID
);
ULONG
STDCALL
ExGetSharedWaiterCount (
@ -370,6 +394,7 @@ ExInitializeZone (
PVOID InitialSegment,
ULONG InitialSegmentSize
);
LARGE_INTEGER
STDCALL
ExInterlockedAddLargeInteger (
@ -377,6 +402,14 @@ ExInterlockedAddLargeInteger (
LARGE_INTEGER Increment,
PKSPIN_LOCK Lock
);
VOID
FASTCALL
ExInterlockedAddLargeStatistic (
IN PLARGE_INTEGER Addend,
IN ULONG Increment
);
ULONG
STDCALL
ExInterlockedAddUlong (
@ -396,6 +429,15 @@ ExInterlockedAddUlong (
#define ExInterlockedAllocateFromZone(Zone,Lock) \
(PVOID)ExInterlockedPopEntryList(&(Zone)->FreeList,Lock)
LONGLONG
FASTCALL
ExInterlockedCompareExchange64 (
IN OUT PLONGLONG Destination,
IN PLONGLONG Exchange,
IN PLONGLONG Comparand,
IN PKSPIN_LOCK Lock
);
INTERLOCKED_RESULT
STDCALL
ExInterlockedDecrementLong (
@ -510,16 +552,24 @@ ExInterlockedRemoveHeadList (
(((PUCHAR)(Object)>=(PUCHAR)(Zone)->SegmentList.Next) && \
((PUCHAR)(Object)<(PUCHAR)(Zone)->SegmentList.Next+(Zone)->TotalSegmentSize))
BOOLEAN
STDCALL
ExIsProcessorFeaturePresent (
IN ULONG ProcessorFeature
);
BOOLEAN
STDCALL
ExIsResourceAcquiredExclusiveLite (
PERESOURCE Resource
);
ULONG
STDCALL
ExIsResourceAcquiredSharedLite (
PERESOURCE Resource
);
VOID
STDCALL
ExLocalTimeToSystemTime (
@ -527,6 +577,22 @@ ExLocalTimeToSystemTime (
PLARGE_INTEGER SystemTime
);
VOID
STDCALL
ExNotifyCallback (
IN PVOID CallbackObject,
IN PVOID Argument1,
IN PVOID Argument2
);
VOID
STDCALL
ExPostSystemEvent (
ULONG Unknown1,
ULONG Unknown2,
ULONG Unknown3
);
/*
* USHORT
* ExQueryDepthSListHead (
@ -557,6 +623,15 @@ STDCALL
ExRaiseStatus (
NTSTATUS Status
);
PVOID
STDCALL
ExRegisterCallback (
IN PCALLBACK_OBJECT CallbackObject,
IN PCALLBACK_FUNCTION CallbackFunction,
IN PVOID CallbackContext
);
VOID
STDCALL
ExReinitializeResourceLite (
@ -601,22 +676,39 @@ ExReleaseResourceForThreadLite (
PERESOURCE Resource,
ERESOURCE_THREAD ResourceThreadId
);
VOID
STDCALL
ExSetResourceOwnerPointer (
IN PERESOURCE Resource,
IN PVOID OwnerPointer
);
VOID
STDCALL
ExSystemTimeToLocalTime (
PLARGE_INTEGER SystemTime,
PLARGE_INTEGER LocalTime
);
BOOLEAN
FASTCALL
ExTryToAcquireFastMutex (
PFAST_MUTEX FastMutex
);
BOOLEAN
STDCALL
ExTryToAcquireResourceExclusiveLite (
PERESOURCE Resource
);
VOID
STDCALL
ExUnregisterCallback (
IN PVOID CallbackRegistration
);
/*
LONG
FASTCALL

View file

@ -1,4 +1,4 @@
/* $Id: extypes.h,v 1.3 2000/05/09 16:12:47 ekohl Exp $ */
/* $Id: extypes.h,v 1.4 2000/07/04 01:25:27 ekohl Exp $ */
#ifndef __INCLUDE_DDK_EXTYPES_H
#define __INCLUDE_DDK_EXTYPES_H
@ -139,6 +139,17 @@ typedef struct
FAST_MUTEX Lock;
} PAGED_LOOKASIDE_LIST, *PPAGED_LOOKASIDE_LIST;
/* callback object (not functional in NT4)*/
typedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;
typedef VOID (*PCALLBACK_FUNCTION) (
PVOID CallbackContext,
PVOID Argument1,
PVOID Argument2
);
#endif /* __INCLUDE_DDK_EXTYPES_H */
/* EOF */

View file

@ -1,6 +1,6 @@
#ifndef _INCLUDE_DDK_IOFUNCS_H
#define _INCLUDE_DDK_IOFUNCS_H
/* $Id: iofuncs.h,v 1.15 2000/06/30 22:49:26 ekohl Exp $ */
/* $Id: iofuncs.h,v 1.16 2000/07/04 01:25:27 ekohl Exp $ */
/* --- EXPORTED BY NTOSKRNL --- */
@ -676,17 +676,20 @@ STDCALL
IoGetRelatedDeviceObject (
PFILE_OBJECT FileObject
);
PEPROCESS
STDCALL
IoGetRequestorProcess (
IN PIRP Irp
);
VOID
STDCALL
IoGetStackLimits (
PVOID * Minimum, /* guess */
PVOID * Maximum /* guess */
PULONG LowLimit,
PULONG HighLimit
);
PIRP
STDCALL
IoGetTopLevelIrp (

View file

@ -294,6 +294,14 @@ KeLowerIrql (
KIRQL NewIrql
);
NTSTATUS
STDCALL
KePulseEvent (
PKEVENT Event,
KPRIORITY Increment,
BOOLEAN Wait
);
LARGE_INTEGER
STDCALL
KeQueryPerformanceCounter (

View file

@ -1,4 +1,4 @@
/* $Id: rtl.h,v 1.38 2000/07/02 17:30:31 ekohl Exp $
/* $Id: rtl.h,v 1.39 2000/07/04 01:25:27 ekohl Exp $
*
*/
@ -1245,6 +1245,12 @@ RtlNtStatusToDosError (
NTSTATUS StatusCode
);
DWORD
STDCALL
RtlNtStatusToDosErrorNoTeb (
NTSTATUS StatusCode
);
int
STDCALL
RtlNtStatusToPsxErrno (

View file

@ -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 */

View file

@ -327,6 +327,7 @@ extern "C" {
#define ERROR_MAPPED_ALIGNMENT 1132L
#define ERROR_SET_POWER_STATE_VETOED 1140L
#define ERROR_SET_POWER_STATE_FAILED 1141L
#define ERROR_TOO_MANY_LINKS 1142L
#define ERROR_OLD_WIN_VERSION 1150L
#define ERROR_APP_WRONG_OS 1151L
#define ERROR_SINGLE_INSTANCE_APP 1152L
@ -335,11 +336,6 @@ extern "C" {
#define ERROR_NO_ASSOCIATION 1155L
#define ERROR_DDE_FAIL 1156L
#define ERROR_DLL_NOT_FOUND 1157L
#define ERROR_BAD_USERNAME 2202L
#define ERROR_NOT_CONNECTED 2250L
#define ERROR_OPEN_FILES 2401L
#define ERROR_ACTIVE_CONNECTIONS 2402L
#define ERROR_DEVICE_IN_USE 2404L
#define ERROR_BAD_DEVICE 1200L
#define ERROR_CONNECTION_UNAVAIL 1201L
#define ERROR_DEVICE_ALREADY_REMEMBERED 1202L
@ -671,6 +667,9 @@ extern "C" {
#define RPC_X_INVALID_ES_ACTION 1827L
#define RPC_X_WRONG_ES_VERSION 1828L
#define RPC_X_WRONG_STUB_VERSION 1829L
#define RPC_X_INVALID_PIPE_OBJECT 1830L
#define RPC_X_WRONG_PIPE_ORDER 1831L
#define RPC_X_WRONG_PIPE_VERSION 1832L
#define RPC_S_GROUP_MEMBER_NOT_FOUND 1898L
#define EPT_S_CANT_CREATE 1899L
#define RPC_S_INVALID_OBJECT 1900L
@ -683,13 +682,21 @@ extern "C" {
#define ERROR_PASSWORD_MUST_CHANGE 1907L
#define ERROR_DOMAIN_CONTROLLER_NOT_FOUND 1908L
#define ERROR_ACCOUNT_LOCKED_OUT 1909L
#define ERROR_NO_BROWSER_SERVERS_FOUND 6118L
#define OR_INVALID_OXID 1910L
#define OR_INVALID_OID 1911L
#define OR_INVALID_SET 1912L
#define RPC_S_SEND_INCOMPLETE 1913L
#define ERROR_INVALID_PIXEL_FORMAT 2000L
#define ERROR_BAD_DRIVER 2001L
#define ERROR_INVALID_WINDOW_STYLE 2002L
#define ERROR_METAFILE_NOT_SUPPORTED 2003L
#define ERROR_TRANSFORM_NOT_SUPPORTED 2004L
#define ERROR_CLIPPING_NOT_SUPPORTED 2005L
#define ERROR_BAD_USERNAME 2202L
#define ERROR_NOT_CONNECTED 2250L
#define ERROR_OPEN_FILES 2401L
#define ERROR_ACTIVE_CONNECTIONS 2402L
#define ERROR_DEVICE_IN_USE 2404L
#define ERROR_UNKNOWN_PRINT_MONITOR 3000L
#define ERROR_PRINTER_DRIVER_IN_USE 3001L
#define ERROR_SPOOL_FILE_NOT_FOUND 3002L

View file

@ -191,7 +191,7 @@ typedef struct _NT_TEB
PVOID glTable; // BE8h
PVOID glCurrentRC; // BECh
PVOID glContext; // BF0h
ULONG LastStatusValue; // BF4h
NTSTATUS LastStatusValue; // BF4h
UNICODE_STRING StaticUnicodeString; // BF8h
WCHAR StaticUnicodeBuffer[0x105]; // C00h
PVOID DeallocationStack; // E0Ch
@ -208,8 +208,8 @@ typedef struct _NT_TEB
ULONG Spare3; // F78h
ULONG Spare4; // F7Ch
PVOID ReservedForOle; // F80h
ULONG WaitingOnLoaderLock; // F84h
ULONG WaitingOnLoaderLock; // F84h
PVOID StackCommit; // F88h
PVOID StackCommitMax; // F8Ch
PVOID StackReserved; // F90h

File diff suppressed because it is too large Load diff

View file

@ -1,13 +1,20 @@
/*
/* $Id: callback.c,v 1.4 2000/07/04 01:27:58 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ex/callback.c
* PURPOSE: User callbacks
* PURPOSE: Executive callbacks
* PROGRAMMER: David Welch (welch@mcmail.com)
* UPDATE HISTORY:
* Created 22/05/98
*/
/*
* NOTE:
* These funtions are not implemented in NT4.
* They are implemented in Win2k.
*/
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
@ -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 */

View file

@ -2,7 +2,7 @@
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: kernel/ex/init.c
* PURPOSE: executive initalization
* PURPOSE: executive initalization
* PROGRAMMER: Eric Kohl (ekohl@abo.rhein-zeitung.de)
* UPDATE HISTORY:
* Created 11/09/99
@ -24,4 +24,29 @@ VOID ExInit (VOID)
ExInitTimeZoneInfo();
}
BOOLEAN
STDCALL
ExIsProcessorFeaturePresent (
IN ULONG ProcessorFeature
)
{
if (ProcessorFeature >= 32)
return FALSE;
return FALSE;
}
VOID
STDCALL
ExPostSystemEvent (
ULONG Unknown1,
ULONG Unknown2,
ULONG Unknown3
)
{
/* doesn't do anything */
}
/* EOF */

View file

@ -1,4 +1,4 @@
/* $Id: interlck.c,v 1.4 2000/06/07 13:04:34 ekohl Exp $
/* $Id: interlck.c,v 1.5 2000/07/04 01:27:58 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -123,4 +123,40 @@ ExInterlockedIncrementLong (
return oldval;
}
VOID
FASTCALL
ExInterlockedAddLargeStatistic (
IN PLARGE_INTEGER Addend,
IN ULONG Increment
)
{
Addend->QuadPart += Increment;
}
LONGLONG
FASTCALL
ExInterlockedCompareExchange64 (
IN OUT PLONGLONG Destination,
IN PLONGLONG Exchange,
IN PLONGLONG Comparand,
IN PKSPIN_LOCK Lock
)
{
KIRQL oldlvl;
LONGLONG oldval;
KeAcquireSpinLock (Lock, &oldlvl);
oldval = *Destination;
if (*Destination == *Comparand)
{
*Destination = *Exchange;
}
KeReleaseSpinLock (Lock, oldlvl);
return oldval;
}
/* EOF */

View file

@ -1,4 +1,4 @@
/* $Id: resource.c,v 1.13 2000/07/02 10:48:31 ekohl Exp $
/* $Id: resource.c,v 1.14 2000/07/04 01:27:58 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -19,6 +19,7 @@
* Flag = bits : ResourceOwnedExclusive=0x80
* ResourceNeverExclusive=0x10
* ResourceReleaseByOtherThread=0x20
* ResourceDisableBoost=0x08
* SharedWaiters = semaphore, used to manage wait list of shared waiters.
* ExclusiveWaiters = event, used to manage wait list of exclusive waiters.
* OwnerThreads[0]= thread who have exclusive access
@ -33,6 +34,7 @@
*/
#define ResourceOwnedExclusive 0x80
#define ResourceDisableBoost 0x08
/* INCLUDES *****************************************************************/
@ -423,6 +425,15 @@ ExConvertExclusiveToSharedLite (
DPRINT("ExConvertExclusiveToSharedLite() finished\n");
}
VOID
STDCALL
ExDisableResourceBoostLite (
PERESOURCE Resource
)
{
Resource->Flag |= ResourceDisableBoost;
}
ULONG
STDCALL
ExGetExclusiveWaiterCount (
@ -758,4 +769,15 @@ ExReleaseResourceForThreadLite (
DPRINT("ExReleaseResourceForThreadLite() finished\n");
}
VOID
STDCALL
ExSetResourceOwnerPointer (
IN PERESOURCE Resource,
IN PVOID OwnerPointer
)
{
}
/* EOF */

View file

@ -1,4 +1,4 @@
/* $Id: process.c,v 1.7 2000/07/01 22:37:41 ekohl Exp $
/* $Id: process.c,v 1.8 2000/07/04 01:29:05 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -30,12 +30,12 @@ IoGetInitialStack (
VOID
STDCALL
IoGetStackLimits (
PVOID *StackLimit,
PVOID *StackBase
PULONG LowLimit,
PULONG HighLimit
)
{
*StackLimit = NtCurrentTeb ()->Tib.StackLimit;
*StackBase = NtCurrentTeb ()->Tib.StackBase;
*LowLimit = (ULONG)NtCurrentTeb ()->Tib.StackLimit;
*HighLimit = (ULONG)NtCurrentTeb ()->Tib.StackBase;
}

View file

@ -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 */

View file

@ -1,4 +1,4 @@
# $Id: makefile_rex,v 1.78 2000/07/02 17:31:31 ekohl Exp $
# $Id: makefile_rex,v 1.79 2000/07/04 01:27:40 ekohl Exp $
#
# ReactOS Operating System
#
@ -39,6 +39,7 @@ OBJECTS_NT = \
OBJECTS_RTL = \
rtl/bitmap.o \
rtl/ctype.o \
rtl/error.o \
rtl/interlck.o \
rtl/largeint.o \
rtl/mem.o \

View file

@ -1,4 +1,4 @@
; $Id: ntoskrnl.def,v 1.80 2000/07/02 17:31:32 ekohl Exp $
; $Id: ntoskrnl.def,v 1.81 2000/07/04 01:27:40 ekohl Exp $
;
; reactos/ntoskrnl/ntoskrnl.def
;
@ -27,19 +27,19 @@ ExAllocatePoolWithQuota@8
ExAllocatePoolWithQuotaTag@12
ExAllocatePoolWithTag@12
ExConvertExclusiveToSharedLite@4
;ExCreateCallback
ExCreateCallback@16
ExDeleteNPagedLookasideList@4
ExDeletePagedLookasideList@4
ExDeleteResource@4
ExDeleteResourceLite@4
ExDesktopObjectType DATA
;ExDisableResourceBoostLite
ExDisableResourceBoostLite@4
ExEventObjectType DATA
ExExtendZone@12
ExFreePool@4
ExFreeToPagedLookasideList@8
ExGetExclusiveWaiterCount@4
;ExGetPreviousMode
ExGetPreviousMode@0
ExGetSharedWaiterCount@4
ExInitializeNPagedLookasideList
ExInitializePagedLookasideList
@ -47,9 +47,11 @@ ExInitializeResource@4
ExInitializeResourceLite@4
ExInitializeZone@16
ExInterlockedAddLargeInteger@16
;ExInterlockedAddLargeStatistic
;@ExInterlockedAddLargeStatistic@8
ExInterlockedAddLargeStatistic@8
ExInterlockedAddUlong@12
;ExInterlockedCompareExchange64
;@ExInterlockedCompareExchange64@16
ExInterlockedCompareExchange64@16
ExInterlockedDecrementLong@8
ExInterlockedExchangeUlong@12
ExInterlockedExtendZone@16
@ -61,12 +63,12 @@ ExInterlockedPopEntrySList@8
ExInterlockedPushEntryList@12
ExInterlockedPushEntrySList@12
ExInterlockedRemoveHeadList@8
;ExIsProcessorFeaturePresent
ExIsProcessorFeaturePresent@4
ExIsResourceAcquiredExclusiveLite@4
ExIsResourceAcquiredSharedLite@4
ExLocalTimeToSystemTime@8
;ExNotifyCallback
;ExPostSystemEvent
ExNotifyCallback@12
ExPostSystemEvent@12
;ExQueryPoolBlockSize
ExQueueWorkItem@8
ExRaiseAccessViolation@0
@ -74,17 +76,17 @@ ExRaiseDatatypeMisalignment@0
;ExRaiseException
;ExRaiseHardError
ExRaiseStatus@4
;ExRegisterCallback
ExRegisterCallback@12
ExReinitializeResourceLite@4
ExReleaseFastMutexUnsafe@4
ExReleaseResourceForThread@8
ExReleaseResourceForThreadLite@8
ExReleaseResourceLite@4
;ExSetResourceOwnerPointer
ExSetResourceOwnerPointer@8
;ExSystemExceptionFilter
ExSystemTimeToLocalTime@8
ExTryToAcquireResourceExclusiveLite@4
;ExUnregisterCallback
ExUnregisterCallback@4
ExWindowStationObjectType DATA
;ExfInterlockedAddUlong
;ExfInterlockedInsertHeadList
@ -366,7 +368,7 @@ KeLoaderBlock DATA
KeNumberProcessors DATA
;KeProfileInterrupt
;KeProfileInterruptWithSource
;KePulseEvent
KePulseEvent@12
KeQuerySystemTime@4
KeQueryTickCount@4
KeQueryTimeIncrement@0
@ -626,7 +628,7 @@ RtlAreAllAccessesGranted@8
RtlAreAnyAccessesGranted@8
RtlAreBitsClear@12
RtlAreBitsSet@12
;RtlAssert
RtlAssert@16
;RtlCaptureStackBackTrace
RtlCharToInteger@12
;RtlCheckRegistryKey
@ -733,8 +735,8 @@ RtlMoveMemory@12
RtlMultiByteToUnicodeN@20
RtlMultiByteToUnicodeSize@12
;RtlNextUnicodePrefix
;RtlNtStatusToDosError
;RtlNtStatusToDosErrorNoTeb
RtlNtStatusToDosError@4
RtlNtStatusToDosErrorNoTeb@4
;RtlNumberGenericTableElements
RtlNumberOfClearBits@4
RtlNumberOfSetBits@4

View file

@ -1,4 +1,4 @@
; $Id: ntoskrnl.edf,v 1.67 2000/07/02 17:31:32 ekohl Exp $
; $Id: ntoskrnl.edf,v 1.68 2000/07/04 01:27:40 ekohl Exp $
;
; reactos/ntoskrnl/ntoskrnl.def
;
@ -27,19 +27,19 @@ ExAllocatePoolWithQuota=ExAllocatePoolWithQuota@8
ExAllocatePoolWithQuotaTag=ExAllocatePoolWithQuotaTag@12
ExAllocatePoolWithTag=ExAllocatePoolWithTag@12
ExConvertExclusiveToSharedLite=ExConvertExclusiveToSharedLite@4
;ExCreateCallback
ExCreateCallback=ExCreateCallback@16
ExDeleteNPagedLookasideList=ExDeleteNPagedLookasideList@4
ExDeletePagedLookasideList=ExDeletePagedLookasideList@4
ExDeleteResource=ExDeleteResource@4
ExDeleteResourceLite=ExDeleteResourceLite@4
ExDesktopObjectType DATA
;ExDisableResourceBoostLite
ExDisableResourceBoostLite=ExDisableResourceBoostLite@4
ExEventObjectType DATA
ExExtendZone=ExExtendZone@12
ExFreePool=ExFreePool@4
ExFreeToPagedLookasideList=ExFreeToPagedLookasideList@8
ExGetExclusiveWaiterCount=ExGetExclusiveWaiterCount@4
;ExGetPreviousMode
ExGetPreviousMode=ExGetPreviousMode@0
ExGetSharedWaiterCount=ExGetSharedWaiterCount@4
ExInitializeNPagedLookasideList=ExInitializeNPagedLookasideList@28
ExInitializePagedLookasideList=ExInitializePagedLookasideList@28
@ -47,9 +47,11 @@ ExInitializeResource=ExInitializeResource@4
ExInitializeResourceLite=ExInitializeResourceLite@4
ExInitializeZone=ExInitializeZone@16
ExInterlockedAddLargeInteger=ExInterlockedAddLargeInteger@16
;ExInterlockedAddLargeStatistic
;ExInterlockedAddLargeStatistic=@ExInterlockedAddLargeStatistic@8
ExInterlockedAddLargeStatistic=ExInterlockedAddLargeStatistic@8
ExInterlockedAddUlong=ExInterlockedAddUlong@12
;ExInterlockedCompareExchange64
;ExInterlockedCompareExchange64=@ExInterlockedCompareExchange64@16
ExInterlockedCompareExchange64=ExInterlockedCompareExchange64@16
ExInterlockedDecrementLong=ExInterlockedDecrementLong@8
ExInterlockedExchangeUlong=ExInterlockedExchangeUlong@12
ExInterlockedExtendZone=ExInterlockedExtendZone@16
@ -61,28 +63,30 @@ ExInterlockedPopEntrySList=ExInterlockedPopEntrySList@8
ExInterlockedPushEntryList=ExInterlockedPushEntryList@12
ExInterlockedPushEntrySList=ExInterlockedPushEntrySList@12
ExInterlockedRemoveHeadList=ExInterlockedRemoveHeadList@8
;ExIsProcessorFeaturePresent
ExIsProcessorFeaturePresent=ExIsProcessorFeaturePresent@4
ExIsResourceAcquiredExclusiveLite=ExIsResourceAcquiredExclusiveLite@4
ExIsResourceAcquiredSharedLite=ExIsResourceAcquiredSharedLite@4
ExLocalTimeToSystemTime=ExLocalTimeToSystemTime@8
;ExNotifyCallback
;ExPostSystemEvent
ExNotifyCallback=ExNotifyCallback@12
ExPostSystemEvent=ExPostSystemEvent@12
;ExQueryPoolBlockSize
ExQueueWorkItem=ExQueueWorkItem@8
ExRaiseAccessViolation=ExRaiseAccessViolation@0
ExRaiseDatatypeMisalignment=ExRaiseDatatypeMisalignment@0
;ExRaiseException
;ExRaiseHardError
ExRaiseStatus=ExRaiseStatus@4
;ExRegisterCallback
ExRegisterCallback=ExRegisterCallback@12
ExReinitializeResourceLite=ExReinitializeResourceLite@4
ExReleaseFastMutexUnsafe=ExReleaseFastMutexUnsafe@4
ExReleaseResourceForThread=ExReleaseResourceForThread@8
ExReleaseResourceForThreadLite=ExReleaseResourceForThreadLite@8
ExReleaseResourceLite=ExReleaseResourceLite@4
;ExSetResourceOwnerPointer
ExSetResourceOwnerPointer=ExSetResourceOwnerPointer@8
;ExSystemExceptionFilter
ExSystemTimeToLocalTime=ExSystemTimeToLocalTime@8
ExTryToAcquireResourceExclusiveLite=ExTryToAcquireResourceExclusiveLite@4
;ExUnregisterCallback
ExUnregisterCallback=ExUnregisterCallback@4
ExWindowStationObjectType DATA
;ExfInterlockedAddUlong
;ExfInterlockedInsertHeadList
@ -364,7 +368,7 @@ KeLoaderBlock DATA
KeNumberProcessors DATA
;KeProfileInterrupt
;KeProfileInterruptWithSource
;KePulseEvent
KePulseEvent=KePulseEvent@12
KeQuerySystemTime=KeQuerySystemTime@4
KeQueryTickCount=KeQueryTickCount@4
KeQueryTimeIncrement=KeQueryTimeIncrement@0
@ -524,7 +528,7 @@ NtQueryInformationAtom=NtQueryInformationAtom@20
NtQueryInformationFile=NtQueryInformationFile@20
NtQueryInformationProcess=NtQueryInformationProcess@20
NtQueryInformationToken=NtQueryInformationToken@20
;NtQueryOleDirectoryFile@ <--- ?
;NtQueryOleDirectoryFile@44 <--- ?
NtQuerySecurityObject=NtQuerySecurityObject@20
NtQuerySystemTime=NtQuerySystemTime@4
NtQueryVolumeInformationFile=NtQueryVolumeInformationFile@20
@ -609,6 +613,9 @@ READ_REGISTER_BUFFER_USHORT=READ_REGISTER_BUFFER_USHORT@12
RtlAbsoluteToSelfRelativeSD=RtlAbsoluteToSelfRelativeSD@12
RtlAddAccessAllowedAce=RtlAddAccessAllowedAce@16
RtlAddAce=RtlAddAce@20
;RtlAddAtomToAtomTable
;RtlAllocateAndInitializeSid
;RtlAllocateHeap
RtlAnsiCharToUnicodeChar=RtlAnsiCharToUnicodeChar@4
RtlAnsiStringToUnicodeSize=RtlAnsiStringToUnicodeSize@4
RtlAnsiStringToUnicodeString=RtlAnsiStringToUnicodeString@12
@ -620,27 +627,50 @@ RtlAreAllAccessesGranted=RtlAreAllAccessesGranted@8
RtlAreAnyAccessesGranted=RtlAreAnyAccessesGranted@8
RtlAreBitsClear=RtlAreBitsClear@12
RtlAreBitsSet=RtlAreBitsSet@12
RtlAssert=RtlAssert@16
;RtlCaptureStackBackTrace
RtlCharToInteger=RtlCharToInteger@12
;RtlCheckRegistryKey
RtlClearAllBits=RtlClearAllBits@4
RtlClearBits=RtlClearBits@12
RtlCompareMemory=RtlCompareMemory@12
RtlCompareMemoryUlong=RtlCompareMemoryUlong@12
RtlCompareString=RtlCompareString@12
RtlCompareUnicodeString=RtlCompareUnicodeString@12
;RtlCompressBuffer
;RtlCompressChunks
RtlConvertLongToLargeInteger=RtlConvertLongToLargeInteger@4
;RtlConvertSidToUnicodeString
RtlConvertUlongToLargeInteger=RtlConvertUlongToLargeInteger@4
RtlCopyLuid=RtlCopyLuid@8
RtlCopySid=RtlCopySid@12
RtlCopyString=RtlCopyString@8
RtlCopyUnicodeString=RtlCopyUnicodeString@8
RtlCreateAcl=RtlCreateAcl@12
;RtlCreateAtomTable
;RtlCreateHeap
;RtlCreateRegistryKey
RtlCreateSecurityDescriptor=RtlCreateSecurityDescriptor@8
RtlCreateUnicodeString=RtlCreateUnicodeString@8
RtlCustomCPToUnicodeN=RtlCustomCPToUnicodeN@24
;RtlDecompressBuffer
;RtlDecompressChunks
;RtlDecompressFragment
;RtlDelete
;RtlDeleteAtomFromAtomTable
;RtlDeleteElementGenericTable
;RtlDeleteNoSplay
;RtlDeleteRegisterValue
;RtlDescribeChunk
;RtlDestroyAtomTable
;RtlDestroyHeap
RtlDowncaseUnicodeString=RtlDowncaseUnicodeString@12
;RtlEmptyAtomTable
RtlEnlargedIntegerMultiply=RtlEnlargedIntegerMultiply@8
RtlEnlargedUnsignedDivide=RtlEnlargedUnsignedDivide@16
RtlEnlargedUnsignedMultiply=RtlEnlargedUnsignedMultiply@8
;RtlEnumerateGenericTable
;RtlEnumerateGenericTableWithoutSplaying
RtlEqualLuid=RtlEqualLuid@8
RtlEqualSid=RtlEqualSid@8
RtlEqualString=RtlEqualString@12
@ -656,23 +686,37 @@ RtlFindFirstRunClear=RtlFindFirstRunClear@8
RtlFindFirstRunSet=RtlFindFirstRunSet@8
RtlFindLongestRunClear=RtlFindLongestRunClear@8
RtlFindLongestRunSet=RtlFindLongestRunSet@8
;RtlFindMessage
RtlFindSetBits=RtlFindSetBits@12
RtlFindSetBitsAndClear=RtlFindSetBitsAndClear@12
;RtlFindUnicodePrefix
;RtlFormatCurrentUserKeyPath
RtlFreeAnsiString=RtlFreeAnsiString@4
;RtlFreeHeap
RtlFreeOemString=RtlFreeOemString@4
RtlFreeUnicodeString=RtlFreeUnicodeString@4
;RtlGenerate8dot3Name
;RtlGetCallersAddress
;RtlGetCompressionWorkSpaceSize
RtlGetDaclSecurityDescriptor=RtlGetDaclSecurityDescriptor@16
RtlGetDefaultCodePage=RtlGetDefaultCodePage@8
;RtlGetElementGenericTable
RtlGetGroupSecurityDescriptor=RtlGetGroupSecurityDescriptor@12
RtlGetOwnerSecurityDescriptor=RtlGetOwnerSecurityDescriptor@12
RtlImageNtHeader=RtlImageNtHeader@4
RtlInitAnsiString=RtlInitAnsiString@8
;RtlInitCodePageTable
RtlInitString=RtlInitString@8
RtlInitUnicodeString=RtlInitUnicodeString@8
RtlInitializeBitMap=RtlInitializeBitMap@12
;RtlInitializeGenericTable
RtlInitializeSid=RtlInitializeSid@12
;RtlInitializeUnicodePrefix
;RtlInsertElementGenericTable
;RtlInsertUnicodePrefix
RtlIntegerToChar=RtlIntegerToChar@16
RtlIntegerToUnicodeString=RtlIntegerToUnicodeString@12
;RtlIsNameLegalDOS8Dot3
RtlLargeIntegerAdd=RtlLargeIntegerAdd@16
RtlLargeIntegerArithmeticShift=RtlLargeIntegerArithmeticShift@12
RtlLargeIntegerDivide=RtlLargeIntegerDivide@20
@ -683,17 +727,31 @@ RtlLargeIntegerSubtract=RtlLargeIntegerSubtract@16
RtlLengthRequiredSid=RtlLengthRequiredSid@4
RtlLengthSecurityDescriptor=RtlLengthSecurityDescriptor@4
RtlLengthSid=RtlLengthSid@4
;RtlLookupAtomInAtomTable
;RtlLookupElementGenericTable
RtlMapGenericMask=RtlMapGenericMask@8
RtlMoveMemory=RtlMoveMemory@12
RtlMultiByteToUnicodeN=RtlMultiByteToUnicodeN@20
RtlMultiByteToUnicodeSize=RtlMultiByteToUnicodeSize@12
;RtlNextUnicodePrefix
RtlNtStatusToDosError=RtlNtStatusToDosError@4
RtlNtStatusToDosErrorNoTeb=RtlNtStatusToDosErrorNoTeb@4
;RtlNumberGenericTableElements
RtlNumberOfClearBits=RtlNumberOfClearBits@4
RtlNumberOfSetBits=RtlNumberOfSetBits@4
RtlOemStringToCountedUnicodeString=RtlOemStringToCountedUnicodeString@12
RtlOemStringToUnicodeSize=RtlOemStringToUnicodeSize@4
RtlOemStringToUnicodeString=RtlOemStringToUnicodeString@12
;RtlPinAtomInAtomTable
RtlPrefixString=RtlPrefixString@12
RtlPrefixUnicodeString=RtlPrefixUnicodeString@12
;RtlQueryAtomInAtomTable
;RtlQueryRegistryValues
;RtlQueryTimeZoneInformation
;RtlRaiseException
;RtlRandom
;RtlRemoveUnicodePrefix
;RtlReserveChunk
RtlSecondsSince1970ToTime=RtlSecondsSince1970ToTime@8
RtlSecondsSince1980ToTime=RtlSecondsSince1980ToTime@8
RtlSetAllBits=RtlSetAllBits@4
@ -702,6 +760,8 @@ RtlSetDaclSecurityDescriptor=RtlSetDaclSecurityDescriptor@16
RtlSetGroupSecurityDescriptor=RtlSetGroupSecurityDescriptor@12
RtlSetOwnerSecurityDescriptor=RtlSetOwnerSecurityDescriptor@12
RtlSetSaclSecurityDescriptor=RtlSetSaclSecurityDescriptor@16
;RtlSetTimeZoneInformation
;RtlSplay
RtlSubAuthorityCountSid=RtlSubAuthorityCountSid@4
RtlSubAuthoritySid=RtlSubAuthoritySid@8
RtlTimeFieldsToTime=RtlTimeFieldsToTime@8
@ -717,6 +777,8 @@ RtlUnicodeStringToOemString=RtlUnicodeStringToOemString@12
RtlUnicodeToCustomCPN=RtlUnicodeToCustomCPN@24
RtlUnicodeToMultiByteN=RtlUnicodeToMultiByteN@20
RtlUnicodeToMultiByteSize=RtlUnicodeToMultiByteSize@12
RtlUnicodeToOemN=RtlUnicodeToOemN@20
;RtlUnwind
RtlUpcaseUnicodeChar=RtlUpcaseUnicodeChar@4
RtlUpcaseUnicodeString=RtlUpcaseUnicodeString@12
RtlUpcaseUnicodeStringToAnsiString=RtlUpcaseUnicodeStringToAnsiString@12
@ -729,6 +791,8 @@ RtlUpperChar=RtlUpperChar@4
RtlUpperString=RtlUpperString@8
RtlValidSecurityDescriptor=RtlValidSecurityDescriptor@4
RtlValidSid=RtlValidSid@4
;RtlWriteRegistryValue
;RtlZeroHeap
RtlZeroMemory=RtlZeroMemory@8
RtlxAnsiStringToUnicodeSize=RtlxAnsiStringToUnicodeSize@4
RtlxOemStringToUnicodeSize=RtlxOemStringToUnicodeSize@4

View file

@ -133,4 +133,14 @@ KeGetPreviousMode (
}
ULONG
STDCALL
ExGetPreviousMode (
VOID
)
{
/* CurrentThread is in ntoskrnl/ps/thread.c */
return (ULONG)PsGetCurrentThread()->Tcb.PreviousMode;
}
/* EOF */

View file

@ -0,0 +1,972 @@
/* $Id: error.c,v 1.1 2000/07/04 01:30:18 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* PURPOSE: Rtl error functions
* FILE: lib/ntdll/rtl/error.c
* PROGRAMER: Eric Kohl
* REVISION HISTORY:
* 22/07/99: Added RtlNtStatusToDosError.
* 1999-11-30: Added RtlNtStatusToPsxErrno.
* 1999-12-18: STDCALL RtlNtStatusToDosError
*/
/*
* Partially taken from WINE, original copyright:
*
* Copyright 2000 Alexandre Julliard
*/
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
#include <windows.h>
#include <errors.h>
#define NDEBUG
#include <internal/debug.h>
/* TYPES *******************************************************************/
typedef struct _ERROR_TABLE
{
ULONG Start;
ULONG End;
const WORD *Table;
} ERROR_TABLE, *PERROR_TABLE;
/* FUNCTIONS ***************************************************************/
static const WORD table_00000103[11] =
{
ERROR_IO_PENDING, /* 00000103 (STATUS_PENDING) */
ERROR_MR_MID_NOT_FOUND, /* 00000104 (STATUS_REPARSE) */
ERROR_MORE_DATA, /* 00000105 (STATUS_MORE_ENTRIES) */
ERROR_NOT_ALL_ASSIGNED, /* 00000106 (STATUS_NOT_ALL_ASSIGNED) */
ERROR_SOME_NOT_MAPPED, /* 00000107 (STATUS_SOME_NOT_MAPPED) */
ERROR_MR_MID_NOT_FOUND, /* 00000108 (STATUS_OPLOCK_BREAK_IN_PROCESS) */
ERROR_MR_MID_NOT_FOUND, /* 00000109 (STATUS_VOLUME_MOUNTED) */
ERROR_MR_MID_NOT_FOUND, /* 0000010a (STATUS_RXACT_COMMITTED) */
ERROR_MR_MID_NOT_FOUND, /* 0000010b (STATUS_NOTIFY_CLEANUP) */
ERROR_NOTIFY_ENUM_DIR, /* 0000010c (STATUS_NOTIFY_ENUM_DIR) */
ERROR_NO_QUOTAS_FOR_ACCOUNT /* 0000010d (STATUS_NO_QUOTAS_FOR_ACCOUNT) */
// /* 0000010e (STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED) */
};
static const WORD table_40000002[12] =
{
ERROR_INVALID_PARAMETER, /* 40000002 */
ERROR_MR_MID_NOT_FOUND, /* 40000003 */
ERROR_MR_MID_NOT_FOUND, /* 40000004 */
ERROR_MR_MID_NOT_FOUND, /* 40000005 */
ERROR_LOCAL_USER_SESSION_KEY, /* 40000006 (STATUS_LOCAL_USER_SESSION_KEY) */
ERROR_MR_MID_NOT_FOUND, /* 40000007 */
ERROR_MORE_WRITES, /* 40000008 (STATUS_SERIAL_MORE_WRITES) */
ERROR_REGISTRY_RECOVERED, /* 40000009 (STATUS_REGISTRY_RECOVERED) */
ERROR_MR_MID_NOT_FOUND, /* 4000000a */
ERROR_MR_MID_NOT_FOUND, /* 4000000b */
ERROR_COUNTER_TIMEOUT, /* 4000000c (STATUS_SERIAL_COUNTER_TIMEOUT) */
ERROR_NULL_LM_PASSWORD /* 4000000d (STATUS_NULL_LM_PASSWORD) */
};
static const WORD table_40020056[1] =
{
RPC_S_UUID_LOCAL_ONLY /* 40020056 */
};
static const WORD table_400200af[1] =
{
RPC_S_SEND_INCOMPLETE /* 400200af */
};
static const WORD table_80000001[38] =
{
0, /* 80000001 (STATUS_GUARD_PAGE_VIOLATION) */
ERROR_NOACCESS, /* 80000002 (STATUS_DATATYPE_MISALIGNMENT) */
0, /* 80000003 (STATUS_BREAKPOINT) */
0, /* 80000004 (STATUS_SINGLE_STEP) */
ERROR_MORE_DATA, /* 80000005 (STATUS_BUFFER_OVERFLOW) */
ERROR_NO_MORE_FILES, /* 80000006 (STATUS_NO_MORE_FILES) */
ERROR_MR_MID_NOT_FOUND, /* 80000007 (STATUS_WAKE_SYSTEM_DEBUGGER) */
ERROR_MR_MID_NOT_FOUND, /* 80000008 */
ERROR_MR_MID_NOT_FOUND, /* 80000009 */
ERROR_MR_MID_NOT_FOUND, /* 8000000a (STATUS_HANDLES_CLOSED) */
ERROR_NO_INHERITANCE, /* 8000000b (STATUS_NO_INHERITANCE) */
ERROR_MR_MID_NOT_FOUND, /* 8000000c (STATUS_GUID_SUBSTITUTION_MADE) */
ERROR_PARTIAL_COPY, /* 8000000d (STATUS_PARTIAL_COPY) */
ERROR_OUT_OF_PAPER, /* 8000000e (STATUS_DEVICE_PAPER_EMPTY) */
ERROR_NOT_READY, /* 8000000f (STATUS_DEVICE_POWERED_OFF) */
ERROR_NOT_READY, /* 80000010 (STATUS_DEVICE_OFF_LINE) */
ERROR_BUSY, /* 80000011 (STATUS_DEVICE_BUSY) */
ERROR_NO_MORE_ITEMS, /* 80000012 (STATUS_NO_MORE_EAS) */
ERROR_INVALID_EA_NAME, /* 80000013 (STATUS_INVALID_EA_NAME) */
ERROR_EA_LIST_INCONSISTENT, /* 80000014 (STATUS_EA_LIST_INCONSISTENT) */
ERROR_EA_LIST_INCONSISTENT, /* 80000015 (STATUS_INVALID_EA_FLAG) */
ERROR_MEDIA_CHANGED, /* 80000016 (STATUS_VERIFY_REQUIRED) */
ERROR_MR_MID_NOT_FOUND, /* 80000017 (STATUS_EXTRANEOUS_INFORMATION) */
ERROR_MR_MID_NOT_FOUND, /* 80000018 (STATUS_RXACT_COMMIT_NECESSARY) */
ERROR_MR_MID_NOT_FOUND, /* 80000019 */
ERROR_NO_MORE_ITEMS, /* 8000001a (STATUS_NO_MORE_ENTRIES) */
ERROR_FILEMARK_DETECTED, /* 8000001b (STATUS_FILEMARK_DETECTED) */
ERROR_MEDIA_CHANGED, /* 8000001c (STATUS_MEDIA_CHANGED) */
ERROR_BUS_RESET, /* 8000001d (STATUS_BUS_RESET) */
ERROR_END_OF_MEDIA, /* 8000001e (STATUS_END_OF_MEDIA) */
ERROR_BEGINNING_OF_MEDIA, /* 8000001f (STATUS_BEGINNING_OF_MEDIA) */
ERROR_MR_MID_NOT_FOUND, /* 80000020 (STATUS_MEDIA_CHECK) */
ERROR_SETMARK_DETECTED, /* 80000021 (STATUS_SETMARK_DETECTED) */
ERROR_NO_DATA_DETECTED, /* 80000022 (STATUS_NO_DATA_DETECTED) */
ERROR_MR_MID_NOT_FOUND, /* 80000023 (STATUS_REDIRECTOR_HAS_OPEN_HANDLES) */
ERROR_MR_MID_NOT_FOUND, /* 80000024 (STATUS_SERVER_HAS_OPEN_HANDLES) */
ERROR_ACTIVE_CONNECTIONS, /* 80000025 (STATUS_ALREADY_DISCONNECTED) */
ERROR_MR_MID_NOT_FOUND /* 80000026 (STATUS_LONGJUMP) */
};
static const WORD table_80090300[23] =
{
ERROR_NO_SYSTEM_RESOURCES, /* 80090300 */
ERROR_INVALID_HANDLE, /* 80090301 */
ERROR_INVALID_FUNCTION, /* 80090302 */
ERROR_BAD_NETPATH, /* 80090303 */
ERROR_INTERNAL_ERROR, /* 80090304 */
ERROR_NO_SUCH_PACKAGE, /* 80090305 */
ERROR_NOT_OWNER, /* 80090306 */
ERROR_NO_SUCH_PACKAGE, /* 80090307 */
ERROR_INVALID_PARAMETER, /* 80090308 */
ERROR_INVALID_PARAMETER, /* 80090309 */
ERROR_NOT_SUPPORTED, /* 8009030a */
ERROR_CANNOT_IMPERSONATE, /* 8009030b */
ERROR_LOGON_FAILURE, /* 8009030c */
ERROR_INVALID_PARAMETER, /* 8009030d */
ERROR_NO_SUCH_LOGON_SESSION, /* 8009030e */
ERROR_ACCESS_DENIED, /* 8009030f */
ERROR_ACCESS_DENIED, /* 80090310 */
ERROR_NO_LOGON_SERVERS, /* 80090311 */
ERROR_MR_MID_NOT_FOUND, /* 80090312 */
ERROR_MR_MID_NOT_FOUND, /* 80090313 */
ERROR_MR_MID_NOT_FOUND, /* 80090314 */
ERROR_MR_MID_NOT_FOUND, /* 80090315 */
ERROR_NO_SUCH_PACKAGE /* 80090316 */
};
static const WORD table_c0000001[411] =
{
ERROR_GEN_FAILURE, /* c0000001 (STATUS_UNSUCCESSFUL) */
ERROR_INVALID_FUNCTION, /* c0000002 (STATUS_NOT_IMPLEMENTED) */
ERROR_INVALID_PARAMETER, /* c0000003 (STATUS_INVALID_INFO_CLASS) */
ERROR_BAD_LENGTH, /* c0000004 (STATUS_INFO_LENGTH_MISMATCH) */
ERROR_NOACCESS, /* c0000005 (STATUS_ACCESS_VIOLATION) */
ERROR_SWAPERROR, /* c0000006 (STATUS_IN_PAGE_ERROR) */
ERROR_PAGEFILE_QUOTA, /* c0000007 (STATUS_PAGEFILE_QUOTA) */
ERROR_INVALID_HANDLE, /* c0000008 (STATUS_INVALID_HANDLE) */
ERROR_STACK_OVERFLOW, /* c0000009 (STATUS_BAD_INITIAL_STACK) */
ERROR_BAD_EXE_FORMAT, /* c000000a (STATUS_BAD_INITIAL_PC) */
ERROR_INVALID_PARAMETER, /* c000000b (STATUS_INVALID_CID) */
ERROR_MR_MID_NOT_FOUND, /* c000000c (STATUS_TIMER_NOT_CANCELED) */
ERROR_INVALID_PARAMETER, /* c000000d (STATUS_INVALID_PARAMETER) */
ERROR_FILE_NOT_FOUND, /* c000000e (STATUS_NO_SUCH_DEVICE) */
ERROR_FILE_NOT_FOUND, /* c000000f (STATUS_NO_SUCH_FILE) */
ERROR_INVALID_FUNCTION, /* c0000010 (STATUS_INVALID_DEVICE_REQUEST) */
ERROR_HANDLE_EOF, /* c0000011 (STATUS_END_OF_FILE) */
ERROR_WRONG_DISK, /* c0000012 (STATUS_WRONG_VOLUME) */
ERROR_NOT_READY, /* c0000013 (STATUS_NO_MEDIA_IN_DEVICE) */
ERROR_UNRECOGNIZED_MEDIA, /* c0000014 (STATUS_UNRECOGNIZED_MEDIA) */
ERROR_SECTOR_NOT_FOUND, /* c0000015 (STATUS_NONEXISTENT_SECTOR) */
ERROR_MORE_DATA, /* c0000016 (STATUS_MORE_PROCESSING_REQUIRED) */
ERROR_NOT_ENOUGH_MEMORY, /* c0000017 (STATUS_NO_MEMORY) */
ERROR_INVALID_ADDRESS, /* c0000018 (STATUS_CONFLICTING_ADDRESSES) */
ERROR_INVALID_ADDRESS, /* c0000019 (STATUS_NOT_MAPPED_VIEW) */
ERROR_INVALID_PARAMETER, /* c000001a (STATUS_UNABLE_TO_FREE_VM) */
ERROR_INVALID_PARAMETER, /* c000001b (STATUS_UNABLE_TO_DELETE_SECTION) */
ERROR_INVALID_FUNCTION, /* c000001c (STATUS_INVALID_SYSTEM_SERVICE) */
0, /* c000001d (STATUS_ILLEGAL_INSTRUCTION) */
ERROR_ACCESS_DENIED, /* c000001e (STATUS_INVALID_LOCK_SEQUENCE) */
ERROR_ACCESS_DENIED, /* c000001f (STATUS_INVALID_VIEW_SIZE) */
ERROR_BAD_EXE_FORMAT, /* c0000020 (STATUS_INVALID_FILE_FOR_SECTION) */
ERROR_ACCESS_DENIED, /* c0000021 (STATUS_ALREADY_COMMITTED) */
ERROR_ACCESS_DENIED, /* c0000022 (STATUS_ACCESS_DENIED) */
ERROR_INSUFFICIENT_BUFFER, /* c0000023 (STATUS_BUFFER_TOO_SMALL) */
ERROR_INVALID_HANDLE, /* c0000024 (STATUS_OBJECT_TYPE_MISMATCH) */
0, /* c0000025 (STATUS_NONCONTINUABLE_EXCEPTION) */
0, /* c0000026 (STATUS_INVALID_DISPOSITION) */
ERROR_MR_MID_NOT_FOUND, /* c0000027 (STATUS_UNWIND) */
ERROR_MR_MID_NOT_FOUND, /* c0000028 (STATUS_BAD_STACK) */
ERROR_MR_MID_NOT_FOUND, /* c0000029 (STATUS_INVALID_UNWIND_TARGET) */
ERROR_NOT_LOCKED, /* c000002a (STATUS_NOT_LOCKED) */
0, /* c000002b (STATUS_PARITY_ERROR) */
ERROR_INVALID_ADDRESS, /* c000002c (STATUS_UNABLE_TO_DECOMMIT_VM) */
ERROR_INVALID_ADDRESS, /* c000002d (STATUS_NOT_COMMITTED) */
ERROR_MR_MID_NOT_FOUND, /* c000002e (STATUS_INVALID_PORT_ATTRIBUTES) */
ERROR_MR_MID_NOT_FOUND, /* c000002f (STATUS_PORT_MESSAGE_TOO_LONG) */
ERROR_INVALID_PARAMETER, /* c0000030 (STATUS_INVALID_PARAMETER_MIX) */
ERROR_MR_MID_NOT_FOUND, /* c0000031 (STATUS_INVALID_QUOTA_LOWER) */
ERROR_DISK_CORRUPT, /* c0000032 (STATUS_DISK_CORRUPT_ERROR) */
ERROR_INVALID_NAME, /* c0000033 (STATUS_OBJECT_NAME_INVALID) */
ERROR_FILE_NOT_FOUND, /* c0000034 (STATUS_OBJECT_NAME_NOT_FOUND) */
ERROR_ALREADY_EXISTS, /* c0000035 (STATUS_OBJECT_NAME_COLLISION) */
ERROR_MR_MID_NOT_FOUND, /* c0000036 */
ERROR_INVALID_HANDLE, /* c0000037 (STATUS_PORT_DISCONNECTED) */
ERROR_MR_MID_NOT_FOUND, /* c0000038 (STATUS_DEVICE_ALREADY_ATTACHED) */
ERROR_BAD_PATHNAME, /* c0000039 (STATUS_OBJECT_PATH_INVALID) */
ERROR_PATH_NOT_FOUND, /* c000003a (STATUS_OBJECT_PATH_NOT_FOUND) */
ERROR_BAD_PATHNAME, /* c000003b (STATUS_PATH_SYNTAX_BAD) */
ERROR_IO_DEVICE, /* c000003c (STATUS_DATA_OVERRUN) */
ERROR_IO_DEVICE, /* c000003d (STATUS_DATA_LATE_ERROR) */
ERROR_CRC, /* c000003e (STATUS_DATA_ERROR) */
ERROR_CRC, /* c000003f (STATUS_CRC_ERROR) */
ERROR_NOT_ENOUGH_MEMORY, /* c0000040 (STATUS_SECTION_TOO_BIG) */
ERROR_ACCESS_DENIED, /* c0000041 (STATUS_PORT_CONNECTION_REFUSED) */
ERROR_INVALID_HANDLE, /* c0000042 (STATUS_INVALID_PORT_HANDLE) */
ERROR_SHARING_VIOLATION, /* c0000043 (STATUS_SHARING_VIOLATION) */
ERROR_NOT_ENOUGH_QUOTA, /* c0000044 (STATUS_QUOTA_EXCEEDED) */
ERROR_INVALID_PARAMETER, /* c0000045 (STATUS_INVALID_PAGE_PROTECTION) */
ERROR_NOT_OWNER, /* c0000046 (STATUS_MUTANT_NOT_OWNED) */
ERROR_TOO_MANY_POSTS, /* c0000047 (STATUS_SEMAPHORE_LIMIT_EXCEEDED) */
ERROR_INVALID_PARAMETER, /* c0000048 (STATUS_PORT_ALREADY_SET) */
ERROR_INVALID_PARAMETER, /* c0000049 (STATUS_SECTION_NOT_IMAGE) */
ERROR_SIGNAL_REFUSED, /* c000004a (STATUS_SUSPEND_COUNT_EXCEEDED) */
ERROR_ACCESS_DENIED, /* c000004b (STATUS_THREAD_IS_TERMINATING) */
ERROR_INVALID_PARAMETER, /* c000004c (STATUS_BAD_WORKING_SET_LIMIT) */
ERROR_INVALID_PARAMETER, /* c000004d (STATUS_INCOMPATIBLE_FILE_MAP) */
ERROR_INVALID_PARAMETER, /* c000004e (STATUS_SECTION_PROTECTION) */
ERROR_MR_MID_NOT_FOUND, /* c000004f (STATUS_EAS_NOT_SUPPORTED) */
ERROR_EA_LIST_INCONSISTENT, /* c0000050 (STATUS_EA_TOO_LARGE) */
ERROR_FILE_CORRUPT, /* c0000051 (STATUS_NONEXISTENT_EA_ENTRY) */
ERROR_FILE_CORRUPT, /* c0000052 (STATUS_NO_EAS_ON_FILE) */
ERROR_FILE_CORRUPT, /* c0000053 (STATUS_EA_CORRUPT_ERROR) */
ERROR_LOCK_VIOLATION, /* c0000054 (STATUS_LOCK_NOT_GRANTED) */
ERROR_LOCK_VIOLATION, /* c0000055 (STATUS_FILE_LOCK_CONFLICT) */
ERROR_ACCESS_DENIED, /* c0000056 (STATUS_DELETE_PENDING) */
ERROR_NOT_SUPPORTED, /* c0000057 (STATUS_CTL_FILE_NOT_SUPPORTED) */
ERROR_UNKNOWN_REVISION, /* c0000058 (STATUS_UNKNOWN_REVISION) */
ERROR_REVISION_MISMATCH, /* c0000059 (STATUS_REVISION_MISMATCH) */
ERROR_INVALID_OWNER, /* c000005a (STATUS_INVALID_OWNER) */
ERROR_INVALID_PRIMARY_GROUP, /* c000005b (STATUS_INVALID_PRIMARY_GROUP) */
ERROR_NO_IMPERSONATION_TOKEN, /* c000005c (STATUS_NO_IMPERSONATION_TOKEN) */
ERROR_CANT_DISABLE_MANDATORY, /* c000005d (STATUS_CANT_DISABLE_MANDATORY) */
ERROR_NO_LOGON_SERVERS, /* c000005e (STATUS_NO_LOGON_SERVERS) */
ERROR_NO_SUCH_LOGON_SESSION, /* c000005f (STATUS_NO_SUCH_LOGON_SESSION) */
ERROR_NO_SUCH_PRIVILEGE, /* c0000060 (STATUS_NO_SUCH_PRIVILEGE) */
ERROR_PRIVILEGE_NOT_HELD, /* c0000061 (STATUS_PRIVILEGE_NOT_HELD) */
ERROR_INVALID_ACCOUNT_NAME, /* c0000062 (STATUS_INVALID_ACCOUNT_NAME) */
ERROR_USER_EXISTS, /* c0000063 (STATUS_USER_EXISTS) */
ERROR_NO_SUCH_USER, /* c0000064 (STATUS_NO_SUCH_USER) */
ERROR_GROUP_EXISTS, /* c0000065 (STATUS_GROUP_EXISTS) */
ERROR_NO_SUCH_GROUP, /* c0000066 (STATUS_NO_SUCH_GROUP) */
ERROR_MEMBER_IN_GROUP, /* c0000067 (STATUS_MEMBER_IN_GROUP) */
ERROR_MEMBER_NOT_IN_GROUP, /* c0000068 (STATUS_MEMBER_NOT_IN_GROUP) */
ERROR_LAST_ADMIN, /* c0000069 (STATUS_LAST_ADMIN) */
ERROR_INVALID_PASSWORD, /* c000006a (STATUS_WRONG_PASSWORD) */
ERROR_ILL_FORMED_PASSWORD, /* c000006b (STATUS_ILL_FORMED_PASSWORD) */
ERROR_PASSWORD_RESTRICTION, /* c000006c (STATUS_PASSWORD_RESTRICTION) */
ERROR_LOGON_FAILURE, /* c000006d (STATUS_LOGON_FAILURE) */
ERROR_ACCOUNT_RESTRICTION, /* c000006e (STATUS_ACCOUNT_RESTRICTION) */
ERROR_INVALID_LOGON_HOURS, /* c000006f (STATUS_INVALID_LOGON_HOURS) */
ERROR_INVALID_WORKSTATION, /* c0000070 (STATUS_INVALID_WORKSTATION) */
ERROR_PASSWORD_EXPIRED, /* c0000071 (STATUS_PASSWORD_EXPIRED) */
ERROR_ACCOUNT_DISABLED, /* c0000072 (STATUS_ACCOUNT_DISABLED) */
ERROR_NONE_MAPPED, /* c0000073 (STATUS_NONE_MAPPED) */
ERROR_TOO_MANY_LUIDS_REQUESTED, /* c0000074 (STATUS_TOO_MANY_LUIDS_REQUESTED) */
ERROR_LUIDS_EXHAUSTED, /* c0000075 (STATUS_LUIDS_EXHAUSTED) */
ERROR_INVALID_SUB_AUTHORITY, /* c0000076 (STATUS_INVALID_SUB_AUTHORITY) */
ERROR_INVALID_ACL, /* c0000077 (STATUS_INVALID_ACL) */
ERROR_INVALID_SID, /* c0000078 (STATUS_INVALID_SID) */
ERROR_INVALID_SECURITY_DESCR, /* c0000079 (STATUS_INVALID_SECURITY_DESCR) */
ERROR_PROC_NOT_FOUND, /* c000007a (STATUS_PROCEDURE_NOT_FOUND) */
ERROR_BAD_EXE_FORMAT, /* c000007b (STATUS_INVALID_IMAGE_FORMAT) */
ERROR_NO_TOKEN, /* c000007c (STATUS_NO_TOKEN) */
ERROR_BAD_INHERITANCE_ACL, /* c000007d (STATUS_BAD_INHERITANCE_ACL) */
ERROR_NOT_LOCKED, /* c000007e (STATUS_RANGE_NOT_LOCKED) */
ERROR_DISK_FULL, /* c000007f (STATUS_DISK_FULL) */
ERROR_SERVER_DISABLED, /* c0000080 (STATUS_SERVER_DISABLED) */
ERROR_SERVER_NOT_DISABLED, /* c0000081 (STATUS_SERVER_NOT_DISABLED) */
ERROR_TOO_MANY_NAMES, /* c0000082 (STATUS_TOO_MANY_GUIDS_REQUESTED) */
ERROR_NO_MORE_ITEMS, /* c0000083 (STATUS_GUIDS_EXHAUSTED) */
ERROR_INVALID_ID_AUTHORITY, /* c0000084 (STATUS_INVALID_ID_AUTHORITY) */
ERROR_NO_MORE_ITEMS, /* c0000085 (STATUS_AGENTS_EXHAUSTED) */
ERROR_LABEL_TOO_LONG, /* c0000086 (STATUS_INVALID_VOLUME_LABEL) */
ERROR_OUTOFMEMORY, /* c0000087 (STATUS_SECTION_NOT_EXTENDED) */
ERROR_INVALID_ADDRESS, /* c0000088 (STATUS_NOT_MAPPED_DATA) */
ERROR_RESOURCE_DATA_NOT_FOUND, /* c0000089 (STATUS_RESOURCE_DATA_NOT_FOUND) */
ERROR_RESOURCE_TYPE_NOT_FOUND, /* c000008a (STATUS_RESOURCE_TYPE_NOT_FOUND) */
ERROR_RESOURCE_NAME_NOT_FOUND, /* c000008b (STATUS_RESOURCE_NAME_NOT_FOUND) */
0, /* c000008c (STATUS_ARRAY_BOUNDS_EXCEEDED) */
0, /* c000008d (STATUS_FLOAT_DENORMAL_OPERAND) */
0, /* c000008e (STATUS_FLOAT_DIVIDE_BY_ZERO) */
0, /* c000008f (STATUS_FLOAT_INEXACT_RESULT) */
0, /* c0000090 (STATUS_FLOAT_INVALID_OPERATION) */
0, /* c0000091 (STATUS_FLOAT_OVERFLOW) */
0, /* c0000092 (STATUS_FLOAT_STACK_CHECK) */
0, /* c0000093 (STATUS_FLOAT_UNDERFLOW) */
0, /* c0000094 (STATUS_INTEGER_DIVIDE_BY_ZERO) */
ERROR_ARITHMETIC_OVERFLOW, /* c0000095 (STATUS_INTEGER_OVERFLOW) */
0, /* c0000096 (STATUS_PRIVILEGED_INSTRUCTION) */
ERROR_NOT_ENOUGH_MEMORY, /* c0000097 (STATUS_TOO_MANY_PAGING_FILES) */
ERROR_FILE_INVALID, /* c0000098 (STATUS_FILE_INVALID) */
ERROR_ALLOTTED_SPACE_EXCEEDED, /* c0000099 (STATUS_ALLOTTED_SPACE_EXCEEDED) */
ERROR_NO_SYSTEM_RESOURCES, /* c000009a (STATUS_INSUFFICIENT_RESOURCES) */
ERROR_PATH_NOT_FOUND, /* c000009b (STATUS_DFS_EXIT_PATH_FOUND) */
ERROR_CRC, /* c000009c (STATUS_DEVICE_DATA_ERROR) */
ERROR_NOT_READY, /* c000009d (STATUS_DEVICE_NOT_CONNECTED) */
ERROR_NOT_READY, /* c000009e (STATUS_DEVICE_POWER_FAILURE) */
ERROR_INVALID_ADDRESS, /* c000009f (STATUS_FREE_VM_NOT_AT_BASE) */
ERROR_INVALID_ADDRESS, /* c00000a0 (STATUS_MEMORY_NOT_ALLOCATED) */
ERROR_WORKING_SET_QUOTA, /* c00000a1 (STATUS_WORKING_SET_QUOTA) */
ERROR_WRITE_PROTECT, /* c00000a2 (STATUS_MEDIA_WRITE_PROTECTED) */
ERROR_NOT_READY, /* c00000a3 (STATUS_DEVICE_NOT_READY) */
ERROR_INVALID_GROUP_ATTRIBUTES, /* c00000a4 (STATUS_INVALID_GROUP_ATTRIBUTES) */
ERROR_BAD_IMPERSONATION_LEVEL, /* c00000a5 (STATUS_BAD_IMPERSONATION_LEVEL) */
ERROR_CANT_OPEN_ANONYMOUS, /* c00000a6 (STATUS_CANT_OPEN_ANONYMOUS) */
ERROR_BAD_VALIDATION_CLASS, /* c00000a7 (STATUS_BAD_VALIDATION_CLASS) */
ERROR_BAD_TOKEN_TYPE, /* c00000a8 (STATUS_BAD_TOKEN_TYPE)*/
ERROR_MR_MID_NOT_FOUND, /* c00000a9 (STATUS_BAD_MASTER_BOOT_RECORD) */
ERROR_MR_MID_NOT_FOUND, /* c00000aa (STATUS_INSTRUCTION_MISALIGNMENT) */
ERROR_PIPE_BUSY, /* c00000ab (STATUS_INSTANCE_NOT_AVAILABLE) */
ERROR_PIPE_BUSY, /* c00000ac (STATUS_PIPE_NOT_AVAILABLE) */
ERROR_BAD_PIPE, /* c00000ad (STATUS_INVALID_PIPE_STATE) */
ERROR_PIPE_BUSY, /* c00000ae (STATUS_PIPE_BUSY) */
ERROR_INVALID_FUNCTION, /* c00000af (STATUS_ILLEGAL_FUNCTION) */
ERROR_PIPE_NOT_CONNECTED, /* c00000b0 (STATUS_PIPE_DISCONNECTED) */
ERROR_NO_DATA, /* c00000b1 (STATUS_PIPE_CLOSING) */
ERROR_PIPE_CONNECTED, /* c00000b2 (STATUS_PIPE_CONNECTED) */
ERROR_PIPE_LISTENING, /* c00000b3 (STATUS_PIPE_LISTENING) */
ERROR_BAD_PIPE, /* c00000b4 (STATUS_INVALID_READ_MODE) */
ERROR_SEM_TIMEOUT, /* c00000b5 (STATUS_IO_TIMEOUT) */
ERROR_HANDLE_EOF, /* c00000b6 (STATUS_FILE_FORCED_CLOSED) */
ERROR_MR_MID_NOT_FOUND, /* c00000b7 (STATUS_PROFILING_NOT_STARTED) */
ERROR_MR_MID_NOT_FOUND, /* c00000b8 (STATUS_PROFILING_NOT_STOPPED) */
ERROR_MR_MID_NOT_FOUND, /* c00000b9 (STATUS_COULD_NOT_INTERPRET) */
ERROR_ACCESS_DENIED, /* c00000ba (STATUS_FILE_IS_A_DIRECTORY) */
ERROR_NOT_SUPPORTED, /* c00000bb (STATUS_NOT_SUPPORTED) */
ERROR_REM_NOT_LIST, /* c00000bc (STATUS_REMOTE_NOT_LISTENING) */
ERROR_DUP_NAME, /* c00000bd (STATUS_DUPLICATE_NAME) */
ERROR_BAD_NETPATH, /* c00000be (STATUS_BAD_NETWORK_PATH) */
ERROR_NETWORK_BUSY, /* c00000bf (STATUS_NETWORK_BUSY) */
ERROR_DEV_NOT_EXIST, /* c00000c0 (STATUS_DEVICE_DOES_NOT_EXIST) */
ERROR_TOO_MANY_CMDS, /* c00000c1 (STATUS_TOO_MANY_COMMANDS) */
ERROR_ADAP_HDW_ERR, /* c00000c2 (STATUS_ADAPTER_HARDWARE_ERROR) */
ERROR_BAD_NET_RESP, /* c00000c3 (STATUS_INVALID_NETWORK_RESPONSE) */
ERROR_UNEXP_NET_ERR, /* c00000c4 (STATUS_UNEXPECTED_NETWORK_ERROR) */
ERROR_BAD_REM_ADAP, /* c00000c5 (STATUS_BAD_REMOTE_ADAPTER) */
ERROR_PRINTQ_FULL, /* c00000c6 (STATUS_PRINT_QUEUE_FULL) */
ERROR_NO_SPOOL_SPACE, /* c00000c7 (STATUS_NO_SPOOL_SPACE) */
ERROR_PRINT_CANCELLED, /* c00000c8 (STATUS_PRINT_CANCELLED) */
ERROR_NETNAME_DELETED, /* c00000c9 (STATUS_NETWORK_NAME_DELETED) */
ERROR_NETWORK_ACCESS_DENIED, /* c00000ca (STATUS_NETWORK_ACCESS_DENIED) */
ERROR_BAD_DEV_TYPE, /* c00000cb (STATUS_BAD_DEVICE_TYPE) */
ERROR_BAD_NET_NAME, /* c00000cc (STATUS_BAD_NETWORK_NAME) */
ERROR_TOO_MANY_NAMES, /* c00000cd (STATUS_TOO_MANY_NAMES) */
ERROR_TOO_MANY_SESS, /* c00000ce (STATUS_TOO_MANY_SESSIONS) */
ERROR_SHARING_PAUSED, /* c00000cf (STATUS_SHARING_PAUSED) */
ERROR_REQ_NOT_ACCEP, /* c00000d0 (STATUS_REQUEST_NOT_ACCEPTED) */
ERROR_REDIR_PAUSED, /* c00000d1 (STATUS_REDIRECTOR_PAUSED) */
ERROR_NET_WRITE_FAULT, /* c00000d2 (STATUS_NET_WRITE_FAULT) */
ERROR_MR_MID_NOT_FOUND, /* c00000d3 (STATUS_PROFILING_AT_LIMIT) */
ERROR_NOT_SAME_DEVICE, /* c00000d4 (STATUS_NOT_SAME_DEVICE) */
ERROR_MR_MID_NOT_FOUND, /* c00000d5 (STATUS_FILE_RENAMED) */
ERROR_VC_DISCONNECTED, /* c00000d6 (STATUS_VIRTUAL_CIRCUIT_CLOSED) */
ERROR_NO_SECURITY_ON_OBJECT, /* c00000d7 (STATUS_NO_SECURITY_ON_OBJECT) */
ERROR_MR_MID_NOT_FOUND, /* c00000d8 (STATUS_CANT_WAIT) */
ERROR_NO_DATA, /* c00000d9 (STATUS_PIPE_EMPTY) */
ERROR_CANT_ACCESS_DOMAIN_INFO, /* c00000da (STATUS_CANT_ACCESS_DOMAIN_INFO) */
ERROR_MR_MID_NOT_FOUND, /* c00000db (STATUS_CANT_TERMINATE_SELF) */
ERROR_INVALID_SERVER_STATE, /* c00000dc (STATUS_INVALID_SERVER_STATE) */
ERROR_INVALID_DOMAIN_STATE, /* c00000dd (STATUS_INVALID_DOMAIN_STATE) */
ERROR_INVALID_DOMAIN_ROLE, /* c00000de (STATUS_INVALID_DOMAIN_ROLE) */
ERROR_NO_SUCH_DOMAIN, /* c00000df (STATUS_NO_SUCH_DOMAIN) */
ERROR_DOMAIN_EXISTS, /* c00000e0 (STATUS_DOMAIN_EXISTS) */
ERROR_DOMAIN_LIMIT_EXCEEDED, /* c00000e1 (STATUS_DOMAIN_LIMIT_EXCEEDED) */
ERROR_MR_MID_NOT_FOUND, /* c00000e2 (STATUS_OPLOCK_NOT_GRANTED) */
ERROR_MR_MID_NOT_FOUND, /* c00000e3 (STATUS_INVALID_OPLOCK_PROTOCOL) */
ERROR_INTERNAL_DB_CORRUPTION, /* c00000e4 (STATUS_INTERNAL_DB_CORRUPTION) */
ERROR_INTERNAL_ERROR, /* c00000e5 (STATUS_INTERNAL_ERROR) */
ERROR_GENERIC_NOT_MAPPED, /* c00000e6 (STATUS_GENERIC_NOT_MAPPED) */
ERROR_BAD_DESCRIPTOR_FORMAT, /* c00000e7 (STATUS_BAD_DESCRIPTOR_FORMAT) */
ERROR_INVALID_USER_BUFFER, /* c00000e8 (STATUS_INVALID_USER_BUFFER) */
ERROR_MR_MID_NOT_FOUND, /* c00000e9 (STATUS_UNEXPECTED_IO_ERROR) */
ERROR_MR_MID_NOT_FOUND, /* c00000ea (STATUS_UNEXPECTED_MM_CREATE_ERR) */
ERROR_MR_MID_NOT_FOUND, /* c00000eb (STATUS_UNEXPECTED_MM_MAP_ERROR) */
ERROR_MR_MID_NOT_FOUND, /* c00000ec (STATUS_UNEXPECTED_MM_EXTEND_ERR) */
ERROR_NOT_LOGON_PROCESS, /* c00000ed (STATUS_NOT_LOGON_PROCESS) */
ERROR_LOGON_SESSION_EXISTS, /* c00000ee (STATUS_LOGON_SESSION_EXISTS) */
ERROR_INVALID_PARAMETER, /* c00000ef (STATUS_INVALID_PARAMETER_1) */
ERROR_INVALID_PARAMETER, /* c00000f0 (STATUS_INVALID_PARAMETER_2) */
ERROR_INVALID_PARAMETER, /* c00000f1 (STATUS_INVALID_PARAMETER_3) */
ERROR_INVALID_PARAMETER, /* c00000f2 (STATUS_INVALID_PARAMETER_4) */
ERROR_INVALID_PARAMETER, /* c00000f3 (STATUS_INVALID_PARAMETER_5) */
ERROR_INVALID_PARAMETER, /* c00000f4 (STATUS_INVALID_PARAMETER_6) */
ERROR_INVALID_PARAMETER, /* c00000f5 (STATUS_INVALID_PARAMETER_7) */
ERROR_INVALID_PARAMETER, /* c00000f6 (STATUS_INVALID_PARAMETER_8) */
ERROR_INVALID_PARAMETER, /* c00000f7 (STATUS_INVALID_PARAMETER_9) */
ERROR_INVALID_PARAMETER, /* c00000f8 (STATUS_INVALID_PARAMETER_10) */
ERROR_INVALID_PARAMETER, /* c00000f9 (STATUS_INVALID_PARAMETER_11) */
ERROR_INVALID_PARAMETER, /* c00000fa (STATUS_INVALID_PARAMETER_12) */
ERROR_PATH_NOT_FOUND, /* c00000fb (STATUS_REDIRECTOR_NOT_STARTED) */
ERROR_MR_MID_NOT_FOUND, /* c00000fc (STATUS_REDIRECTOR_STARTED) */
ERROR_STACK_OVERFLOW, /* c00000fd (STATUS_STACK_OVERFLOW) */
ERROR_NO_SUCH_PACKAGE, /* c00000fe (STATUS_NO_SUCH_PACKAGE) */
ERROR_MR_MID_NOT_FOUND, /* c00000ff (STATUS_BAD_FUNCTION_TABLE) */
ERROR_ENVVAR_NOT_FOUND, /* c0000100 (STATUS_VARIABLE_NOT_FOUND) */
ERROR_DIR_NOT_EMPTY, /* c0000101 (STATUS_DIRECTORY_NOT_EMPTY) */
ERROR_FILE_CORRUPT, /* c0000102 (STATUS_FILE_CORRUPT_ERROR) */
ERROR_DIRECTORY, /* c0000103 (STATUS_NOT_A_DIRECTORY) */
ERROR_BAD_LOGON_SESSION_STATE, /* c0000104 (STATUS_BAD_LOGON_SESSION_STATE) */
ERROR_LOGON_SESSION_COLLISION, /* c0000105 (STATUS_LOGON_SESSION_COLLISION) */
ERROR_FILENAME_EXCED_RANGE, /* c0000106 (STATUS_NAME_TOO_LONG) */
ERROR_MR_MID_NOT_FOUND, /* c0000107 (STATUS_FILES_OPEN) */
ERROR_DEVICE_IN_USE, /* c0000108 (STATUS_CONNECTION_IN_USE) */
ERROR_MR_MID_NOT_FOUND, /* c0000109 (STATUS_MESSAGE_NOT_FOUND) */
ERROR_ACCESS_DENIED, /* c000010a (STATUS_PROCESS_IS_TERMINATING) */
ERROR_INVALID_LOGON_TYPE, /* c000010b (STATUS_INVALID_LOGON_TYPE) */
ERROR_MR_MID_NOT_FOUND, /* c000010c (STATUS_NO_GUID_TRANSLATION) */
ERROR_CANNOT_IMPERSONATE, /* c000010d (STATUS_CANNOT_IMPERSONATE) */
ERROR_SERVICE_ALREADY_RUNNING, /* c000010e (STATUS_IMAGE_ALREADY_LOADED) */
ERROR_MR_MID_NOT_FOUND, /* c000010f (STATUS_ABIOS_NOT_PRESENT) */
ERROR_MR_MID_NOT_FOUND, /* c0000110 (STATUS_ABIOS_LID_NOT_EXIST) */
ERROR_MR_MID_NOT_FOUND, /* c0000111 (STATUS_ABIOS_LID_ALREADY_OWNED) */
ERROR_MR_MID_NOT_FOUND, /* c0000112 (STATUS_ABIOS_NOT_LID_OWNER) */
ERROR_MR_MID_NOT_FOUND, /* c0000113 (STATUS_ABIOS_INVALID_COMMAND) */
ERROR_MR_MID_NOT_FOUND, /* c0000114 (STATUS_ABIOS_INVALID_LID) */
ERROR_MR_MID_NOT_FOUND, /* c0000115 (STATUS_ABIOS_SELECTOR_NOT_AVAILABLE) */
ERROR_MR_MID_NOT_FOUND, /* c0000116 (STATUS_ABIOS_INVALID_SELECTOR) */
ERROR_MR_MID_NOT_FOUND, /* c0000117 (STATUS_NO_LDT) */
ERROR_MR_MID_NOT_FOUND, /* c0000118 (STATUS_INVALID_LDT_SIZE) */
ERROR_MR_MID_NOT_FOUND, /* c0000119 (STATUS_INVALID_LDT_OFFSET) */
ERROR_MR_MID_NOT_FOUND, /* c000011a (STATUS_INVALID_LDT_DESCRIPTOR) */
ERROR_BAD_EXE_FORMAT, /* c000011b (STATUS_INVALID_IMAGE_NE_FORMAT) */
ERROR_RXACT_INVALID_STATE, /* c000011c (STATUS_RXACT_INVALID_STATE) */
ERROR_RXACT_COMMIT_FAILURE, /* c000011d (STATUS_RXACT_COMMIT_FAILURE) */
ERROR_FILE_INVALID, /* c000011e (STATUS_MAPPED_FILE_SIZE_ZERO) */
ERROR_TOO_MANY_OPEN_FILES, /* c000011f (STATUS_TOO_MANY_OPENED_FILES) */
ERROR_OPERATION_ABORTED, /* c0000120 (STATUS_CANCELLED) */
ERROR_ACCESS_DENIED, /* c0000121 (STATUS_CANNOT_DELETE) */
ERROR_INVALID_COMPUTERNAME, /* c0000122 (STATUS_INVALID_COMPUTER_NAME) */
ERROR_ACCESS_DENIED, /* c0000123 (STATUS_FILE_DELETED) */
ERROR_SPECIAL_ACCOUNT, /* c0000124 (STATUS_SPECIAL_ACCOUNT) */
ERROR_SPECIAL_GROUP, /* c0000125 (STATUS_SPECIAL_GROUP) */
ERROR_SPECIAL_USER, /* c0000126 (STATUS_SPECIAL_USER) */
ERROR_MEMBERS_PRIMARY_GROUP, /* c0000127 (STATUS_MEMBERS_PRIMARY_GROUP) */
ERROR_INVALID_HANDLE, /* c0000128 (STATUS_FILE_CLOSED) */
ERROR_MR_MID_NOT_FOUND, /* c0000129 (STATUS_TOO_MANY_THREADS) */
ERROR_MR_MID_NOT_FOUND, /* c000012a (STATUS_THREAD_NOT_IN_PROCESS) */
ERROR_TOKEN_ALREADY_IN_USE, /* c000012b (STATUS_TOKEN_ALREADY_IN_USE) */
ERROR_MR_MID_NOT_FOUND, /* c000012c (STATUS_PAGEFILE_QUOTA_EXCEEDED) */
ERROR_COMMITMENT_LIMIT, /* c000012d (STATUS_COMMITMENT_LIMIT) */
ERROR_BAD_EXE_FORMAT, /* c000012e (STATUS_INVALID_IMAGE_LE_FORMAT) */
ERROR_BAD_EXE_FORMAT, /* c000012f (STATUS_INVALID_IMAGE_NOT_MZ) */
ERROR_BAD_EXE_FORMAT, /* c0000130 (STATUS_INVALID_IMAGE_PROTECT) */
ERROR_BAD_EXE_FORMAT, /* c0000131 (STATUS_INVALID_IMAGE_WIN_16) */
ERROR_MR_MID_NOT_FOUND, /* c0000132 (STATUS_LOGON_SERVER_CONFLICT) */
ERROR_MR_MID_NOT_FOUND, /* c0000133 (STATUS_TIME_DIFFERENCE_AT_DC) */
ERROR_MR_MID_NOT_FOUND, /* c0000134 (STATUS_SYNCHRONIZATION_REQUIRED) */
ERROR_MOD_NOT_FOUND, /* c0000135 (STATUS_DLL_NOT_FOUND) */
ERROR_MR_MID_NOT_FOUND, /* c0000136 (STATUS_OPEN_FAILED) */
ERROR_MR_MID_NOT_FOUND, /* c0000137 (STATUS_IO_PRIVILEGE_FAILED) */
ERROR_INVALID_ORDINAL, /* c0000138 (STATUS_ORDINAL_NOT_FOUND) */
ERROR_PROC_NOT_FOUND, /* c0000139 (STATUS_ENTRYPOINT_NOT_FOUND) */
ERROR_MR_MID_NOT_FOUND, /* c000013a (STATUS_CONTROL_C_EXIT) */
ERROR_NETNAME_DELETED, /* c000013b (STATUS_LOCAL_DISCONNECT) */
ERROR_NETNAME_DELETED, /* c000013c (STATUS_REMOTE_DISCONNECT) */
ERROR_REM_NOT_LIST, /* c000013d (STATUS_REMOTE_RESOURCES) */
ERROR_UNEXP_NET_ERR, /* c000013e (STATUS_LINK_FAILED) */
ERROR_UNEXP_NET_ERR, /* c000013f (STATUS_LINK_TIMEOUT) */
ERROR_UNEXP_NET_ERR, /* c0000140 (STATUS_INVALID_CONNECTION) */
ERROR_UNEXP_NET_ERR, /* c0000141 (STATUS_INVALID_ADDRESS) */
ERROR_DLL_INIT_FAILED, /* c0000142 (STATUS_DLL_INIT_FAILED) */
ERROR_MR_MID_NOT_FOUND, /* c0000143 (STATUS_MISSING_SYSTEMFILE) */
ERROR_MR_MID_NOT_FOUND, /* c0000144 (STATUS_UNHANDLED_EXCEPTION) */
ERROR_MR_MID_NOT_FOUND, /* c0000145 (STATUS_APP_INIT_FAILURE) */
ERROR_MR_MID_NOT_FOUND, /* c0000146 (STATUS_PAGEFILE_CREATE_FAILED) */
ERROR_MR_MID_NOT_FOUND, /* c0000147 (STATUS_NO_PAGEFILE) */
ERROR_INVALID_LEVEL, /* c0000148 (STATUS_INVALID_LEVEL) */
ERROR_INVALID_PASSWORD, /* c0000149 (STATUS_WRONG_PASSWORD_CORE) */
ERROR_MR_MID_NOT_FOUND, /* c000014a (STATUS_ILLEGAL_FLOAT_CONTEXT) */
ERROR_BROKEN_PIPE, /* c000014b (STATUS_PIPE_BROKEN) */
ERROR_BADDB, /* c000014c (STATUS_REGISTRY_CORRUPT) */
ERROR_REGISTRY_IO_FAILED, /* c000014d (STATUS_REGISTRY_IO_FAILED) */
ERROR_MR_MID_NOT_FOUND, /* c000014e (STATUS_NO_EVENT_PAIR) */
ERROR_UNRECOGNIZED_VOLUME, /* c000014f (STATUS_UNRECOGNIZED_VOLUME) */
ERROR_SERIAL_NO_DEVICE, /* c0000150 (STATUS_SERIAL_NO_DEVICE_INITED) */
ERROR_NO_SUCH_ALIAS, /* c0000151 (STATUS_NO_SUCH_ALIAS) */
ERROR_MEMBER_NOT_IN_ALIAS, /* c0000152 (STATUS_MEMBER_NOT_IN_ALIAS) */
ERROR_MEMBER_IN_ALIAS, /* c0000153 (STATUS_MEMBER_IN_ALIAS) */
ERROR_ALIAS_EXISTS, /* c0000154 (STATUS_ALIAS_EXISTS) */
ERROR_LOGON_NOT_GRANTED, /* c0000155 (STATUS_LOGON_NOT_GRANTED) */
ERROR_TOO_MANY_SECRETS, /* c0000156 (STATUS_TOO_MANY_SECRETS) */
ERROR_SECRET_TOO_LONG, /* c0000157 (STATUS_SECRET_TOO_LONG) */
ERROR_INTERNAL_DB_ERROR, /* c0000158 (STATUS_INTERNAL_DB_ERROR) */
ERROR_FULLSCREEN_MODE, /* c0000159 (STATUS_FULLSCREEN_MODE) */
ERROR_TOO_MANY_CONTEXT_IDS, /* c000015a (STATUS_TOO_MANY_CONTEXT_IDS) */
ERROR_LOGON_TYPE_NOT_GRANTED, /* c000015b (STATUS_LOGON_TYPE_NOT_GRANTED) */
ERROR_NOT_REGISTRY_FILE, /* c000015c (STATUS_NOT_REGISTRY_FILE) */
ERROR_NT_CROSS_ENCRYPTION_REQUIRED, /* c000015d (STATUS_NT_CROSS_ENCRYPTION_REQUIRED) */
ERROR_MR_MID_NOT_FOUND, /* c000015e (STATUS_DOMAIN_CTRLR_CONFIG_ERROR) */
ERROR_IO_DEVICE, /* c000015f (STATUS_FT_MISSING_MEMBER) */
ERROR_MR_MID_NOT_FOUND, /* c0000160 (STATUS_ILL_FORMED_SERVICE_ENTRY) */
ERROR_MR_MID_NOT_FOUND, /* c0000161 (STATUS_ILLEGAL_CHARACTER) */
ERROR_NO_UNICODE_TRANSLATION, /* c0000162 (STATUS_UNMAPPABLE_CHARACTER) */
ERROR_MR_MID_NOT_FOUND, /* c0000163 (STATUS_UNDEFINED_CHARACTER) */
ERROR_MR_MID_NOT_FOUND, /* c0000164 (STATUS_FLOPPY_VOLUME) */
ERROR_FLOPPY_ID_MARK_NOT_FOUND, /* c0000165 (STATUS_FLOPPY_ID_MARK_NOT_FOUND) */
ERROR_FLOPPY_WRONG_CYLINDER, /* c0000166 (STATUS_FLOPPY_WRONG_CYLINDER) */
ERROR_FLOPPY_UNKNOWN_ERROR, /* c0000167 (STATUS_FLOPPY_UNKNOWN_ERROR) */
ERROR_FLOPPY_BAD_REGISTERS, /* c0000168 (STATUS_FLOPPY_BAD_REGISTERS) */
ERROR_DISK_RECALIBRATE_FAILED, /* c0000169 (STATUS_DISK_RECALIBRATE_FAILED) */
ERROR_DISK_OPERATION_FAILED, /* c000016a (STATUS_DISK_OPERATION_FAILED) */
ERROR_DISK_RESET_FAILED, /* c000016b (STATUS_DISK_RESET_FAILED) */
ERROR_IRQ_BUSY, /* c000016c (STATUS_SHARED_IRQ_BUSY) */
ERROR_IO_DEVICE, /* c000016d (STATUS_FT_ORPHANING) */
ERROR_MR_MID_NOT_FOUND, /* c000016e (STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT) */
ERROR_MR_MID_NOT_FOUND, /* c000016f */
ERROR_MR_MID_NOT_FOUND, /* c0000170 */
ERROR_MR_MID_NOT_FOUND, /* c0000171 */
ERROR_PARTITION_FAILURE, /* c0000172 (STATUS_PARTITION_FAILURE) */
ERROR_INVALID_BLOCK_LENGTH, /* c0000173 (STATUS_INVALID_BLOCK_LENGTH) */
ERROR_DEVICE_NOT_PARTITIONED, /* c0000174 (STATUS_DEVICE_NOT_PARTITIONED) */
ERROR_UNABLE_TO_LOCK_MEDIA, /* c0000175 (STATUS_UNABLE_TO_LOCK_MEDIA) */
ERROR_UNABLE_TO_UNLOAD_MEDIA, /* c0000176 (STATUS_UNABLE_TO_UNLOAD_MEDIA) */
ERROR_EOM_OVERFLOW, /* c0000177 (STATUS_EOM_OVERFLOW) */
ERROR_NO_MEDIA_IN_DRIVE, /* c0000178 (STATUS_NO_MEDIA) */
ERROR_MR_MID_NOT_FOUND, /* c0000179 */
ERROR_NO_SUCH_MEMBER, /* c000017a (STATUS_NO_SUCH_MEMBER) */
ERROR_INVALID_MEMBER, /* c000017b (STATUS_INVALID_MEMBER) */
ERROR_KEY_DELETED, /* c000017c (STATUS_KEY_DELETED) */
ERROR_NO_LOG_SPACE, /* c000017d (STATUS_NO_LOG_SPACE) */
ERROR_TOO_MANY_SIDS, /* c000017e (STATUS_TOO_MANY_SIDS) */
ERROR_LM_CROSS_ENCRYPTION_REQUIRED, /* c000017f (STATUS_LM_CROSS_ENCRYPTION_REQUIRED) */
ERROR_KEY_HAS_CHILDREN, /* c0000180 (STATUS_KEY_HAS_CHILDREN) */
ERROR_CHILD_MUST_BE_VOLATILE, /* c0000181 (STATUS_CHILD_MUST_BE_VOLATILE) */
ERROR_INVALID_PARAMETER, /* c0000182 (STATUS_DEVICE_CONFIGURATION_ERROR) */
ERROR_IO_DEVICE, /* c0000183 (STATUS_DRIVER_INTERNAL_ERROR) */
ERROR_BAD_COMMAND, /* c0000184 (STATUS_INVALID_DEVICE_STATE) */
ERROR_IO_DEVICE, /* c0000185 (STATUS_IO_DEVICE_ERROR) */
ERROR_IO_DEVICE, /* c0000186 (STATUS_DEVICE_PROTOCOL_ERROR) */
ERROR_MR_MID_NOT_FOUND, /* c0000187 (STATUS_BACKUP_CONTROLLER) */
ERROR_LOG_FILE_FULL, /* c0000188 (STATUS_LOG_FILE_FULL) */
ERROR_WRITE_PROTECT, /* c0000189 (STATUS_TOO_LATE) */
ERROR_NO_TRUST_LSA_SECRET, /* c000018a (STATUS_NO_TRUST_LSA_SECRET) */
ERROR_NO_TRUST_SAM_ACCOUNT, /* c000018b (STATUS_NO_TRUST_SAM_ACCOUNT) */
ERROR_TRUSTED_DOMAIN_FAILURE, /* c000018c (STATUS_TRUSTED_DOMAIN_FAILURE) */
ERROR_TRUSTED_RELATIONSHIP_FAILURE, /* c000018d (STATUS_TRUSTED_RELATIONSHIP_FAILURE) */
ERROR_EVENTLOG_FILE_CORRUPT, /* c000018e (STATUS_EVENTLOG_FILE_CORRUPT) */
ERROR_EVENTLOG_CANT_START, /* c000018f (STATUS_EVENTLOG_CANT_START) */
ERROR_TRUST_FAILURE, /* c0000190 (STATUS_TRUST_FAILURE) */
ERROR_MR_MID_NOT_FOUND, /* c0000191 (STATUS_MUTANT_LIMIT_EXCEEDED) */
ERROR_NETLOGON_NOT_STARTED, /* c0000192 (STATUS_NETLOGON_NOT_STARTED) */
ERROR_ACCOUNT_EXPIRED, /* c0000193 (STATUS_ACCOUNT_EXPIRED) */
ERROR_POSSIBLE_DEADLOCK, /* c0000194 (STATUS_POSSIBLE_DEADLOCK) */
ERROR_SESSION_CREDENTIAL_CONFLICT, /* c0000195 (STATUS_NETWORK_CREDENTIAL_CONFLICT) */
ERROR_REMOTE_SESSION_LIMIT_EXCEEDED, /* c0000196 (STATUS_REMOTE_SESSION_LIMIT) */
ERROR_EVENTLOG_FILE_CHANGED, /* c0000197 (STATUS_EVENTLOG_FILE_CHANGED) */
ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT,/* c0000198 (STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT) */
ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT,/* c0000199 (STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT) */
ERROR_NOLOGON_SERVER_TRUST_ACCOUNT, /* c000019a (STATUS_NOLOGON_SERVER_TRUST_ACCOUNT) */
ERROR_DOMAIN_TRUST_INCONSISTENT /* c000019b (STATUS_DOMAIN_TRUST_INCONSISTENT) */
};
static const WORD table_c0000202[109] =
{
ERROR_NO_USER_SESSION_KEY, /* c0000202 (STATUS_NO_USER_SESSION_KEY) */
ERROR_UNEXP_NET_ERR, /* c0000203 (STATUS_USER_SESSION_DELETED) */
ERROR_RESOURCE_LANG_NOT_FOUND, /* c0000204 (STATUS_RESOURCE_LANG_NOT_FOUND) */
ERROR_NOT_ENOUGH_SERVER_MEMORY, /* c0000205 (STATUS_INSUFF_SERVER_RESOURCES) */
ERROR_INVALID_USER_BUFFER, /* c0000206 (STATUS_INVALID_BUFFER_SIZE) */
ERROR_INVALID_NETNAME, /* c0000207 (STATUS_INVALID_ADDRESS_COMPONENT) */
ERROR_INVALID_NETNAME, /* c0000208 (STATUS_INVALID_ADDRESS_WILDCARD) */
ERROR_TOO_MANY_NAMES, /* c0000209 (STATUS_TOO_MANY_ADDRESSES) */
ERROR_DUP_NAME, /* c000020a (STATUS_ADDRESS_ALREADY_EXISTS) */
ERROR_NETNAME_DELETED, /* c000020b (STATUS_ADDRESS_CLOSED) */
ERROR_NETNAME_DELETED, /* c000020c (STATUS_CONNECTION_DISCONNECTED) */
ERROR_NETNAME_DELETED, /* c000020d (STATUS_CONNECTION_RESET) */
ERROR_TOO_MANY_NAMES, /* c000020e (STATUS_TOO_MANY_NODES) */
ERROR_UNEXP_NET_ERR, /* c000020f (STATUS_TRANSACTION_ABORTED) */
ERROR_UNEXP_NET_ERR, /* c0000210 (STATUS_TRANSACTION_TIMED_OUT) */
ERROR_UNEXP_NET_ERR, /* c0000211 (STATUS_TRANSACTION_NO_RELEASE) */
ERROR_UNEXP_NET_ERR, /* c0000212 (STATUS_TRANSACTION_NO_MATCH) */
ERROR_UNEXP_NET_ERR, /* c0000213 (STATUS_TRANSACTION_RESPONDED) */
ERROR_UNEXP_NET_ERR, /* c0000214 (STATUS_TRANSACTION_INVALID_ID) */
ERROR_UNEXP_NET_ERR, /* c0000215 (STATUS_TRANSACTION_INVALID_TYPE) */
ERROR_NOT_SUPPORTED, /* c0000216 (STATUS_NOT_SERVER_SESSION) */
ERROR_NOT_SUPPORTED, /* c0000217 (STATUS_NOT_CLIENT_SESSION) */
ERROR_MR_MID_NOT_FOUND, /* c0000218 (STATUS_CANNOT_LOAD_REGISTRY_FILE) */
ERROR_MR_MID_NOT_FOUND, /* c0000219 */
ERROR_MR_MID_NOT_FOUND, /* c000021a */
ERROR_MR_MID_NOT_FOUND, /* c000021b */
ERROR_NO_BROWSER_SERVERS_FOUND, /* c000021c (STATUS_NO_BROWSER_SERVERS_FOUND) */
ERROR_MR_MID_NOT_FOUND, /* c000021d */
ERROR_MR_MID_NOT_FOUND, /* c000021e */
ERROR_MR_MID_NOT_FOUND, /* c000021f */
ERROR_MAPPED_ALIGNMENT, /* c0000220 (STATUS_MAPPED_ALIGNMENT) */
ERROR_BAD_EXE_FORMAT, /* c0000221 (STATUS_IMAGE_CHECKSUM_MISMATCH) */
ERROR_MR_MID_NOT_FOUND, /* c0000222 */
ERROR_MR_MID_NOT_FOUND, /* c0000223 */
ERROR_PASSWORD_MUST_CHANGE, /* c0000224 (STATUS_PASSWORD_MUST_CHANGE) */
ERROR_MR_MID_NOT_FOUND, /* c0000225 */
ERROR_MR_MID_NOT_FOUND, /* c0000226 */
ERROR_MR_MID_NOT_FOUND, /* c0000227 */
ERROR_MR_MID_NOT_FOUND, /* c0000228 */
ERROR_MR_MID_NOT_FOUND, /* c0000229 */
0, /* c000022a */
0, /* c000022b */
ERROR_MR_MID_NOT_FOUND, /* c000022c */
ERROR_MR_MID_NOT_FOUND, /* c000022d */
ERROR_MR_MID_NOT_FOUND, /* c000022e */
ERROR_MR_MID_NOT_FOUND, /* c000022f */
ERROR_MR_MID_NOT_FOUND, /* c0000230 */
ERROR_MR_MID_NOT_FOUND, /* c0000231 */
ERROR_MR_MID_NOT_FOUND, /* c0000232 */
ERROR_DOMAIN_CONTROLLER_NOT_FOUND, /* c0000233 */
ERROR_ACCOUNT_LOCKED_OUT, /* c0000234 */
ERROR_INVALID_HANDLE, /* c0000235 */
ERROR_CONNECTION_REFUSED, /* c0000236 */
ERROR_GRACEFUL_DISCONNECT, /* c0000237 */
ERROR_ADDRESS_ALREADY_ASSOCIATED, /* c0000238 */
ERROR_ADDRESS_NOT_ASSOCIATED, /* c0000239 */
ERROR_CONNECTION_INVALID, /* c000023a */
ERROR_CONNECTION_ACTIVE, /* c000023b */
ERROR_NETWORK_UNREACHABLE, /* c000023c */
ERROR_HOST_UNREACHABLE, /* c000023d */
ERROR_PROTOCOL_UNREACHABLE, /* c000023e */
ERROR_PORT_UNREACHABLE, /* c000023f */
ERROR_REQUEST_ABORTED, /* c0000240 */
ERROR_CONNECTION_ABORTED, /* c0000241 */
ERROR_MR_MID_NOT_FOUND, /* c0000242 */
ERROR_USER_MAPPED_FILE, /* c0000243 */
ERROR_MR_MID_NOT_FOUND, /* c0000244 */
ERROR_MR_MID_NOT_FOUND, /* c0000245 */
ERROR_CONNECTION_COUNT_LIMIT, /* c0000246 */
ERROR_LOGIN_TIME_RESTRICTION, /* c0000247 */
ERROR_LOGIN_WKSTA_RESTRICTION, /* c0000248 */
ERROR_BAD_EXE_FORMAT, /* c0000249 */
ERROR_MR_MID_NOT_FOUND, /* c000024a */
ERROR_MR_MID_NOT_FOUND, /* c000024b */
ERROR_MR_MID_NOT_FOUND, /* c000024c */
ERROR_MR_MID_NOT_FOUND, /* c000024d */
ERROR_MR_MID_NOT_FOUND, /* c000024e */
ERROR_MR_MID_NOT_FOUND, /* c000024f */
ERROR_MR_MID_NOT_FOUND, /* c0000250 */
ERROR_MR_MID_NOT_FOUND, /* c0000251 */
ERROR_MR_MID_NOT_FOUND, /* c0000252 */
ERROR_INTERNAL_ERROR, /* c0000253 */
ERROR_MR_MID_NOT_FOUND, /* c0000254 */
ERROR_MR_MID_NOT_FOUND, /* c0000255 */
ERROR_MR_MID_NOT_FOUND, /* c0000256 */
ERROR_HOST_UNREACHABLE, /* c0000257 */
ERROR_MR_MID_NOT_FOUND, /* c0000258 */
ERROR_LICENSE_QUOTA_EXCEEDED, /* c0000259 */
ERROR_MR_MID_NOT_FOUND, /* c000025a */
ERROR_MR_MID_NOT_FOUND, /* c000025b */
ERROR_MR_MID_NOT_FOUND, /* c000025c */
ERROR_MR_MID_NOT_FOUND, /* c000025d */
ERROR_SERVICE_DISABLED, /* c000025e */
ERROR_MR_MID_NOT_FOUND, /* c000025f */
ERROR_MR_MID_NOT_FOUND, /* c0000260 */
ERROR_MR_MID_NOT_FOUND, /* c0000261 */
ERROR_INVALID_ORDINAL, /* c0000262 */
ERROR_PROC_NOT_FOUND, /* c0000263 */
ERROR_NOT_OWNER, /* c0000264 */
ERROR_TOO_MANY_LINKS, /* c0000265 */
ERROR_MR_MID_NOT_FOUND, /* c0000266 */
ERROR_MR_MID_NOT_FOUND, /* c0000267 */
ERROR_MR_MID_NOT_FOUND, /* c0000268 */
ERROR_MR_MID_NOT_FOUND, /* c0000269 */
ERROR_MR_MID_NOT_FOUND, /* c000026a */
ERROR_MR_MID_NOT_FOUND, /* c000026b */
ERROR_MR_MID_NOT_FOUND, /* c000026c */
ERROR_MR_MID_NOT_FOUND, /* c000026d */
ERROR_NOT_READY /* c000026e (STATUS_VOLUME_DISMOUNTED) */
};
static const WORD table_c0020001[88] =
{
RPC_S_INVALID_STRING_BINDING, /* c0020001 (RPC_NT_INVALID_STRING_BINDING) */
RPC_S_WRONG_KIND_OF_BINDING, /* c0020002 (RPC_NT_WRONG_KIND_OF_BINDING) */
ERROR_INVALID_HANDLE, /* c0020003 (RPC_NT_INVALID_BINDING) */
RPC_S_PROTSEQ_NOT_SUPPORTED, /* c0020004 (RPC_NT_PROTSEQ_NOT_SUPPORTED) */
RPC_S_INVALID_RPC_PROTSEQ, /* c0020005 (RPC_NT_INVALID_RPC_PROTSEQ) */
RPC_S_INVALID_STRING_UUID, /* c0020006 (RPC_NT_INVALID_STRING_UUID) */
RPC_S_INVALID_ENDPOINT_FORMAT, /* c0020007 (RPC_NT_INVALID_ENDPOINT_FORMAT) */
RPC_S_INVALID_NET_ADDR, /* c0020008 (RPC_NT_INVALID_NET_ADDR) */
RPC_S_NO_ENDPOINT_FOUND, /* c0020009 (RPC_NT_NO_ENDPOINT_FOUND) */
RPC_S_INVALID_TIMEOUT, /* c002000a (RPC_NT_INVALID_TIMEOUT) */
RPC_S_OBJECT_NOT_FOUND, /* c002000b (RPC_NT_OBJECT_NOT_FOUND) */
RPC_S_ALREADY_REGISTERED, /* c002000c (RPC_NT_ALREADY_REGISTERED) */
RPC_S_TYPE_ALREADY_REGISTERED, /* c002000d (RPC_NT_TYPE_ALREADY_REGISTERED) */
RPC_S_ALREADY_LISTENING, /* c002000e (RPC_NT_ALREADY_LISTENING) */
RPC_S_NO_PROTSEQS_REGISTERED, /* c002000f (RPC_NT_NO_PROTSEQS_REGISTERED) */
RPC_S_NOT_LISTENING, /* c0020010 (RPC_NT_NOT_LISTENING) */
RPC_S_UNKNOWN_MGR_TYPE, /* c0020011 (RPC_NT_UNKNOWN_MGR_TYPE) */
RPC_S_UNKNOWN_IF, /* c0020012 (RPC_NT_UNKNOWN_IF) */
RPC_S_NO_BINDINGS, /* c0020013 (RPC_NT_NO_BINDINGS) */
RPC_S_NO_PROTSEQS, /* c0020014 (RPC_NT_NO_PROTSEQS) */
RPC_S_CANT_CREATE_ENDPOINT, /* c0020015 (RPC_NT_CANT_CREATE_ENDPOINT) */
RPC_S_OUT_OF_RESOURCES, /* c0020016 (RPC_NT_OUT_OF_RESOURCES) */
RPC_S_SERVER_UNAVAILABLE, /* c0020017 (RPC_NT_SERVER_UNAVAILABLE) */
RPC_S_SERVER_TOO_BUSY, /* c0020018 (RPC_NT_SERVER_TOO_BUSY) */
RPC_S_INVALID_NETWORK_OPTIONS, /* c0020019 (RPC_NT_INVALID_NETWORK_OPTIONS) */
RPC_S_NO_CALL_ACTIVE, /* c002001a (RPC_NT_NO_CALL_ACTIVE) */
RPC_S_CALL_FAILED, /* c002001b (RPC_NT_CALL_FAILED) */
RPC_S_CALL_FAILED_DNE, /* c002001c (RPC_NT_CALL_FAILED_DNE) */
RPC_S_PROTOCOL_ERROR, /* c002001d (RPC_NT_PROTOCOL_ERROR) */
ERROR_MR_MID_NOT_FOUND, /* c002001e */
RPC_S_UNSUPPORTED_TRANS_SYN, /* c002001f (RPC_NT_UNSUPPORTED_TRANS_SYN) */
ERROR_MR_MID_NOT_FOUND, /* c0020020 */
RPC_S_UNSUPPORTED_TYPE, /* c0020021 (RPC_NT_UNSUPPORTED_TYPE) */
RPC_S_INVALID_TAG, /* c0020022 (RPC_NT_INVALID_TAG) */
RPC_S_INVALID_BOUND, /* c0020023 (RPC_NT_INVALID_BOUND) */
RPC_S_NO_ENTRY_NAME, /* c0020024 (RPC_NT_NO_ENTRY_NAME) */
RPC_S_INVALID_NAME_SYNTAX, /* c0020025 (RPC_NT_INVALID_NAME_SYNTAX) */
RPC_S_UNSUPPORTED_NAME_SYNTAX, /* c0020026 (RPC_NT_UNSUPPORTED_NAME_SYNTAX) */
ERROR_MR_MID_NOT_FOUND, /* c0020027 */
RPC_S_UUID_NO_ADDRESS, /* c0020028 (RPC_NT_UUID_NO_ADDRESS) */
RPC_S_DUPLICATE_ENDPOINT, /* c0020029 (RPC_NT_DUPLICATE_ENDPOINT) */
RPC_S_UNKNOWN_AUTHN_TYPE, /* c002002a (RPC_NT_UNKNOWN_AUTHN_TYPE) */
RPC_S_MAX_CALLS_TOO_SMALL, /* c002002b (RPC_NT_MAX_CALLS_TOO_SMALL) */
RPC_S_STRING_TOO_LONG, /* c002002c (RPC_NT_STRING_TOO_LONG) */
RPC_S_PROTSEQ_NOT_FOUND, /* c002002d (RPC_NT_PROTSEQ_NOT_FOUND) */
RPC_S_PROCNUM_OUT_OF_RANGE, /* c002002e (RPC_NT_PROCNUM_OUT_OF_RANGE) */
RPC_S_BINDING_HAS_NO_AUTH, /* c002002f (RPC_NT_BINDING_HAS_NO_AUTH) */
RPC_S_UNKNOWN_AUTHN_SERVICE, /* c0020030 (RPC_NT_UNKNOWN_AUTHN_SERVICE) */
RPC_S_UNKNOWN_AUTHN_LEVEL, /* c0020031 (RPC_NT_UNKNOWN_AUTHN_LEVEL) */
RPC_S_INVALID_AUTH_IDENTITY, /* c0020032 (RPC_NT_INVALID_AUTH_IDENTITY) */
RPC_S_UNKNOWN_AUTHZ_SERVICE, /* c0020033 (RPC_NT_UNKNOWN_AUTHZ_SERVICE) */
EPT_S_INVALID_ENTRY, /* c0020034 (EPT_NT_INVALID_ENTRY) */
EPT_S_CANT_PERFORM_OP, /* c0020035 (EPT_NT_CANT_PERFORM_OP) */
EPT_S_NOT_REGISTERED, /* c0020036 (EPT_NT_NOT_REGISTERED) */
RPC_S_NOTHING_TO_EXPORT, /* c0020037 (RPC_NT_NOTHING_TO_EXPORT) */
RPC_S_INCOMPLETE_NAME, /* c0020038 (RPC_NT_INCOMPLETE_NAME) */
RPC_S_INVALID_VERS_OPTION, /* c0020039 (RPC_NT_INVALID_VERS_OPTION) */
RPC_S_NO_MORE_MEMBERS, /* c002003a (RPC_NT_NO_MORE_MEMBERS) */
RPC_S_NOT_ALL_OBJS_UNEXPORTED, /* c002003b (RPC_NT_NOT_ALL_OBJS_UNEXPORTED) */
RPC_S_INTERFACE_NOT_FOUND, /* c002003c (RPC_NT_INTERFACE_NOT_FOUND) */
RPC_S_ENTRY_ALREADY_EXISTS, /* c002003d (RPC_NT_ENTRY_ALREADY_EXISTS) */
RPC_S_ENTRY_NOT_FOUND, /* c002003e (RPC_NT_ENTRY_NOT_FOUND) */
RPC_S_NAME_SERVICE_UNAVAILABLE, /* c002003f (RPC_NT_NAME_SERVICE_UNAVAILABLE) */
RPC_S_INVALID_NAF_ID, /* c0020040 (RPC_NT_INVALID_NAF_ID) */
RPC_S_CANNOT_SUPPORT, /* c0020041 (RPC_NT_CANNOT_SUPPORT) */
RPC_S_NO_CONTEXT_AVAILABLE, /* c0020042 (RPC_NT_NO_CONTEXT_AVAILABLE) */
RPC_S_INTERNAL_ERROR, /* c0020043 (RPC_NT_INTERNAL_ERROR) */
RPC_S_ZERO_DIVIDE, /* c0020044 (RPC_NT_ZERO_DIVIDE) */
RPC_S_ADDRESS_ERROR, /* c0020045 (RPC_NT_ADDRESS_ERROR) */
RPC_S_FP_DIV_ZERO, /* c0020046 (RPC_NT_FP_DIV_ZERO) */
RPC_S_FP_UNDERFLOW, /* c0020047 (RPC_NT_FP_UNDERFLOW) */
RPC_S_FP_OVERFLOW, /* c0020048 (RPC_NT_FP_OVERFLOW) */
RPC_S_CALL_IN_PROGRESS, /* c0020049 (RPC_NT_CALL_IN_PROGRESS) */
RPC_S_NO_MORE_BINDINGS, /* c002004a (RPC_NT_NO_MORE_BINDINGS) */
RPC_S_GROUP_MEMBER_NOT_FOUND, /* c002004b (RPC_NT_GROUP_MEMBER_NOT_FOUND) */
EPT_S_CANT_CREATE, /* c002004c (EPT_NT_CANT_CREATE) */
RPC_S_INVALID_OBJECT, /* c002004d (RPC_NT_INVALID_OBJECT) */
ERROR_MR_MID_NOT_FOUND, /* c002004e */
RPC_S_NO_INTERFACES, /* c002004f */
RPC_S_CALL_CANCELLED, /* c0020050 */
RPC_S_BINDING_INCOMPLETE, /* c0020051 */
RPC_S_COMM_FAILURE, /* c0020052 */
RPC_S_UNSUPPORTED_AUTHN_LEVEL, /* c0020053 */
RPC_S_NO_PRINC_NAME, /* c0020054 */
RPC_S_NOT_RPC_ERROR, /* c0020055 */
ERROR_MR_MID_NOT_FOUND, /* c0020056 */
RPC_S_SEC_PKG_ERROR, /* c0020057 */
RPC_S_NOT_CANCELLED /* c0020058 */
};
static const WORD table_c0030001[12] =
{
RPC_X_NO_MORE_ENTRIES, /* c0030001 (RPC_NT_NO_MORE_ENTRIES) */
RPC_X_SS_CHAR_TRANS_OPEN_FAIL, /* c0030002 (RPC_NT_SS_CHAR_TRANS_OPEN_FAIL) */
RPC_X_SS_CHAR_TRANS_SHORT_FILE, /* c0030003 (RPC_NT_SS_CHAR_TRANS_SHORT_FILE) */
ERROR_INVALID_HANDLE, /* c0030004 (RPC_NT_SS_IN_NULL_CONTEXT) */
ERROR_INVALID_HANDLE, /* c0030005 */
RPC_X_SS_CONTEXT_DAMAGED, /* c0030006 (RPC_NT_SS_CONTEXT_DAMAGED) */
RPC_X_SS_HANDLES_MISMATCH, /* c0030007 (RPC_NT_SS_HANDLES_MISMATCH) */
RPC_X_SS_CANNOT_GET_CALL_HANDLE, /* c0030008 (RPC_NT_SS_CANNOT_GET_CALL_HANDLE) */
RPC_X_NULL_REF_POINTER, /* c0030009 (RPC_NT_NULL_REF_POINTER) */
RPC_X_ENUM_VALUE_OUT_OF_RANGE, /* c003000a (RPC_NT_ENUM_VALUE_OUT_OF_RANGE) */
RPC_X_BYTE_COUNT_TOO_SMALL, /* c003000b (RPC_NT_BYTE_COUNT_TOO_SMALL) */
RPC_X_BAD_STUB_DATA /* c003000c (RPC_NT_BAD_STUB_DATA) */
};
static const WORD table_c0030059[6] =
{
RPC_X_INVALID_ES_ACTION, /* c0030059 */
RPC_X_WRONG_ES_VERSION, /* c003005a */
RPC_X_WRONG_STUB_VERSION, /* c003005b */
RPC_X_INVALID_PIPE_OBJECT, /* c003005c */
RPC_X_WRONG_PIPE_ORDER, /* c003005d */
RPC_X_WRONG_PIPE_VERSION /* c003005e */
};
static const ERROR_TABLE ErrorTable[] =
{
{ 0x00000103, 0x0000010e, table_00000103 },
{ 0x40000002, 0x4000000e, table_40000002 },
{ 0x40020056, 0x40020057, table_40020056 },
{ 0x400200af, 0x400200b0, table_400200af },
{ 0x80000001, 0x80000027, table_80000001 },
{ 0x80090300, 0x80090317, table_80090300 },
{ 0xc0000001, 0xc000019c, table_c0000001 },
{ 0xc0000202, 0xc000026f, table_c0000202 },
{ 0xc0020001, 0xc0020059, table_c0020001 },
{ 0xc0030001, 0xc003000d, table_c0030001 },
{ 0xc0030059, 0xc003005f, table_c0030059 },
{ 0, 0, 0 } /* last entry */
};
#if 0
/* currently not assigned values */
ERROR_ARENA_TRASHED
STATUS_HANDLE_NOT_WAITABLE ERROR_INVALID_HANDLE;
STATUS_LOCK_NOT_GRANTED ERROR_LOCK_VIOLATION;
RPC_NT_SS_CONTEXT_MISMATCH ERROR_INVALID_HANDLE
#endif
/* FUNCTIONS ***************************************************************/
VOID
STDCALL
RtlAssert (
PVOID FailedAssertion,
PVOID FileName,
ULONG LineNumber,
PCHAR Message
)
{
DbgPrint ("Assertion \'%s\' failed at %s line %d: %s\n",
(PCHAR)FailedAssertion,
(PCHAR)FileName,
LineNumber,
Message);
}
/**********************************************************************
* NAME EXPORTED
* RtlNtStatusToDosErrorNoTeb
*
* DESCRIPTION
* Convert an Executive status ID into a DOS error number
* (winerror.h).
*
* ARGUMENTS
* Status The Executive status ID to convert.
*
* RETURN VALUE
* dos error as in winerror.h
*
* REMARK
* RtlNtStatusToDosErrorNoTeb() does the real work.
*/
DWORD
STDCALL
RtlNtStatusToDosErrorNoTeb (NTSTATUS Status)
{
PERROR_TABLE Table = (PERROR_TABLE)ErrorTable;
if (!Status || (Status & 0x20000000))
return Status;
/* 0xd... is equivalent to 0xc... */
if ((Status & 0xf0000000) == 0xd0000000)
Status &= ~0x10000000;
while (Table->Start)
{
if (Status < Table->Start)
break;
if (Status < Table->End)
{
DWORD ret = Table->Table[Status - Table->Start];
if (!ret)
ret = Status; /* 0 means 1:1 mapping */
else if (ret == ERROR_MR_MID_NOT_FOUND)
DbgPrint("RTL: RtlNtStatusToDosErrorNoTeb(0x%lx): no valid W32 error mapping\n", Status);
return ret;
}
Table++;
}
/* now some special cases */
if (HIWORD(Status) == 0xc001)
return LOWORD(Status);
if (HIWORD(Status) == 0x8007)
return LOWORD(Status);
DbgPrint("RTL: RtlNtStatusToDosErrorNoTeb(0x%lx): no valid W32 error mapping\n", Status);
return ERROR_MR_MID_NOT_FOUND;
}
/**********************************************************************
* NAME EXPORTED
* RtlNtStatusToDosError
*
* DESCRIPTION
* Convert an Executive status ID into a DOS error number
* (winerror.h).
*
* ARGUMENTS
* Status The Executive status ID to convert.
*
* RETURN VALUE
* dos error as in winerror.h
*
* REMARK
* RtlNtStatusToDosErrorNoTeb() does the real work.
*/
DWORD
STDCALL
RtlNtStatusToDosError (
NTSTATUS Status
)
{
PNT_TEB Teb = NtCurrentTeb ();
if (NULL != Teb)
{
Teb->LastStatusValue = Status;
}
return RtlNtStatusToDosErrorNoTeb (Status);
}
/**********************************************************************
* NAME EXPORTED
* RtlNtStatusToPsxErrno
*
* DESCRIPTION
* Convert an Executive status ID into a POSIX error number
* (errno.h).
*
* NOTE
* Not present in the legacy WNT (a ReactOS extension to support
* the POSIX+ subsystem).
*
* ARGUMENTS
* Status The Executive status ID to convert.
*
* RETURN VALUE
* errno as in errno.h
*
* REVISIONS
* 1999-11-30 ea
*/
INT
STDCALL
RtlNtStatusToPsxErrno (
IN NTSTATUS Status
)
{
#if 0
switch (Status)
{
}
#endif
return -1; /* generic POSIX error */
}
/* EOF */