ntdll: Add SXS error codes

André Hentschel nerv at dawncrow.de
Tue Aug 3 13:14:20 CDT 2010


---
 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 3cccf27..3cdc6c0 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 7edc0ba..081488b 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 8f4bb18..1eaae2d 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 a2089b6..4d871dc 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
-- 

Best Regards, André Hentschel



More information about the wine-patches mailing list