RtlNtStatusToDosError: Added new NT status to error codes mapping,
added missed definitions of the used constants, created unit test for
subset of the mappings.
diff --git a/include/winerror.h b/include/winerror.h
index 21eb8af..79fabe4 100644
--- a/include/winerror.h
+++ b/include/winerror.h
@@ -263,6 +263,7 @@
#define ERROR_PARTIAL_COPY 299
#define ERROR_OPLOCK_NOT_GRANTED 300
#define ERROR_INVALID_OPLOCK_PROTOCOL 301
+#define ERROR_DISK_TOO_FRAGMENTED 302
#define ERROR_MR_MID_NOT_FOUND 317
#define ERROR_INVALID_ADDRESS 487
#define ERROR_ARITHMETIC_OVERFLOW 534
@@ -451,6 +452,20 @@
#define ERROR_OVERRIDE_NOCHANGES 1252
#define ERROR_BAD_USER_PROFILE 1253
#define ERROR_NOT_SUPPORTED_ON_SBS 1254
+#define ERROR_SERVER_SHUTDOWN_IN_PROGRESS 1255
+#define ERROR_HOST_DOWN 1256
+#define ERROR_ACCESS_DISABLED_BY_POLICY 1260
+#define ERROR_REG_NAT_CONSUMPTION 1261
+#define ERROR_PKINIT_FAILURE 1263
+#define ERROR_SMARTCARD_SUBSYSTEM_FAILURE 1264
+#define ERROR_DOWNGRADE_DETECTED 1265
+#define SEC_E_SMARTCARD_CERT_REVOKED 1266
+#define SEC_E_ISSUING_CA_UNTRUSTED 1267
+#define SEC_E_REVOCATION_OFFLINE_C 1268
+#define SEC_E_PKINIT_CLIENT_FAILURE 1269
+#define SEC_E_SMARTCARD_CERT_EXPIRED 1270
+#define ERROR_DRIVER_BLOCKED 1275
+#define ERROR_INVALID_IMPORT_OF_NON_DLL 1276
#define ERROR_NOT_ALL_ASSIGNED 1300
#define ERROR_SOME_NOT_MAPPED 1301
#define ERROR_NO_QUOTAS_FOR_ACCOUNT 1302
@@ -549,6 +564,7 @@
#define ERROR_WRONG_TARGET_NAME 1396
#define ERROR_MUTUAL_AUTH_FAILED 1397
#define ERROR_TIME_SKEW 1398
+#define ERROR_CURRENT_DOMAIN_NOT_ALLOWED 1399
#define ERROR_INVALID_WINDOW_HANDLE 1400
#define ERROR_INVALID_MENU_HANDLE 1401
#define ERROR_INVALID_CURSOR_HANDLE 1402
@@ -817,6 +833,7 @@
#define RPC_S_PRF_ELT_NOT_REMOVED 1927
#define RPC_S_GRP_ELT_NOT_ADDED 1928
#define RPC_S_GRP_ELT_NOT_REMOVED 1929
+#define ERROR_CONTEXT_EXPIRED 1931
#define ERROR_INVALID_PIXEL_FORMAT 2000
#define ERROR_BAD_DRIVER 2001
#define ERROR_INVALID_WINDOW_STYLE 2002
@@ -918,6 +935,7 @@
#define ERROR_VOLUME_CONTAINS_SYS_FILES 4337
#define ERROR_INDIGENOUS_TYPE 4338
#define ERROR_NO_SUPPORTING_DRIVES 4339
+#define ERROR_CLEANER_CARTRIDGE_INSTALLED 4340
#define ERROR_FILE_OFFLINE 4350
#define ERROR_REMOTE_STORAGE_NOT_ACTIVE 4351
#define ERROR_REMOTE_STORAGE_MEDIA_ERROR 4352
@@ -1027,6 +1045,7 @@
#define ERROR_FILE_READ_ONLY 6009
#define ERROR_DIR_EFS_DISALLOWED 6010
#define ERROR_EFS_SERVER_NOT_TRUSTED 6011
+#define ERROR_EFS_ALG_BLOB_TOO_BIG 6013
#define ERROR_NO_BROWSER_SERVERS_FOUND 6118
#define SCHED_E_SERVICE_NOT_LOCALSYSTEM 6200
#define ERROR_CTX_WINSTATION_NAME_INVALID 7001
@@ -1066,6 +1085,8 @@
#define ERROR_CTX_LICENSE_NOT_AVAILABLE 7054
#define ERROR_CTX_LICENSE_CLIENT_INVALID 7055
#define ERROR_CTX_LICENSE_EXPIRED 7056
+#define ERROR_CTX_SHADOW_NOT_RUNNING 7057
+#define ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE 7058
#define FRS_ERR_INVALID_API_SEQUENCE 8001
#define FRS_ERR_STARTING_SERVICE 8002
#define FRS_ERR_STOPPING_SERVICE 8003
@@ -1401,6 +1422,10 @@
#define ERROR_DS_MUST_BE_RUN_ON_DST_DC 8558
#define ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER 8559
#define ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ 8560
+#define ERROR_DS_INIT_FAILURE_CONSOLE 8561
+#define ERROR_DS_SAM_INIT_FAILURE_CONSOLE 8562
+#define ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 8572
+#define ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER 8578
#define DNS_ERROR_RCODE_FORMAT_ERROR 9001
#define DNS_ERROR_RCODE_SERVER_FAILURE 9002
#define DNS_ERROR_RCODE_NAME_ERROR 9003
@@ -1478,6 +1503,20 @@
#define DNS_STATUS_CONTINUE_NEEDED 9801
#define DNS_ERROR_NO_TCPIP 9851
#define DNS_ERROR_NO_DNS_SERVERS 9852
+#define ERROR_SXS_SECTION_NOT_FOUND 14000
+#define ERROR_SXS_CANT_GEN_ACTCTX 14001
+#define ERROR_SXS_INVALID_ACTCTXDATA_FORMAT 14002
+#define ERROR_SXS_ASSEMBLY_NOT_FOUND 14003
+#define ERROR_SXS_MANIFEST_FORMAT_ERROR 14004
+#define ERROR_SXS_MANIFEST_PARSE_ERROR 14005
+#define ERROR_SXS_ACTIVATION_CONTEXT_DISABLED 14006
+#define ERROR_SXS_KEY_NOT_FOUND 14007
+#define ERROR_SXS_WRONG_SECTION_TYPE 14009
+#define ERROR_SXS_THREAD_QUERIES_DISABLED 14010
+#define ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET 14011
+
+#define ERROR_AUDITING_DISABLED 0xC0090001L
+#define ERROR_ALL_SIDS_FILTERED 0xC0090002L
/* HRESULT values for OLE, SHELL and other Interface stuff */
/* the codes 4000-40ff are reserved for OLE */
@@ -1656,6 +1695,14 @@
#define STG_E_NOTFILEBASEDSTORAGE 0x80030107L
#define STG_E_EXTANTMARSHALLINGS 0x80030108L
+#define STG_E_STATUS_COPY_PROTECTION_FAILURE 0x80030305L
+#define STG_E_CSS_AUTHENTICATION_FAILURE 0x80030306L
+#define STG_E_CSS_KEY_NOT_PRESENT 0x80030307L
+#define STG_E_CSS_KEY_NOT_ESTABLISHED 0x80030308L
+#define STG_E_CSS_SCRAMBLED_SECTOR 0x80030309L
+#define STG_E_CSS_REGION_MISMATCH 0x8003030AL
+#define STG_E_RESETS_EXHAUSTED 0x8003030BL
+
#define OLE_S_FIRST 0x00040000L
#define OLE_S_USEREG 0x00040000L
#define OLE_S_STATIC 0x00040001L
@@ -1957,5 +2004,69 @@
#define NTE_SYS_ERR 0x80090021L
#define NTE_OP_OK 0
+#define SEC_E_INSUFFICIENT_MEMORY 0x80090300L
+#define SEC_E_INVALID_HANDLE 0x80090301L
+#define SEC_E_UNSUPPORTED_FUNCTION 0x80090302L
+#define SEC_E_TARGET_UNKNOWN 0x80090303L
+#define SEC_E_INTERNAL_ERROR 0x80090304L
+#define SEC_E_SECPKG_NOT_FOUND 0x80090305L
+#define SEC_E_NOT_OWNER 0x80090306L
+#define SEC_E_CANNOT_INSTALL 0x80090307L
+#define SEC_E_INVALID_TOKEN 0x80090308L
+#define SEC_E_CANNOT_PACK 0x80090309L
+#define SEC_E_QOP_NOT_SUPPORTED 0x8009030AL
+#define SEC_E_NO_IMPERSONATION 0x8009030BL
+#define SEC_E_LOGON_DENIED 0x8009030CL
+#define SEC_E_UNKNOWN_CREDENTIALS 0x8009030DL
+#define SEC_E_NO_CREDENTIALS 0x8009030EL
+#define SEC_E_MESSAGE_ALTERED 0x8009030FL
+#define SEC_E_OUT_OF_SEQUENCE 0x80090310L
+#define SEC_E_NO_AUTHENTICATING_AUTHORITY 0x80090311L
+#define SEC_E_BAD_PKGID 0x80090316L
+#define SEC_E_CONTEXT_EXPIRED 0x80090317L
+#define SEC_E_INCOMPLETE_MESSAGE 0x80090318L
+#define SEC_E_INCOMPLETE_CREDENTIALS 0x80090320L
+#define SEC_E_BUFFER_TOO_SMALL 0x80090321L
+#define SEC_E_WRONG_PRINCIPAL 0x80090322L
+#define SEC_E_UNTRUSTED_ROOT 0x80090325L
+#define SEC_E_ILLEGAL_MESSAGE 0x80090326L
+#define SEC_E_CERT_UNKNOWN 0x80090327L
+#define SEC_E_CERT_EXPIRED 0x80090328L
+#define SEC_E_ENCRYPT_FAILURE 0x80090329L
+#define SEC_E_DECRYPT_FAILURE 0x80090330L
+#define SEC_E_ALGORITHM_MISMATCH 0x80090331L
+#define SEC_E_UNFINISHED_CONTEXT_DELETED 0x80090333L
+#define SEC_E_NO_TGT_REPLY 0x80090334L
+#define SEC_E_NO_IP_ADDRESSES 0x80090335L
+#define SEC_E_WRONG_CREDENTIAL_HANDLE 0x80090336L
+#define SEC_E_CRYPTO_SYSTEM_INVALID 0x80090337L
+#define SEC_E_MAX_REFERRALS_EXCEEDED 0x80090338L
+#define SEC_E_MUST_BE_KDC 0x80090339L
+#define SEC_E_STRONG_CRYPTO_NOT_SUPPORTED 0x8009033AL
+#define SEC_E_TOO_MANY_PRINCIPALS 0x8009033BL
+#define SEC_E_NO_PA_DATA 0x8009033CL
+#define SEC_E_PKINIT_NAME_MISMATCH 0x8009033DL
+#define SEC_E_SMARTCARD_LOGON_REQUIRED 0x8009033EL
+#define SEC_E_KDC_INVALID_REQUEST 0x80090340L
+#define SEC_E_KDC_UNABLE_TO_REFER 0x80090341L
+#define SEC_E_KDC_UNKNOWN_ETYPE 0x80090342L
+#define SEC_E_UNSUPPORTED_PREAUTH 0x80090343L
+#define SEC_E_BAD_BINDINGS 0x80090346L
+#define SEC_E_MULTIPLE_ACCOUNTS 0x80090347L
+#define SEC_E_NO_KERB_KEY 0x80090348L
+
+#define CRYPT_E_REVOKED 0x80092010L
+#define CRYPT_E_NO_REVOCATION_CHECK 0x80092012L
+#define CRYPT_E_REVOCATION_OFFLINE 0x80092013L
+#define TRUST_E_CERT_SIGNATURE 0x80096004L
+
+/* Smart card management error codes */
+#define SCARD_E_NO_SMARTCARD 0x8010000CL
+#define SCARD_E_NO_SUCH_CERTIFICATE 0x8010002CL
+#define SCARD_E_COMM_DATA_LOST 0x8010002FL
+
+#define SCARD_W_WRONG_CHV 0x8010006BL
+#define SCARD_W_CHV_BLOCKED 0x8010006CL
+#define SCARD_W_CARD_NOT_AUTHENTICATED 0x8010006FL
#endif /* __WINE_WINERROR_H */