Mark Harmstone : ntdll: Add error mapping for MUI statuses.
Alexandre Julliard
julliard at winehq.org
Thu Mar 25 16:49:23 CDT 2021
Module: wine
Branch: master
Commit: 9ea1134eea7a0834a4efeafa380d1ed03eb271db
URL: https://source.winehq.org/git/wine.git/?a=commit;h=9ea1134eea7a0834a4efeafa380d1ed03eb271db
Author: Mark Harmstone <mark at harmstone.com>
Date: Thu Mar 25 01:56:21 2021 +0000
ntdll: Add error mapping for MUI statuses.
Signed-off-by: Mark Harmstone <mark at harmstone.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntdll/error.c | 18 +++++++++++++-----
dlls/ntdll/make_errors | 7 +++++++
dlls/ntdll/tests/error.c | 7 +++++++
3 files changed, 27 insertions(+), 5 deletions(-)
diff --git a/dlls/ntdll/error.c b/dlls/ntdll/error.c
index fb630fa9864..738f55b42dc 100644
--- a/dlls/ntdll/error.c
+++ b/dlls/ntdll/error.c
@@ -143,7 +143,7 @@ void WINAPI RtlSetLastWin32ErrorAndNtStatusFromNtStatus( NTSTATUS status )
/* 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_2, /* 00000002 (STATUS_WAIT_2) */
@@ -1544,6 +1544,13 @@ static const DWORD error_map[1579] =
ERROR_CTX_SECURITY_LAYER_ERROR, /* c00a0038 (STATUS_CTX_SECURITY_LAYER_ERROR) */
ERROR_TS_INCOMPATIBLE_SESSIONS, /* c00a0039 (STATUS_TS_INCOMPATIBLE_SESSIONS) */
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_NODE_EXISTS, /* c0130002 (STATUS_CLUSTER_NODE_EXISTS) */
ERROR_CLUSTER_JOIN_IN_PROGRESS, /* c0130003 (STATUS_CLUSTER_JOIN_IN_PROGRESS) */
@@ -1726,7 +1733,7 @@ static const DWORD error_map[1579] =
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 },
{ 0x0000003f, 0x0000003f, 3 },
@@ -1767,9 +1774,10 @@ static const struct { ULONG start, end, offset; } table[42] =
{ 0xc0030059, 0xc0030061, 1341 },
{ 0xc00a0001, 0xc00a0018, 1350 },
{ 0xc00a0022, 0xc00a003a, 1374 },
- { 0xc0130001, 0xc0130031, 1399 },
- { 0xc0150001, 0xc0150027, 1448 },
- { 0xc0380001, 0xc038005c, 1487 },
+ { 0xc00b0001, 0xc00b0007, 1399 },
+ { 0xc0130001, 0xc0130031, 1406 },
+ { 0xc0150001, 0xc0150027, 1455 },
+ { 0xc0380001, 0xc038005c, 1494 },
};
static ULONG map_status( NTSTATUS status )
diff --git a/dlls/ntdll/make_errors b/dlls/ntdll/make_errors
index bedce57fe7a..5b7885e0427 100755
--- a/dlls/ntdll/make_errors
+++ b/dlls/ntdll/make_errors
@@ -1314,6 +1314,13 @@ my %error_map = qw(
STATUS_CTX_SECURITY_LAYER_ERROR ERROR_CTX_SECURITY_LAYER_ERROR
STATUS_TS_INCOMPATIBLE_SESSIONS ERROR_TS_INCOMPATIBLE_SESSIONS
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_NODE_EXISTS ERROR_CLUSTER_NODE_EXISTS
STATUS_CLUSTER_JOIN_IN_PROGRESS ERROR_CLUSTER_JOIN_IN_PROGRESS
diff --git a/dlls/ntdll/tests/error.c b/dlls/ntdll/tests/error.c
index 05ba22223e3..c812aa779cc 100644
--- a/dlls/ntdll/tests/error.c
+++ b/dlls/ntdll/tests/error.c
@@ -1455,6 +1455,13 @@ static void run_error_tests(void)
cmp2(STATUS_CTX_SECURITY_LAYER_ERROR, ERROR_CTX_SECURITY_LAYER_ERROR);
cmp2(STATUS_TS_INCOMPATIBLE_SESSIONS, ERROR_TS_INCOMPATIBLE_SESSIONS);
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_POISONED, ERROR_CLUSTER_POISONED);
cmp2(STATUS_CLUSTER_NON_CSV_PATH, ERROR_NON_CSV_PATH);
More information about the wine-cvs
mailing list