Detlef Riekenberg : kernel32/tests: Accept higher PRODUCT_* values.

Alexandre Julliard julliard at winehq.org
Wed Jun 13 16:08:34 CDT 2012


Module: wine
Branch: master
Commit: 7fbf5c239e143fc275d73d956c49fd893ad5df45
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7fbf5c239e143fc275d73d956c49fd893ad5df45

Author: Detlef Riekenberg <wine.dev at web.de>
Date:   Wed Jun 13 17:44:09 2012 +0200

kernel32/tests: Accept higher PRODUCT_* values.

---

 dlls/kernel32/tests/version.c |    5 +-
 include/winnt.h               |  107 ++++++++++++++++++++++++++++------------
 2 files changed, 77 insertions(+), 35 deletions(-)

diff --git a/dlls/kernel32/tests/version.c b/dlls/kernel32/tests/version.c
index 43f42d5..4b9a4f3 100644
--- a/dlls/kernel32/tests/version.c
+++ b/dlls/kernel32/tests/version.c
@@ -83,9 +83,8 @@ static void test_GetProductInfo(void)
         res = pGetProductInfo(entry[0], entry[1], entry[2], entry[3], &product);
 
         if (entry[0] >= 6)
-            ok(res && (product > PRODUCT_UNDEFINED) && (product <= PRODUCT_EMBEDDED) && (GetLastError() == 0xdeadbeef),
-               "got %d and 0x%x with 0x%x (expected TRUE and a valid PRODUCT_* value  with LastError untouched)\n",
-               res, product, GetLastError());
+            ok(res && (product > PRODUCT_UNDEFINED) && (product <= PRODUCT_PROFESSIONAL_WMC),
+               "got %d and 0x%x (expected TRUE and a valid PRODUCT_* value)\n", res, product);
         else
             ok(!res && !product && (GetLastError() == 0xdeadbeef),
                "got %d and 0x%x with 0x%x (expected FALSE and PRODUCT_UNDEFINED with LastError untouched)\n",
diff --git a/include/winnt.h b/include/winnt.h
index bed2a19..6903d34 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -1969,49 +1969,92 @@ NTSYSAPI void WINAPI RtlCaptureContext(CONTEXT*);
 /*
  * Product types
  */
-#define PRODUCT_UNLICENSED                              0xABCDABCD
+#define PRODUCT_UNDEFINED                               0x00000000
+#define PRODUCT_ULTIMATE                                0x00000001
+#define PRODUCT_HOME_BASIC                              0x00000002
+#define PRODUCT_HOME_PREMIUM                            0x00000003
+#define PRODUCT_ENTERPRISE                              0x00000004
+#define PRODUCT_HOME_BASIC_N                            0x00000005
 #define PRODUCT_BUSINESS                                0x00000006
-#define PRODUCT_BUSINESS_N                              0x00000010
-#define PRODUCT_CLUSTER_SERVER                          0x00000012
+#define PRODUCT_STANDARD_SERVER                         0x00000007
 #define PRODUCT_DATACENTER_SERVER                       0x00000008
-#define PRODUCT_DATACENTER_SERVER_CORE                  0x0000000C
-#define PRODUCT_DATACENTER_SERVER_CORE_V                0x00000027
-#define PRODUCT_EMBEDDED                                0x00000041
-#define PRODUCT_ENTERPRISE                              0x00000004
-#define PRODUCT_ENTERPRISE_N                            0x0000001B
+#define PRODUCT_SMALLBUSINESS_SERVER                    0x00000009
 #define PRODUCT_ENTERPRISE_SERVER                       0x0000000A
+#define PRODUCT_STARTER                                 0x0000000B
+#define PRODUCT_DATACENTER_SERVER_CORE                  0x0000000C
+#define PRODUCT_STANDARD_SERVER_CORE                    0x0000000D
 #define PRODUCT_ENTERPRISE_SERVER_CORE                  0x0000000E
-#define PRODUCT_ENTERPRISE_SERVER_CORE_V                0x00000029
 #define PRODUCT_ENTERPRISE_SERVER_IA64                  0x0000000F
-#define PRODUCT_ENTERPRISE_SERVER_V                     0x00000026
-#define PRODUCT_HOME_BASIC                              0x00000002
-#define PRODUCT_HOME_BASIC_N                            0x00000005
-#define PRODUCT_HOME_PREMIUM                            0x00000003
+#define PRODUCT_BUSINESS_N                              0x00000010
+#define PRODUCT_WEB_SERVER                              0x00000011
+#define PRODUCT_CLUSTER_SERVER                          0x00000012
+#define PRODUCT_HOME_SERVER                             0x00000013
+#define PRODUCT_STORAGE_EXPRESS_SERVER                  0x00000014
+#define PRODUCT_STORAGE_STANDARD_SERVER                 0x00000015
+#define PRODUCT_STORAGE_WORKGROUP_SERVER                0x00000016
+#define PRODUCT_STORAGE_ENTERPRISE_SERVER               0x00000017
+#define PRODUCT_SERVER_FOR_SMALLBUSINESS                0x00000018
+#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM            0x00000019
 #define PRODUCT_HOME_PREMIUM_N                          0x0000001A
-#define PRODUCT_HYPERV                                  0x0000002A
+#define PRODUCT_ENTERPRISE_N                            0x0000001B
+#define PRODUCT_ULTIMATE_N                              0x0000001C
+#define PRODUCT_WEB_SERVER_CORE                         0x0000001D
 #define PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT        0x0000001E
-#define PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING         0x00000020
 #define PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY          0x0000001F
-#define PRODUCT_PROFESSIONAL                            0x00000030
-#define PRODUCT_PROFESSIONAL_N                          0x00000031
-#define PRODUCT_SERVER_FOR_SMALLBUSINESS                0x00000018
+#define PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING         0x00000020
+#define PRODUCT_SERVER_FOUNDATION                       0x00000021
+#define PRODUCT_HOME_PREMIUM_SERVER                     0x00000022
 #define PRODUCT_SERVER_FOR_SMALLBUSINESS_V              0x00000023
+#define PRODUCT_STANDARD_SERVER_V                       0x00000024
+#define PRODUCT_DATACENTER_SERVER_V                     0x00000025
 #define PRODUCT_SERVER_V                                0x00000025
-#define PRODUCT_SMALLBUSINESS_SERVER                    0x00000009
-#define PRODUCT_STANDARD_SERVER                         0x00000007
-#define PRODUCT_STANDARD_SERVER_CORE                    0x0000000D
+#define PRODUCT_ENTERPRISE_SERVER_V                     0x00000026
+#define PRODUCT_DATACENTER_SERVER_CORE_V                0x00000027
 #define PRODUCT_STANDARD_SERVER_CORE_V                  0x00000028
-#define PRODUCT_STANDARD_SERVER_V                       0x00000024
-#define PRODUCT_STARTER                                 0x0000000B
-#define PRODUCT_STORAGE_ENTERPRISE_SERVER               0x00000017
-#define PRODUCT_STORAGE_EXPRESS_SERVER                  0x00000014
-#define PRODUCT_STORAGE_STANDARD_SERVER                 0x00000015
-#define PRODUCT_STORAGE_WORKGROUP_SERVER                0x00000016
-#define PRODUCT_UNDEFINED                               0x00000000
-#define PRODUCT_ULTIMATE                                0x00000001
-#define PRODUCT_ULTIMATE_N                              0x0000001C
-#define PRODUCT_WEB_SERVER                              0x00000011
-#define PRODUCT_WEB_SERVER_CORE                         0x0000001D
+#define PRODUCT_ENTERPRISE_SERVER_CORE_V                0x00000029
+#define PRODUCT_HYPERV                                  0x0000002A
+#define PRODUCT_STORAGE_EXPRESS_SERVER_CORE             0x0000002B
+#define PRODUCT_STORAGE_STANDARD_SERVER_CORE            0x0000002C
+#define PRODUCT_STORAGE_WORKGROUP_SERVER_CORE           0x0000002D
+#define PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE          0x0000002E
+#define PRODUCT_STARTER_N                               0x0000002F
+#define PRODUCT_PROFESSIONAL                            0x00000030
+#define PRODUCT_PROFESSIONAL_N                          0x00000031
+#define PRODUCT_SB_SOLUTION_SERVER                      0x00000032
+#define PRODUCT_SERVER_FOR_SB_SOLUTIONS                 0x00000033
+#define PRODUCT_STANDARD_SERVER_SOLUTIONS               0x00000034
+#define PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE          0x00000035
+#define PRODUCT_SB_SOLUTION_SERVER_EM                   0x00000036
+#define PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM              0x00000037
+#define PRODUCT_SOLUTION_EMBEDDEDSERVER                 0x00000038
+#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT           0x0000003B
+#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL           0x0000003C
+#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC        0x0000003D
+#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC        0x0000003E
+#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE       0x0000003F
+#define PRODUCT_CLUSTER_SERVER_V                        0x00000040
+#define PRODUCT_EMBEDDED                                0x00000041
+#define PRODUCT_STARTER_E                               0x00000042
+#define PRODUCT_HOME_BASIC_E                            0x00000043
+#define PRODUCT_HOME_PREMIUM_E                          0x00000044
+#define PRODUCT_PROFESSIONAL_E                          0x00000045
+#define PRODUCT_ENTERPRISE_E                            0x00000046
+#define PRODUCT_ULTIMATE_E                              0x00000047
+#define PRODUCT_ENTERPRISE_EVALUATION                   0x00000048
+#define PRODUCT_MULTIPOINT_STANDARD_SERVER              0x0000004C
+#define PRODUCT_MULTIPOINT_PREMIUM_SERVER               0x0000004D
+#define PRODUCT_STANDARD_EVALUATION_SERVER              0x0000004F
+#define PRODUCT_DATACENTER_EVALUATION_SERVER            0x00000050
+#define PRODUCT_ENTERPRISE_N_EVALUATION                 0x00000054
+#define PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER     0x0000005F
+#define PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER      0x00000060
+#define PRODUCT_CORE_ARM                                0x00000061
+#define PRODUCT_CORE_N                                  0x00000062
+#define PRODUCT_CORE_COUNTRYSPECIFIC                    0x00000063
+#define PRODUCT_CORE_LANGUAGESPECIFIC                   0x00000064
+#define PRODUCT_CORE                                    0x00000065
+#define PRODUCT_PROFESSIONAL_WMC                        0x00000067
+#define PRODUCT_UNLICENSED                              0xABCDABCD
 
 
 /*




More information about the wine-cvs mailing list