35{
39 {
41 skip(
"RtlGetProductInfo not found\n");
42 return;
43 }
44
45
48
49
55
56
59
60
62 ULONG CurrentProductType = 0xDEADBEEF;
67 &CurrentProductType);
70
71
73 {
84 "Unexpected product type for Vista: 0x%x\n", CurrentProductType);
85 break;
86
97 "Unexpected product type for Windows 7: 0x%x\n", CurrentProductType);
98 break;
99
109 "Unexpected product type for Windows 8: 0x%x\n", CurrentProductType);
110 break;
111
120 "Unexpected product type for Windows 8.1: 0x%x\n", CurrentProductType);
121 break;
122
124 default:
134 "Unexpected product type for Windows 10: 0x%x\n", CurrentProductType);
135 break;
136 }
137
138
139 ULONG VistaProductType = CurrentProductType;
141 {
143 }
144
145
154}
#define Test_Product(OSMajorVersion, OSMinorVersion, SpMajorVersion, SpMinorVersion, ExpectedResult, ExpectedProductType)
BOOLEAN WINAPI FN_RtlGetProductInfo(_In_ ULONG OSMajorVersion, _In_ ULONG OSMinorVersion, _In_ ULONG SpMajorVersion, _In_ ULONG SpMinorVersion, _Out_ PULONG ReturnedProductType)
FN_RtlGetProductInfo * pRtlGetProductInfo
#define ok_eq_bool(value, expected)
#define GetProcAddress(x, y)
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
BOOL WINAPI GetVersionExA(IN LPOSVERSIONINFOA lpVersionInformation)
#define PRODUCT_EDUCATION
#define PRODUCT_HOME_BASIC
#define PRODUCT_HOME_PREMIUM
#define PRODUCT_ENTERPRISE_SERVER
#define PRODUCT_PRO_WORKSTATION
#define PRODUCT_IOTENTERPRISES
#define PRODUCT_PROFESSIONAL_WMC
#define PRODUCT_PRO_FOR_EDUCATION
#define PRODUCT_UNDEFINED
#define PRODUCT_STANDARD_SERVER
#define PRODUCT_DATACENTER_SERVER
#define PRODUCT_HOME_SERVER
#define PRODUCT_ENTERPRISE
#define PRODUCT_PROFESSIONAL
#define PRODUCT_SERVER_FOUNDATION
#define _WIN32_WINNT_WIN10
#define _WIN32_WINNT_WINBLUE
#define _WIN32_WINNT_WIN8
#define _WIN32_WINNT_WIN7
#define _WIN32_WINNT_VISTA
OSVERSIONINFOEXW OsVersionInfo
ULONG dwOSVersionInfoSize
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO