Skip to content
Snippets Groups Projects
Commit 2646fb60 authored by Alexandre Julliard's avatar Alexandre Julliard
Browse files

Built a complete translation table for RtlNtStatusToDosError.

parent c18740d0
Branches
Tags
No related merge requests found
......@@ -9,6 +9,7 @@ SPEC_SRCS = ntdll.spec
C_SRCS = \
exception.c \
error.c \
file.c \
misc.c \
nt.c \
......
This diff is collapsed.
......@@ -344,77 +344,6 @@ LPVOID WINAPI RtlNormalizeProcessParams(LPVOID x)
return x;
}
/**************************************************************************
* RtlNtStatusToDosError [NTDLL.442]
*/
DWORD WINAPI RtlNtStatusToDosError(DWORD Status)
{
TRACE("(0x%08lx)\n",Status);
switch (Status & 0xC0000000)
{
case 0x00000000:
switch (Status)
{
/*00*/ case STATUS_SUCCESS: return ERROR_SUCCESS;
}
break;
case 0x40000000:
switch (Status)
{
}
break;
case 0x80000000:
switch (Status)
{
case STATUS_GUARD_PAGE_VIOLATION: return STATUS_GUARD_PAGE_VIOLATION;
case STATUS_DATATYPE_MISALIGNMENT: return ERROR_NOACCESS;
case STATUS_BREAKPOINT: return STATUS_BREAKPOINT;
case STATUS_SINGLE_STEP: return STATUS_SINGLE_STEP;
case STATUS_BUFFER_OVERFLOW: return ERROR_MORE_DATA;
case STATUS_NO_MORE_FILES: return ERROR_NO_MORE_FILES;
/* case STATUS_NO_INHERITANCE: return ERROR_NO_INHERITANCE;*/
case STATUS_PARTIAL_COPY: return ERROR_PARTIAL_COPY;
/* case STATUS_DEVICE_PAPER_EMPTY: return ERROR_OUT_OF_PAPER;*/
case STATUS_DEVICE_POWERED_OFF: return ERROR_NOT_READY;
case STATUS_DEVICE_OFF_LINE: return ERROR_NOT_READY;
case STATUS_DEVICE_BUSY: return ERROR_BUSY;
case STATUS_NO_MORE_EAS: return ERROR_NO_MORE_ITEMS;
case STATUS_INVALID_EA_NAME: return ERROR_INVALID_EA_NAME;
case STATUS_EA_LIST_INCONSISTENT: return ERROR_EA_LIST_INCONSISTENT;
case STATUS_INVALID_EA_FLAG: return ERROR_EA_LIST_INCONSISTENT;
/* case STATUS_VERIFY_REQUIRED: return ERROR_MEDIA_CHANGED;*/
case STATUS_NO_MORE_ENTRIES: return ERROR_NO_MORE_ITEMS;
/* case STATUS_FILEMARK_DETECTED: return ERROR_FILEMARK_DETECTED;*/
/* case STATUS_MEDIA_CHANGED: return ERROR_MEDIA_CHANGED;*/
/* case STATUS_BUS_RESET: return ERROR_BUS_RESET;*/
/* case STATUS_END_OF_MEDIA: return ERROR_END_OF_MEDIA;*/
/* case STATUS_BEGINNING_OF_MEDIA: return ERROR_BEGINNING_OF_MEDIA;*/
/* case STATUS_SETMARK_DETECTED: return ERROR_SETMARK_DETECTED;*/
/* case STATUS_NO_DATA_DETECTED: return ERROR_NO_DATA_DETECTED;*/
case STATUS_ALREADY_DISCONNECTED: return ERROR_ACTIVE_CONNECTIONS;
}
break;
case 0xC0000000:
switch (Status)
{
/*01*/ case STATUS_UNSUCCESSFUL: return ERROR_GEN_FAILURE;
/*08*/ case STATUS_NO_MEMORY: return ERROR_NOT_ENOUGH_MEMORY;
/*0d*/ case STATUS_INVALID_PARAMETER: return ERROR_INVALID_PARAMETER;
/*22*/ case STATUS_ACCESS_DENIED: return ERROR_ACCESS_DENIED;
/*23*/ case STATUS_BUFFER_TOO_SMALL: return ERROR_INSUFFICIENT_BUFFER;
/*34*/ case STATUS_OBJECT_NAME_NOT_FOUND: return ERROR_FILE_NOT_FOUND;
/*15c*/ case STATUS_NOT_REGISTRY_FILE: return ERROR_NOT_REGISTRY_FILE;
/*17c*/ case STATUS_KEY_DELETED: return ERROR_KEY_DELETED;
/*181*/ case STATUS_CHILD_MUST_BE_VOLATILE: return ERROR_CHILD_MUST_BE_VOLATILE;
}
break;
}
FIXME("unknown status (%lx)\n",Status);
return ERROR_MR_MID_NOT_FOUND; /*317*/
}
/**************************************************************************
* RtlGetNtProductType [NTDLL.390]
*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment