Commit 9ea1134e authored by Mark Harmstone's avatar Mark Harmstone Committed by Alexandre Julliard

ntdll: Add error mapping for MUI statuses.

parent 4ccf44bb
...@@ -143,7 +143,7 @@ void WINAPI RtlSetLastWin32ErrorAndNtStatusFromNtStatus( NTSTATUS status ) ...@@ -143,7 +143,7 @@ void WINAPI RtlSetLastWin32ErrorAndNtStatusFromNtStatus( NTSTATUS status )
/* conversion table, generated by ./make_errors */ /* conversion table, generated by ./make_errors */
static const DWORD error_map[1579] = static const DWORD error_map[1586] =
{ {
ERROR_WAIT_1, /* 00000001 (STATUS_WAIT_1) */ ERROR_WAIT_1, /* 00000001 (STATUS_WAIT_1) */
ERROR_WAIT_2, /* 00000002 (STATUS_WAIT_2) */ ERROR_WAIT_2, /* 00000002 (STATUS_WAIT_2) */
...@@ -1544,6 +1544,13 @@ static const DWORD error_map[1579] = ...@@ -1544,6 +1544,13 @@ static const DWORD error_map[1579] =
ERROR_CTX_SECURITY_LAYER_ERROR, /* c00a0038 (STATUS_CTX_SECURITY_LAYER_ERROR) */ ERROR_CTX_SECURITY_LAYER_ERROR, /* c00a0038 (STATUS_CTX_SECURITY_LAYER_ERROR) */
ERROR_TS_INCOMPATIBLE_SESSIONS, /* c00a0039 (STATUS_TS_INCOMPATIBLE_SESSIONS) */ ERROR_TS_INCOMPATIBLE_SESSIONS, /* c00a0039 (STATUS_TS_INCOMPATIBLE_SESSIONS) */
ERROR_TS_VIDEO_SUBSYSTEM_ERROR, /* c00a003a (STATUS_TS_VIDEO_SUBSYSTEM_ERROR) */ ERROR_TS_VIDEO_SUBSYSTEM_ERROR, /* c00a003a (STATUS_TS_VIDEO_SUBSYSTEM_ERROR) */
ERROR_MUI_FILE_NOT_FOUND, /* c00b0001 (STATUS_MUI_FILE_NOT_FOUND) */
ERROR_MUI_INVALID_FILE, /* c00b0002 (STATUS_MUI_INVALID_FILE) */
ERROR_MUI_INVALID_RC_CONFIG, /* c00b0003 (STATUS_MUI_INVALID_RC_CONFIG) */
ERROR_MUI_INVALID_LOCALE_NAME, /* c00b0004 (STATUS_MUI_INVALID_LOCALE_NAME) */
ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME, /* c00b0005 (STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME) */
ERROR_MUI_FILE_NOT_LOADED, /* c00b0006 (STATUS_MUI_FILE_NOT_LOADED) */
ERROR_RESOURCE_ENUM_USER_STOP, /* c00b0007 (STATUS_RESOURCE_ENUM_USER_STOP) */
ERROR_CLUSTER_INVALID_NODE, /* c0130001 (STATUS_CLUSTER_INVALID_NODE) */ ERROR_CLUSTER_INVALID_NODE, /* c0130001 (STATUS_CLUSTER_INVALID_NODE) */
ERROR_CLUSTER_NODE_EXISTS, /* c0130002 (STATUS_CLUSTER_NODE_EXISTS) */ ERROR_CLUSTER_NODE_EXISTS, /* c0130002 (STATUS_CLUSTER_NODE_EXISTS) */
ERROR_CLUSTER_JOIN_IN_PROGRESS, /* c0130003 (STATUS_CLUSTER_JOIN_IN_PROGRESS) */ ERROR_CLUSTER_JOIN_IN_PROGRESS, /* c0130003 (STATUS_CLUSTER_JOIN_IN_PROGRESS) */
...@@ -1726,7 +1733,7 @@ static const DWORD error_map[1579] = ...@@ -1726,7 +1733,7 @@ static const DWORD error_map[1579] =
ERROR_VOLMGR_RAID5_NOT_SUPPORTED, /* c038005c (STATUS_VOLMGR_RAID5_NOT_SUPPORTED) */ ERROR_VOLMGR_RAID5_NOT_SUPPORTED, /* c038005c (STATUS_VOLMGR_RAID5_NOT_SUPPORTED) */
}; };
static const struct { ULONG start, end, offset; } table[42] = static const struct { ULONG start, end, offset; } table[43] =
{ {
{ 0x00000001, 0x00000003, 0 }, { 0x00000001, 0x00000003, 0 },
{ 0x0000003f, 0x0000003f, 3 }, { 0x0000003f, 0x0000003f, 3 },
...@@ -1767,9 +1774,10 @@ static const struct { ULONG start, end, offset; } table[42] = ...@@ -1767,9 +1774,10 @@ static const struct { ULONG start, end, offset; } table[42] =
{ 0xc0030059, 0xc0030061, 1341 }, { 0xc0030059, 0xc0030061, 1341 },
{ 0xc00a0001, 0xc00a0018, 1350 }, { 0xc00a0001, 0xc00a0018, 1350 },
{ 0xc00a0022, 0xc00a003a, 1374 }, { 0xc00a0022, 0xc00a003a, 1374 },
{ 0xc0130001, 0xc0130031, 1399 }, { 0xc00b0001, 0xc00b0007, 1399 },
{ 0xc0150001, 0xc0150027, 1448 }, { 0xc0130001, 0xc0130031, 1406 },
{ 0xc0380001, 0xc038005c, 1487 }, { 0xc0150001, 0xc0150027, 1455 },
{ 0xc0380001, 0xc038005c, 1494 },
}; };
static ULONG map_status( NTSTATUS status ) static ULONG map_status( NTSTATUS status )
......
...@@ -1314,6 +1314,13 @@ my %error_map = qw( ...@@ -1314,6 +1314,13 @@ my %error_map = qw(
STATUS_CTX_SECURITY_LAYER_ERROR ERROR_CTX_SECURITY_LAYER_ERROR STATUS_CTX_SECURITY_LAYER_ERROR ERROR_CTX_SECURITY_LAYER_ERROR
STATUS_TS_INCOMPATIBLE_SESSIONS ERROR_TS_INCOMPATIBLE_SESSIONS STATUS_TS_INCOMPATIBLE_SESSIONS ERROR_TS_INCOMPATIBLE_SESSIONS
STATUS_TS_VIDEO_SUBSYSTEM_ERROR ERROR_TS_VIDEO_SUBSYSTEM_ERROR STATUS_TS_VIDEO_SUBSYSTEM_ERROR ERROR_TS_VIDEO_SUBSYSTEM_ERROR
STATUS_MUI_FILE_NOT_FOUND ERROR_MUI_FILE_NOT_FOUND
STATUS_MUI_INVALID_FILE ERROR_MUI_INVALID_FILE
STATUS_MUI_INVALID_RC_CONFIG ERROR_MUI_INVALID_RC_CONFIG
STATUS_MUI_INVALID_LOCALE_NAME ERROR_MUI_INVALID_LOCALE_NAME
STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME
STATUS_MUI_FILE_NOT_LOADED ERROR_MUI_FILE_NOT_LOADED
STATUS_RESOURCE_ENUM_USER_STOP ERROR_RESOURCE_ENUM_USER_STOP
STATUS_CLUSTER_INVALID_NODE ERROR_CLUSTER_INVALID_NODE STATUS_CLUSTER_INVALID_NODE ERROR_CLUSTER_INVALID_NODE
STATUS_CLUSTER_NODE_EXISTS ERROR_CLUSTER_NODE_EXISTS STATUS_CLUSTER_NODE_EXISTS ERROR_CLUSTER_NODE_EXISTS
STATUS_CLUSTER_JOIN_IN_PROGRESS ERROR_CLUSTER_JOIN_IN_PROGRESS STATUS_CLUSTER_JOIN_IN_PROGRESS ERROR_CLUSTER_JOIN_IN_PROGRESS
......
...@@ -1455,6 +1455,13 @@ static void run_error_tests(void) ...@@ -1455,6 +1455,13 @@ static void run_error_tests(void)
cmp2(STATUS_CTX_SECURITY_LAYER_ERROR, ERROR_CTX_SECURITY_LAYER_ERROR); cmp2(STATUS_CTX_SECURITY_LAYER_ERROR, ERROR_CTX_SECURITY_LAYER_ERROR);
cmp2(STATUS_TS_INCOMPATIBLE_SESSIONS, ERROR_TS_INCOMPATIBLE_SESSIONS); cmp2(STATUS_TS_INCOMPATIBLE_SESSIONS, ERROR_TS_INCOMPATIBLE_SESSIONS);
cmp2(STATUS_TS_VIDEO_SUBSYSTEM_ERROR, ERROR_TS_VIDEO_SUBSYSTEM_ERROR); cmp2(STATUS_TS_VIDEO_SUBSYSTEM_ERROR, ERROR_TS_VIDEO_SUBSYSTEM_ERROR);
cmp2(STATUS_MUI_FILE_NOT_FOUND, ERROR_MUI_FILE_NOT_FOUND);
cmp2(STATUS_MUI_INVALID_FILE, ERROR_MUI_INVALID_FILE);
cmp2(STATUS_MUI_INVALID_RC_CONFIG, ERROR_MUI_INVALID_RC_CONFIG);
cmp2(STATUS_MUI_INVALID_LOCALE_NAME, ERROR_MUI_INVALID_LOCALE_NAME);
cmp2(STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME, ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME);
cmp2(STATUS_MUI_FILE_NOT_LOADED, ERROR_MUI_FILE_NOT_LOADED);
cmp2(STATUS_RESOURCE_ENUM_USER_STOP, ERROR_RESOURCE_ENUM_USER_STOP);
cmp2(STATUS_CLUSTER_NO_NET_ADAPTERS, ERROR_CLUSTER_NO_NET_ADAPTERS); cmp2(STATUS_CLUSTER_NO_NET_ADAPTERS, ERROR_CLUSTER_NO_NET_ADAPTERS);
cmp2(STATUS_CLUSTER_POISONED, ERROR_CLUSTER_POISONED); cmp2(STATUS_CLUSTER_POISONED, ERROR_CLUSTER_POISONED);
cmp2(STATUS_CLUSTER_NON_CSV_PATH, ERROR_NON_CSV_PATH); cmp2(STATUS_CLUSTER_NON_CSV_PATH, ERROR_NON_CSV_PATH);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment