From 38ca35fe573c6d79cec49a580c1544fd992f498e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Hentschel?= Date: Tue, 3 Aug 2010 20:14:20 +0200 Subject: [PATCH] ntdll: Add SXS error codes. --- dlls/ntdll/error.c | 35 +++++++++++++++++++++---- dlls/ntdll/tests/error.c | 27 +++++++++++++++++++ include/ntstatus.h | 18 +++++++++++++ include/winerror.h | 56 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 131 insertions(+), 5 deletions(-) diff --git a/dlls/ntdll/error.c b/dlls/ntdll/error.c index 3cccf2738f1..3cdc6c00ff5 100644 --- a/dlls/ntdll/error.c +++ b/dlls/ntdll/error.c @@ -1419,7 +1419,7 @@ static const DWORD table_c0130001[22] = ERROR_CLUSTER_NETWORK_NOT_INTERNAL /* c0130016 (STATUS_CLUSTER_NETWORK_NOT_INTERNAL) */ }; -static const DWORD table_c0150001[14] = +static const DWORD table_c0150001[39] = { ERROR_SXS_SECTION_NOT_FOUND, /* c0150001 (STATUS_SXS_SECTION_NOT_FOUND) */ ERROR_SXS_CANT_GEN_ACTCTX, /* c0150002 (STATUS_SXS_CANT_GEN_ACTCTX) */ @@ -1429,12 +1429,37 @@ static const DWORD table_c0150001[14] = ERROR_SXS_MANIFEST_PARSE_ERROR, /* c0150006 (STATUS_SXS_MANIFEST_PARSE_ERROR) */ ERROR_SXS_ACTIVATION_CONTEXT_DISABLED, /* c0150007 (STATUS_SXS_ACTIVATION_CONTEXT_DISABLED) */ ERROR_SXS_KEY_NOT_FOUND, /* c0150008 (STATUS_SXS_KEY_NOT_FOUND) */ - 0, /* c0150009 (STATUS_SXS_VERSION_CONFLICT) */ + ERROR_SXS_VERSION_CONFLICT, /* c0150009 (STATUS_SXS_VERSION_CONFLICT) */ ERROR_SXS_WRONG_SECTION_TYPE, /* c015000a (STATUS_SXS_WRONG_SECTION_TYPE) */ ERROR_SXS_THREAD_QUERIES_DISABLED, /* c015000b (STATUS_SXS_THREAD_QUERIES_DISABLED) */ - 0, /* c015000c (STATUS_SXS_ASSEMBLY_MISSING) */ + ERROR_SXS_ASSEMBLY_MISSING, /* c015000c (STATUS_SXS_ASSEMBLY_MISSING) */ 0, /* c015000d */ - ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET /* c015000e (STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET) */ + ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET, /* c015000e (STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET) */ + ERROR_SXS_EARLY_DEACTIVATION, /* c015000f (STATUS_SXS_EARLY_DEACTIVATION) */ + ERROR_SXS_INVALID_DEACTIVATION, /* c0150010 (STATUS_SXS_INVALID_DEACTIVATION) */ + ERROR_SXS_MULTIPLE_DEACTIVATION, /* c0150011 (STATUS_SXS_MULTIPLE_DEACTIVATION) */ + ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY, /* c0150012 (STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY) */ + ERROR_SXS_PROCESS_TERMINATION_REQUESTED, /* c0150013 (STATUS_SXS_PROCESS_TERMINATION_REQUESTED) */ + ERROR_SXS_CORRUPT_ACTIVATION_STACK, /* c0150014 (STATUS_SXS_CORRUPT_ACTIVATION_STACK) */ + ERROR_SXS_CORRUPTION, /* c0150015 (STATUS_SXS_CORRUPTION) */ + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE, /* c0150016 (STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE) */ + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME, /* c0150017 (STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME) */ + ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE, /* c0150018 (STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE) */ + ERROR_SXS_IDENTITY_PARSE_ERROR, /* c0150019 (STATUS_SXS_IDENTITY_PARSE_ERROR) */ + ERROR_SXS_COMPONENT_STORE_CORRUPT, /* c015001a (STATUS_SXS_COMPONENT_STORE_CORRUPT) */ + ERROR_SXS_FILE_HASH_MISMATCH, /* c015001b (STATUS_SXS_FILE_HASH_MISMATCH) */ + ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT, /* c015001c (STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT) */ + ERROR_SXS_IDENTITIES_DIFFERENT, /* c015001d (STATUS_SXS_IDENTITIES_DIFFERENT) */ + ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT, /* c015001e (STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT) */ + ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY, /* c015001f (STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY) */ + ERROR_ADVANCED_INSTALLER_FAILED, /* c0150020 (STATUS_ADVANCED_INSTALLER_FAILED) */ + ERROR_XML_ENCODING_MISMATCH, /* c0150021 (STATUS_XML_ENCODING_MISMATCH) */ + ERROR_SXS_MANIFEST_TOO_BIG, /* c0150022 (STATUS_SXS_MANIFEST_TOO_BIG) */ + ERROR_SXS_SETTING_NOT_REGISTERED, /* c0150023 (STATUS_SXS_SETTING_NOT_REGISTERED) */ + ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE, /* c0150024 (STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE) */ + ERROR_SMI_PRIMITIVE_INSTALLER_FAILED, /* c0150025 (STATUS_SXS_PRIMITIVE_INSTALLER_FAILED) */ + ERROR_GENERIC_COMMAND_FAILED, /* c0150026 (STATUS_GENERIC_COMMAND_FAILED) */ + ERROR_SXS_FILE_HASH_MISSING /* c0150027 (STATUS_SXS_FILE_HASH_MISSING) */ }; static const struct error_table error_table[] = @@ -1457,6 +1482,6 @@ static const struct error_table error_table[] = { 0xc0030059, 0xc0030062, table_c0030059 }, { 0xc00a0001, 0xc00a0037, table_c00a0001 }, { 0xc0130001, 0xc0130017, table_c0130001 }, - { 0xc0150001, 0xc015000f, table_c0150001 }, + { 0xc0150001, 0xc0150028, table_c0150001 }, { 0, 0, NULL } /* last entry */ }; diff --git a/dlls/ntdll/tests/error.c b/dlls/ntdll/tests/error.c index 7edc0ba0c36..081488b2267 100644 --- a/dlls/ntdll/tests/error.c +++ b/dlls/ntdll/tests/error.c @@ -907,9 +907,36 @@ static void run_error_tests(void) cmp2(STATUS_SXS_MANIFEST_PARSE_ERROR, ERROR_SXS_MANIFEST_PARSE_ERROR); cmp2(STATUS_SXS_ACTIVATION_CONTEXT_DISABLED, ERROR_SXS_ACTIVATION_CONTEXT_DISABLED); cmp2(STATUS_SXS_KEY_NOT_FOUND, ERROR_SXS_KEY_NOT_FOUND); + cmp2(STATUS_SXS_VERSION_CONFLICT, ERROR_SXS_VERSION_CONFLICT); cmp2(STATUS_SXS_WRONG_SECTION_TYPE, ERROR_SXS_WRONG_SECTION_TYPE); cmp2(STATUS_SXS_THREAD_QUERIES_DISABLED, ERROR_SXS_THREAD_QUERIES_DISABLED); + cmp2(STATUS_SXS_ASSEMBLY_MISSING, ERROR_SXS_ASSEMBLY_MISSING); cmp2(STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET, ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET); + cmp2(STATUS_SXS_EARLY_DEACTIVATION, ERROR_SXS_EARLY_DEACTIVATION); + cmp2(STATUS_SXS_INVALID_DEACTIVATION, ERROR_SXS_INVALID_DEACTIVATION); + cmp2(STATUS_SXS_MULTIPLE_DEACTIVATION, ERROR_SXS_MULTIPLE_DEACTIVATION); + cmp2(STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY, ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY); + cmp2(STATUS_SXS_PROCESS_TERMINATION_REQUESTED, ERROR_SXS_PROCESS_TERMINATION_REQUESTED); + cmp2(STATUS_SXS_CORRUPT_ACTIVATION_STACK, ERROR_SXS_CORRUPT_ACTIVATION_STACK); + cmp2(STATUS_SXS_CORRUPTION, ERROR_SXS_CORRUPTION); + cmp2(STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE, ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE); + cmp2(STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME, ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME); + cmp2(STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE, ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE); + cmp2(STATUS_SXS_IDENTITY_PARSE_ERROR, ERROR_SXS_IDENTITY_PARSE_ERROR); + cmp2(STATUS_SXS_COMPONENT_STORE_CORRUPT, ERROR_SXS_COMPONENT_STORE_CORRUPT); + cmp2(STATUS_SXS_FILE_HASH_MISMATCH, ERROR_SXS_FILE_HASH_MISMATCH); + cmp2(STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT, ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT); + cmp2(STATUS_SXS_IDENTITIES_DIFFERENT, ERROR_SXS_IDENTITIES_DIFFERENT); + cmp2(STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT, ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT); + cmp2(STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY, ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY); + cmp2(STATUS_ADVANCED_INSTALLER_FAILED, ERROR_ADVANCED_INSTALLER_FAILED); + cmp2(STATUS_XML_ENCODING_MISMATCH, ERROR_XML_ENCODING_MISMATCH); + cmp2(STATUS_SXS_MANIFEST_TOO_BIG, ERROR_SXS_MANIFEST_TOO_BIG); + cmp2(STATUS_SXS_SETTING_NOT_REGISTERED, ERROR_SXS_SETTING_NOT_REGISTERED); + cmp2(STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE, ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE); + cmp2(STATUS_SXS_PRIMITIVE_INSTALLER_FAILED, ERROR_SMI_PRIMITIVE_INSTALLER_FAILED); + cmp2(STATUS_GENERIC_COMMAND_FAILED, ERROR_GENERIC_COMMAND_FAILED); + cmp2(STATUS_SXS_FILE_HASH_MISSING, ERROR_SXS_FILE_HASH_MISSING); cmp2(STATUS_REDIRECTOR_STARTED, ERROR_SERVICE_ALREADY_RUNNING); cmp2(STATUS_AUDITING_DISABLED, ERROR_AUDITING_DISABLED); cmp2(STATUS_CLUSTER_NODE_ALREADY_UP, ERROR_CLUSTER_NODE_ALREADY_UP); diff --git a/include/ntstatus.h b/include/ntstatus.h index 8f4bb186ed0..1eaae2d7a1f 100644 --- a/include/ntstatus.h +++ b/include/ntstatus.h @@ -1187,6 +1187,24 @@ #define STATUS_SXS_PROCESS_TERMINATION_REQUESTED ((NTSTATUS) 0xC0150013) #define STATUS_SXS_CORRUPT_ACTIVATION_STACK ((NTSTATUS) 0xC0150014) #define STATUS_SXS_CORRUPTION ((NTSTATUS) 0xC0150015) +#define STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE ((NTSTATUS) 0xC0150016) +#define STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME ((NTSTATUS) 0xC0150017) +#define STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE ((NTSTATUS) 0xC0150018) +#define STATUS_SXS_IDENTITY_PARSE_ERROR ((NTSTATUS) 0xC0150019) +#define STATUS_SXS_COMPONENT_STORE_CORRUPT ((NTSTATUS) 0xC015001A) +#define STATUS_SXS_FILE_HASH_MISMATCH ((NTSTATUS) 0xC015001B) +#define STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT ((NTSTATUS) 0xC015001C) +#define STATUS_SXS_IDENTITIES_DIFFERENT ((NTSTATUS) 0xC015001D) +#define STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT ((NTSTATUS) 0xC015001E) +#define STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY ((NTSTATUS) 0xC015001F) +#define STATUS_ADVANCED_INSTALLER_FAILED ((NTSTATUS) 0xC0150020) +#define STATUS_XML_ENCODING_MISMATCH ((NTSTATUS) 0xC0150021) +#define STATUS_SXS_MANIFEST_TOO_BIG ((NTSTATUS) 0xC0150022) +#define STATUS_SXS_SETTING_NOT_REGISTERED ((NTSTATUS) 0xC0150023) +#define STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE ((NTSTATUS) 0xC0150024) +#define STATUS_SXS_PRIMITIVE_INSTALLER_FAILED ((NTSTATUS) 0xC0150025) +#define STATUS_GENERIC_COMMAND_FAILED ((NTSTATUS) 0xC0150026) +#define STATUS_SXS_FILE_HASH_MISSING ((NTSTATUS) 0xC0150027) #define DBG_EXCEPTION_HANDLED ((NTSTATUS) 0x00010001) #define DBG_CONTINUE ((NTSTATUS) 0x00010002) diff --git a/include/winerror.h b/include/winerror.h index a2089b69251..4d871dcee93 100644 --- a/include/winerror.h +++ b/include/winerror.h @@ -1650,10 +1650,66 @@ static inline HRESULT HRESULT_FROM_WIN32(unsigned int x) #define ERROR_SXS_MANIFEST_PARSE_ERROR 14005 #define ERROR_SXS_ACTIVATION_CONTEXT_DISABLED 14006 #define ERROR_SXS_KEY_NOT_FOUND 14007 +#define ERROR_SXS_VERSION_CONFLICT 14008 #define ERROR_SXS_WRONG_SECTION_TYPE 14009 #define ERROR_SXS_THREAD_QUERIES_DISABLED 14010 #define ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET 14011 +#define ERROR_SXS_UNKNOWN_ENCODING_GROUP 14012 +#define ERROR_SXS_UNKNOWN_ENCODING 14013 +#define ERROR_SXS_INVALID_XML_NAMESPACE_URI 14014 +#define ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED 14015 +#define ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED 14016 +#define ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE 14017 +#define ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE 14018 +#define ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE 14019 +#define ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT 14020 +#define ERROR_SXS_DUPLICATE_DLL_NAME 14021 +#define ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME 14022 +#define ERROR_SXS_DUPLICATE_CLSID 14023 +#define ERROR_SXS_DUPLICATE_IID 14024 +#define ERROR_SXS_DUPLICATE_TLBID 14025 +#define ERROR_SXS_DUPLICATE_PROGID 14026 +#define ERROR_SXS_DUPLICATE_ASSEMBLY_NAME 14027 +#define ERROR_SXS_FILE_HASH_MISMATCH 14028 +#define ERROR_SXS_POLICY_PARSE_ERROR 14029 +#define ERROR_SXS_PROTECTION_RECOVERY_FAILED 14074 +#define ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT 14075 +#define ERROR_SXS_PROTECTION_CATALOG_NOT_VALID 14076 +#define ERROR_SXS_UNTRANSLATABLE_HRESULT 14077 +#define ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING 14078 +#define ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE 14079 +#define ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME 14080 +#define ERROR_SXS_ASSEMBLY_MISSING 14081 +#define ERROR_SXS_CORRUPT_ACTIVATION_STACK 14082 #define ERROR_SXS_CORRUPTION 14083 +#define ERROR_SXS_EARLY_DEACTIVATION 14084 +#define ERROR_SXS_INVALID_DEACTIVATION 14085 +#define ERROR_SXS_MULTIPLE_DEACTIVATION 14086 +#define ERROR_SXS_PROCESS_TERMINATION_REQUESTED 14087 +#define ERROR_SXS_RELEASE_ACTIVATION_CONTEXT 14088 +#define ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY 14089 +#define ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE 14090 +#define ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME 14091 +#define ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE 14092 +#define ERROR_SXS_IDENTITY_PARSE_ERROR 14093 +#define ERROR_SXS_IDENTITY_PARSE_ERROR 14093 +#define ERROR_MALFORMED_SUBSTITUTION_STRING 14094 +#define ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN 14095 +#define ERROR_UNMAPPED_SUBSTITUTION_STRING 14096 +#define ERROR_SXS_ASSEMBLY_NOT_LOCKED 14097 +#define ERROR_SXS_COMPONENT_STORE_CORRUPT 14098 +#define ERROR_ADVANCED_INSTALLER_FAILED 14099 +#define ERROR_XML_ENCODING_MISMATCH 14100 +#define ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT 14101 +#define ERROR_SXS_IDENTITIES_DIFFERENT 14102 +#define ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT 14103 +#define ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY 14104 +#define ERROR_SXS_MANIFEST_TOO_BIG 14105 +#define ERROR_SXS_SETTING_NOT_REGISTERED 14106 +#define ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE 14107 +#define ERROR_SMI_PRIMITIVE_INSTALLER_FAILED 14108 +#define ERROR_GENERIC_COMMAND_FAILED 14109 +#define ERROR_SXS_FILE_HASH_MISSING 14110 #define ERROR_MUI_FILE_NOT_FOUND 15100 #define ERROR_MUI_INVALID_FILE 15101 #define ERROR_MUI_INVALID_RC_CONFIG 15102