int Supported(VOID) { DWORD dwPInfo = NULL; DWORD dwVersion = NULL; DWORD dwMajorVersion = NULL; DWORD dwMinorVersion = NULL; dwVersion = GetVersion(); dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion))); dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion))); if(dwMajorVersion != 6 || dwMinorVersion != 1) { return 1; } GetProductInfo(dwMajorVersion, dwMinorVersion, 0, 0, &dwPInfo); switch(dwPInfo) { case PRODUCT_ULTIMATE: case PRODUCT_HOME_BASIC: case PRODUCT_HOME_PREMIUM: case PRODUCT_PROFESSIONAL: case PRODUCT_STARTER: case PRODUCT_STANDARD_SERVER: case PRODUCT_STANDARD_SERVER_CORE: case PRODUCT_STANDARD_SERVER_CORE_V: case PRODUCT_STANDARD_SERVER_V: break; default: return 2; } return 0; }
String ColorProfile::GetProfileInfo() { // String name= GetProductName(); String desc= GetProductDesc(); String info= GetProductInfo(); String cpyr= GetCopyrightStr(); oStringstream ost; const TCHAR* space= _T("\r\n"); // ost << name; // if (!name.empty()) // ost << space; if (!desc.empty()) // && desc != name) ost << desc << space; if (!info.empty() && info != desc)// && info != name) ost << info << space; if (!cpyr.empty() && cpyr != desc && /*cpyr != name &&*/ cpyr != info) ost << cpyr << space; String str= ost.str(); while (str[0] == _T(' ')) str.erase(0); // while (!str.empty() && str[str.size() - 1] == _T(' ')) // str.erase(str.size() - 1); return str; }
CSSD::CSSD(SSD ssd, CRYPTTYPE crypt, BOOL inSysInfo) : m_Crypt(crypt), m_ssd(ssd) { m_ssd.m_szProduct = GetProductInfo(); m_inSysInfo = inSysInfo; if (m_inSysInfo) { CSysInfo si; m_ssd.m_szSysInfo = si.GetSysInfo(); } }
void QGeneralSettingWidget::on_RBMultiTouchWin7_clicked() { #if defined(Q_OS_WIN) OSVERSIONINFOW Info; Info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW); if( GetVersionEx( &Info ) ) { if( Info.dwMajorVersion <= 6 && Info.dwMinorVersion <= 1 ) { bool bMsg = false; if( Info.dwMajorVersion == 6 && Info.dwMinorVersion == 1 ) { typedef bool (WINAPI *fnGetProductInfo)(DWORD, DWORD, DWORD, DWORD, PDWORD); DWORD dwType = 0; fnGetProductInfo GetProductInfo = (fnGetProductInfo)GetProcAddress( GetModuleHandle(L"kernel32.dll"), "GetProductInfo" ); GetProductInfo( Info.dwMajorVersion, Info.dwMinorVersion, 0, 0, &dwType ); if( dwType == 0x00000002 || // PRODUCT_HOME_BASIC dwType == 0x00000043 || // PRODUCT_HOME_BASIC_E dwType == 0x00000005 || // PRODUCT_HOME_BASIC_N dwType == 0x0000000B || // PRODUCT_STARTER dwType == 0x00000042 || // PRODUCT_STARTER_E dwType == 0x0000002F ) // RPODUCT_STARTER_N { bMsg = true; } } else { bMsg = true; } if( bMsg ) { QLangRes& Res = QLangManager::instance()->getResource(); QString strMessage = Res.getResString( QString::fromUtf8("SETTING"), QString::fromUtf8("TEXT_INPUT_MODE_WARNING_MSG") ); QString strMsgTitle = Res.getResString( QString::fromUtf8("WARNING SENSOR DIAGNOSIS"), QString::fromUtf8("TITLE_CAPTION") ); QMessageBox msgBox( this ); msgBox.setWindowTitle( strMsgTitle ); msgBox.setText( strMessage ); msgBox.setStandardButtons( QMessageBox::Yes | QMessageBox::No ); msgBox.setIcon( QMessageBox::Warning ); msgBox.setButtonText( QMessageBox::Yes, Res.getResString( QString::fromUtf8("MESSAGEBOX"), QString::fromUtf8("BTN_CAPTION_YES") ) ); msgBox.setButtonText( QMessageBox::No, Res.getResString( QString::fromUtf8("MESSAGEBOX"), QString::fromUtf8("BTN_CAPTION_NO") ) ); msgBox.setFont( font() ); if( msgBox.exec() != QMessageBox::Yes ) { RBMultiTouchWin7->setChecked( false ); RBMouse->setChecked( true ); return; } } }
static BOOL GetVistaVersion(WCHAR * szBuffer) { DWORD Length; if (GetProductInfo(6, 0, 0, 0, &Length)) { switch(Length) { case PRODUCT_ULTIMATE: wsprintfW(szBuffer, L"Windows Vista Ultimate (6.0, Build %04u)", info.dwBuildNumber); return TRUE; case PRODUCT_HOME_BASIC: wsprintfW(szBuffer, L"Windows Vista Home Basic (6.0, Build %04u)", info.dwBuildNumber); return TRUE; case PRODUCT_HOME_PREMIUM: wsprintfW(szBuffer, L"Windows Vista Home Premimum (6.0, Build %04u)", info.dwBuildNumber); return TRUE; case PRODUCT_ENTERPRISE: wsprintfW(szBuffer, L"Windows Vista Enterprise (6.0, Build %04u)", info.dwBuildNumber); return TRUE; case PRODUCT_HOME_BASIC_N: wsprintfW(szBuffer, L"Windows Vista Home Basic N(6.0, Build %04u)", info.dwBuildNumber); return TRUE; case PRODUCT_BUSINESS: wsprintfW(szBuffer, L"Windows Vista Business(6.0, Build %04u)", info.dwBuildNumber); return TRUE; case PRODUCT_STARTER: wsprintfW(szBuffer, L"Windows Vista Starter(6.0, Build %04u)", info.dwBuildNumber); return TRUE; case PRODUCT_BUSINESS_N: wsprintfW(szBuffer, L"Windows Vista Business N(6.0, Build %04u)", info.dwBuildNumber); return TRUE; default: return FALSE; } } }
BOOL GetKey(wchar_t** ProductKey) { DWORD dwVersion = NULL; DWORD dwPInfo = NULL; DWORD dwMajorVersion = NULL; DWORD dwMinorVersion = NULL; dwVersion = GetVersion(); dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion))); dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion))); GetProductInfo(dwMajorVersion, dwMinorVersion, 0, 0, &dwPInfo); switch(dwPInfo) { case PRODUCT_ULTIMATE: *ProductKey = L"MHFPT-8C8M2-V9488-FGM44-2C9T3"; break; case PRODUCT_HOME_BASIC: *ProductKey = L"DX8R9-BVCGB-PPKRR-8J7T4-TJHTH"; break; case PRODUCT_HOME_PREMIUM: *ProductKey = L"4FG99-BC3HD-73CQT-WMF7J-3Q6C9"; break; case PRODUCT_PROFESSIONAL: *ProductKey = L"74T2M-DKDBC-788W3-H689G-6P6GT"; break; case PRODUCT_STARTER: *ProductKey = L"RH98C-M9PW4-6DHR7-X99PJ-3FGDB"; break; case PRODUCT_STANDARD_SERVER: case PRODUCT_STANDARD_SERVER_CORE: case PRODUCT_STANDARD_SERVER_CORE_V: case PRODUCT_STANDARD_SERVER_V: *ProductKey = L"D7TCH-6P8JP-KRG4P-VJKYY-P9GFF"; break; default: *ProductKey = NULL; return FALSE; } return TRUE; }
//Verify Windows SideShow (Aux display) item in CPL STDAPI SideShow_BVT_EntryPoints(LPVOID pvReserved) { BOOL fResult = FALSE; BOOL fLaunched = FALSE; LogTestBeginW(__FUNCTIONW__, L"Beginning Windows SideShow BVT test case..."); HRESULT hr = LOG_FAILED_HR(FromPartialQueryId(START_BUTTON)); if (SUCCEEDED(hr)) { LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); hr = LOG_FAILED_HR(FromPartialQueryId(START_MENU_CONTROL_PANEL)); if (SUCCEEDED(hr)) { LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); //checks to make the switch to Classic View or not int originalTimeout = SetSearchTimeOut(TEN_SECONDS); hr = LOG_FAILED_HR(FromPartialQueryId(CPL_CLASSIC_VIEW_LNK)); if (FAILED(hr)) { LogTestInfoW(__FUNCTIONW__, L"Attempt to switch to Classic View failed. Control Panel is already in Classic View mode..."); } else { LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); } // restore timeout SetSearchTimeOut(originalTimeout); BOOL fExpected = FALSE; DWORD dwProductInfoType = 0; if (GetProductInfo(WINDOWS_VISTA_VERSION, 0, 0, 0, &dwProductInfoType)) { switch (dwProductInfoType) { case PRODUCT_STARTER: case PRODUCT_HOME_BASIC: case PRODUCT_HOME_BASIC_N: LogTestInfoW(__FUNCTIONW__, L"Windows SideShow is NOT expected in this SKU."); break; case PRODUCT_HOME_PREMIUM: case PRODUCT_HOME_PREMIUM_N: case PRODUCT_BUSINESS: case PRODUCT_BUSINESS_N: case PRODUCT_ENTERPRISE: case PRODUCT_ENTERPRISE_N: case PRODUCT_ULTIMATE: case PRODUCT_ULTIMATE_N: fExpected = TRUE; LogTestInfoW(__FUNCTIONW__, L"Windows SideShow is expected in this SKU."); break; default: LogTestInfoW(__FUNCTIONW__, L"Could not determine the SKU."); break; } BOOL fFoundUI = SUCCEEDED(LOG_FAILED_HR(FromPartialQueryId(CPL_SIDESHOW_LNK_ENU))); if (fFoundUI) { fFoundUI &= SUCCEEDED(LOG_FAILED_HR(DoubleClick(CLICKABLE_POINT))); LogTestInfoW(__FUNCTIONW__, L"%s Found Item", fFoundUI ? L"Found": L"Did not find"); fLaunched = TRUE; } if (fFoundUI != fExpected) { LogTestInfoW(__FUNCTIONW__, L"Windows SideShow SKU differentiated feature failed.[Current: %s | Expected: %s ]", fFoundUI ? L"Found": L"Not Found", fExpected ? L"Found" : L"Not Found"); } else { fResult = TRUE; LogTestInfoW(__FUNCTIONW__, L"Windows SideShow is differentiated correctly."); } } else { LogTestInfoW(__FUNCTIONW__, L"GetProductInfo failed."); } } } LogTestInfoW(__FUNCTIONW__, L"Cleaning up...\n"); if (!fLaunched) { hr = LOG_FAILED_HR(FromPartialQueryId(CPL_CLOSE_BTN)); if (SUCCEEDED(hr)) { hr = LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); } } else { hr = LOG_FAILED_HR(FromPartialQueryId(CPL_SIDESHOW_CLOSE)); if (SUCCEEDED(hr)) { hr = LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); } } LogTestResultW(fResult, __FUNCTIONW__, L"Completed Windows SideShow BVT test case."); return NOERROR; }
String GetPlatformName() { static Cache<String> Value; return Value.Get([] () { SYSTEM_INFO SystemInfo; OSVERSIONINFOEXA VersionInfo; VersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA); DWORD ProductType; GetSystemInfo(&SystemInfo); if (!GetVersionExA((OSVERSIONINFOA*)&VersionInfo)) { LogLastSystemError("GetVersionEx"); return String("Unknown"); } if (!GetProductInfo(VersionInfo.dwMajorVersion, VersionInfo.dwMinorVersion, 0, 0, &ProductType)) { LogLastSystemError("GetProductInfo"); return String("Unknown"); } String Result = "Unknown"; if (VER_PLATFORM_WIN32_NT == VersionInfo.dwPlatformId && VersionInfo.dwMajorVersion > 4) { Result = "Microsoft "; if (VersionInfo.dwMajorVersion >= 6) { if (VersionInfo.dwMajorVersion == 6 && VersionInfo.dwMinorVersion == 0) { if (VersionInfo.wProductType == VER_NT_WORKSTATION) { Result += "Windows Vista"; } else { Result += "Windows Server 2008"; } } else if (VersionInfo.dwMinorVersion == 0 || VersionInfo.dwMinorVersion == 1 || VersionInfo.dwMinorVersion == 2 || VersionInfo.dwMinorVersion == 3) { if (VersionInfo.dwMajorVersion == 6) { if (VersionInfo.wProductType == VER_NT_WORKSTATION && VersionInfo.dwMinorVersion == 1) { Result += "Windows 7"; } else if (VersionInfo.wProductType == VER_NT_WORKSTATION && VersionInfo.dwMinorVersion == 2) { Result += "Windows 8"; } else if (VersionInfo.wProductType == VER_NT_WORKSTATION && VersionInfo.dwMinorVersion == 3) { Result += "Windows 8.1"; } else { Result += "Windows Server 2008 R2"; } } else if (VersionInfo.dwMajorVersion == 10) { if (VersionInfo.wProductType == VER_NT_WORKSTATION) { Result += "Windows 10"; } else { Result += "Windows Server 2016"; } } else { Result += "Unknown Windows Version"; } Result += " "; switch (ProductType) { case PRODUCT_BUSINESS: Result += "Business"; break; case PRODUCT_BUSINESS_N: Result += "Business N"; break; case PRODUCT_CLUSTER_SERVER: Result += "HPC Edition"; break; case PRODUCT_CLUSTER_SERVER_V: Result += "Server Hyper Core V"; break; case PRODUCT_CORE: Result += "Home"; break; case PRODUCT_CORE_COUNTRYSPECIFIC: Result += "Home China"; break; case PRODUCT_CORE_N: Result += "Home N"; break; case PRODUCT_CORE_SINGLELANGUAGE: Result += "Home Single Language"; break; case PRODUCT_DATACENTER_EVALUATION_SERVER: Result += "Server Datacenter(evaluation installation)"; break; case PRODUCT_DATACENTER_SERVER: Result += "Server Datacenter(full installation)"; break; case PRODUCT_DATACENTER_SERVER_CORE: Result += "Server Datacenter(core installation)"; break; case PRODUCT_DATACENTER_SERVER_CORE_V: Result += "Server Datacenter without Hyper - V(core installation)"; break; case PRODUCT_DATACENTER_SERVER_V: Result += "Server Datacenter without Hyper - V(full installation)"; break; case PRODUCT_EDUCATION: Result += "Education"; break; case PRODUCT_EDUCATION_N: Result += "Education N"; break; case PRODUCT_ENTERPRISE: Result += "Enterprise"; break; case PRODUCT_ENTERPRISE_E: Result += "Enterprise E"; break; case PRODUCT_ENTERPRISE_EVALUATION: Result += "Enterprise Evaluation"; break; case PRODUCT_ENTERPRISE_N: Result += "Enterprise N"; break; case PRODUCT_ENTERPRISE_N_EVALUATION: Result += "Enterprise N Evaluation"; break; case PRODUCT_ENTERPRISE_S: Result += "Enterprise 2015 LTSB"; break; case PRODUCT_ENTERPRISE_S_EVALUATION: Result += "Enterprise 2015 LTSB Evaluation"; break; case PRODUCT_ENTERPRISE_S_N: Result += "Enterprise 2015 LTSB N"; break; case PRODUCT_ENTERPRISE_S_N_EVALUATION: Result += "Enterprise 2015 LTSB N Evaluation"; break; case PRODUCT_ENTERPRISE_SERVER: Result += "Server Enterprise(full installation)"; break; case PRODUCT_ENTERPRISE_SERVER_CORE: Result += "Server Enterprise(core installation)"; break; case PRODUCT_ENTERPRISE_SERVER_CORE_V: Result += "Server Enterprise without Hyper - V(core installation)"; break; case PRODUCT_ENTERPRISE_SERVER_IA64: Result += "Server Enterprise for Itanium - based Systems"; break; case PRODUCT_ENTERPRISE_SERVER_V: Result += "Server Enterprise without Hyper - V(full installation)"; break; case PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL: Result += "Windows Essential Server Solution Additional"; break; case PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC: Result += "Windows Essential Server Solution Additional SVC"; break; case PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT: Result += "Windows Essential Server Solution Management"; break; case PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC: Result += "Windows Essential Server Solution Management SVC"; break; case PRODUCT_HOME_BASIC: Result += "Home Basic"; break; case PRODUCT_HOME_BASIC_E: Result += "Not supported (Home Basic E)"; break; case PRODUCT_HOME_BASIC_N: Result += "Home Basic N"; break; case PRODUCT_HOME_PREMIUM: Result += "Home Premium"; break; case PRODUCT_HOME_PREMIUM_E: Result += "Not supported (Home Premium E)"; break; case PRODUCT_HOME_PREMIUM_N: Result += "Home Premium N"; break; case PRODUCT_HOME_PREMIUM_SERVER: Result += "Windows Home Server 2011"; break; case PRODUCT_HOME_SERVER: Result += "Windows Storage Server 2008 R2 Essentials"; break; case PRODUCT_HYPERV: Result += "Microsoft Hyper - V Server"; break; case PRODUCT_IOTUAP: Result += "IoT Core"; break; case PRODUCT_IOTUAPCOMMERCIAL: Result += "IoT Core Commercial"; break; case PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT: Result += "Windows Essential Business Server Management Server"; break; case PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING: Result += "Windows Essential Business Server Messaging Server"; break; case PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY: Result += "Windows Essential Business Server Security Server"; break; case PRODUCT_MOBILE_CORE: Result += "Mobile"; break; case PRODUCT_MOBILE_ENTERPRISE: Result += "Mobile Enterprise"; break; case PRODUCT_MULTIPOINT_PREMIUM_SERVER: Result += "Windows MultiPoint Server Premium(full installation)"; break; case PRODUCT_MULTIPOINT_STANDARD_SERVER: Result += "Windows MultiPoint Server Standard(full installation)"; break; case PRODUCT_PROFESSIONAL: Result += "Pro"; break; case PRODUCT_PROFESSIONAL_E: Result += "Not supported (Pro E)"; break; case PRODUCT_PROFESSIONAL_N: Result += "Pro N"; break; case PRODUCT_PROFESSIONAL_WMC: Result += "Professional with Media Center"; break; case PRODUCT_SB_SOLUTION_SERVER: Result += "Windows Small Business Server 2011 Essentials"; break; case PRODUCT_SB_SOLUTION_SERVER_EM: Result += "Server For SB Solutions EM"; break; case PRODUCT_SERVER_FOR_SB_SOLUTIONS: Result += "Server For SB Solutions"; break; case PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM: Result += "Server For SB Solutions EM"; break; case PRODUCT_SERVER_FOR_SMALLBUSINESS: Result += "Windows Server 2008 for Windows Essential Server Solutions"; break; case PRODUCT_SERVER_FOR_SMALLBUSINESS_V: Result += "Windows Server 2008 without Hyper - V for Windows Essential Server Solutions"; break; case PRODUCT_SERVER_FOUNDATION: Result += "Server Foundation"; break; case PRODUCT_SMALLBUSINESS_SERVER: Result += "Windows Small Business Server"; break; case PRODUCT_SMALLBUSINESS_SERVER_PREMIUM: Result += "Small Business Server Premium"; break; case PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE: Result += "Small Business Server Premium(core installation)"; break; case PRODUCT_SOLUTION_EMBEDDEDSERVER: Result += "Windows MultiPoint Server"; break; case PRODUCT_STANDARD_EVALUATION_SERVER: Result += "Server Standard(evaluation installation)"; break; case PRODUCT_STANDARD_SERVER: Result += "Server Standard"; break; case PRODUCT_STANDARD_SERVER_CORE: Result += "Server Standard(core installation)"; break; case PRODUCT_STANDARD_SERVER_CORE_V: Result += "Server Standard without Hyper - V(core installation)"; break; case PRODUCT_STANDARD_SERVER_V: Result += "Server Standard without Hyper - V"; break; case PRODUCT_STANDARD_SERVER_SOLUTIONS: Result += "Server Solutions Premium"; break; case PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE: Result += "Server Solutions Premium(core installation)"; break; case PRODUCT_STARTER: Result += "Starter"; break; case PRODUCT_STARTER_E: Result += "Not supported (Starter E)"; break; case PRODUCT_STARTER_N: Result += "Starter N"; break; case PRODUCT_STORAGE_ENTERPRISE_SERVER: Result += "Storage Server Enterprise"; break; case PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE: Result += "Storage Server Enterprise(core installation)"; break; case PRODUCT_STORAGE_EXPRESS_SERVER: Result += "Storage Server Express"; break; case PRODUCT_STORAGE_EXPRESS_SERVER_CORE: Result += "Storage Server Express(core installation)"; break; case PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER:Result += "Storage Server Standard(evaluation installation)"; break; case PRODUCT_STORAGE_STANDARD_SERVER: Result += "Storage Server Standard"; break; case PRODUCT_STORAGE_STANDARD_SERVER_CORE: Result += "Storage Server Standard(core installation)"; break; case PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER:Result += "Storage Server Workgroup(evaluation installation)"; break; case PRODUCT_STORAGE_WORKGROUP_SERVER: Result += "Storage Server Workgroup"; break; case PRODUCT_STORAGE_WORKGROUP_SERVER_CORE: Result += "Storage Server Workgroup(core installation)"; break; case PRODUCT_ULTIMATE: Result += "Ultimate"; break; case PRODUCT_ULTIMATE_E: Result += "Not supported (Ultimate E)"; break; case PRODUCT_ULTIMATE_N: Result += "Ultimate N"; break; case PRODUCT_UNDEFINED: Result += "An unknown product"; break; case PRODUCT_WEB_SERVER: Result += "Web Server(full installation)"; break; case PRODUCT_WEB_SERVER_CORE: Result += "Web Server(core installation)"; break; default: Result += "Unknown product type"; break; } } } else if (VersionInfo.dwMajorVersion == 5 && VersionInfo.dwMinorVersion == 2) { if (GetSystemMetrics(SM_SERVERR2)) { Result += "Windows Server 2003 R2"; } else if (VersionInfo.wSuiteMask & VER_SUITE_STORAGE_SERVER) { Result += "Windows Storage Server 2003"; } else if (VersionInfo.wSuiteMask & VER_SUITE_WH_SERVER) { Result += "Windows Home Server"; } else if (VersionInfo.wProductType & VER_NT_WORKSTATION && SystemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64) { Result += "Windows XP Professional x64 Edition"; } else { Result += "Windows Server 2003"; } if (VersionInfo.wProductType != VER_NT_WORKSTATION) { if (SystemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64) { if (VersionInfo.wSuiteMask & VER_SUITE_DATACENTER) { Result += " Datacenter Edition for Itanium-based Systems"; } else if (VersionInfo.wSuiteMask & VER_SUITE_ENTERPRISE) { Result += " Enterprise Edition for Itanium-based Systems"; } } else if (SystemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) { if (VersionInfo.wSuiteMask & VER_SUITE_DATACENTER) { Result += " Datacenter x64 Edition"; } else if (VersionInfo.wSuiteMask & VER_SUITE_ENTERPRISE) { Result += " Enterprise x64 Edition"; } else { Result += " Standard x64 Edition"; } } else { if (VersionInfo.wSuiteMask & VER_SUITE_COMPUTE_SERVER) { Result += " Compute Cluster Edition"; } else if (VersionInfo.wSuiteMask & VER_SUITE_DATACENTER) { Result += " Datacenter Edition"; } else if (VersionInfo.wSuiteMask & VER_SUITE_ENTERPRISE) { Result += " Enterprise Edition"; } else if (VersionInfo.wSuiteMask & VER_SUITE_BLADE) { Result += " Web Edition"; } else { Result += " Standard Edition"; } } } } else if (VersionInfo.dwMajorVersion == 5 && VersionInfo.dwMinorVersion == 1) { Result += "Windows XP"; if (VersionInfo.wSuiteMask & VER_SUITE_PERSONAL) { Result += " Home Edition"; } else { Result += " Professional"; } } else if (VersionInfo.dwMajorVersion == 5 && VersionInfo.dwMinorVersion == 0) { Result += "Windows 2000 "; if (VersionInfo.wProductType == VER_NT_WORKSTATION) { Result += " Professional"; } else { if (VersionInfo.wSuiteMask & VER_SUITE_DATACENTER) { Result += " Datacenter Server"; } else if (VersionInfo.wSuiteMask & VER_SUITE_ENTERPRISE) { Result += " Advanced Server"; } else { Result += " Server"; } } } if (strlen(VersionInfo.szCSDVersion) > 0) { Result += " "; Result += VersionInfo.szCSDVersion; } Result += String(" (Build ") + (int)VersionInfo.dwBuildNumber + String(")"); if (VersionInfo.dwMajorVersion >= 6) { if (SystemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) { Result += ", 64-bit"; } else if (SystemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL) { Result += ", 32-bit"; } } } return Result; }); }
// Verify Mobility Center cpl in SKUs STDAPI MobilityCenterEntryPoints(LPVOID pvReserved) { BOOL fResult = FALSE; LogTestBeginW(__FUNCTIONW__, L"Beginning Mobility Center BVT test case..."); LogTestInfoW(__FUNCTIONW__, L"Launch Start Button...\n"); HRESULT hr = LOG_FAILED_HR(FromPartialQueryId(START_BUTTON)); if (SUCCEEDED(hr)) { LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); LogTestInfoW(__FUNCTIONW__, L"Launch Control Panel...\n"); hr = LOG_FAILED_HR(FromPartialQueryId(START_MENU_CONTROL_PANEL)); if (SUCCEEDED(hr)) { LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); LogTestInfoW(__FUNCTIONW__, L"Maximize Control Panel...\n"); hr = LOG_FAILED_HR(FromPartialQueryId(CPL_MAXIMIZE)); if (SUCCEEDED(hr)) { LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); //Get Product Type LogTestInfoW(__FUNCTIONW__, L"Getting product type...\n"); DWORD dwProductInfoType = 0; if (!GetProductInfo(6, 0, 0, 0, &dwProductInfoType)) { LogTestInfoW(__FUNCTIONW__, L"GetProductInfo failed.\n"); } LogTestInfoW(__FUNCTIONW__, L"Click Mobile PC link...\n"); hr = FromPartialQueryId(CPL_MOBILE_PC_LNK); LeftButtonClick(CLICKABLE_POINT); // Unable to find Mobile PC item if (FAILED(hr)) { if (PRODUCT_STARTER == dwProductInfoType) { // pass test case if Mobile PC not found in Starter fResult = TRUE; } else { // fail test case if Mobile PC not found in other SKUs LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); fResult = FALSE; } } // Able to find Mobile PC item else { // fail test case for Starter if (PRODUCT_STARTER == dwProductInfoType) { fResult = FALSE; } else { LogTestInfoW(__FUNCTIONW__, L"Click Mobility Center link...\n"); hr = LOG_FAILED_HR(FromPartialQueryId(CPL_MBLCTR_LNK)); if (SUCCEEDED(hr)) { LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); LogTestInfoW(__FUNCTIONW__, L"Close Mobility Center...\n"); hr = LOG_FAILED_HR(FromPartialQueryId(MBLCTR_CLOSE_BTN)); if (SUCCEEDED(hr)) { LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); fResult = TRUE; } } } } } } } // clean up: close windows if (SUCCEEDED(hr)) { LogTestInfoW(__FUNCTIONW__, L"Close Control Panel...\n"); hr = LOG_FAILED_HR(FromPartialQueryId(CPL_CLOSE_BTN)); if (SUCCEEDED(hr)) { hr = LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); } } LogTestResultW(fResult, __FUNCTIONW__, L"Completed Mobility Center BVT test case."); return NOERROR; }
// // VerifyWmp_StartMenuEntryPoint // STDAPI VerifyWmp_StartMenuEntryPoint(LPVOID pvReserved) { BOOL fPassed = FALSE; LPWSTR pwszResultInfo = NULL; HRESULT hr = E_FAIL; LogTestBeginW(__FUNCTIONW__, L"Verify Windows Media Player available in the Start Menu"); hr = LOG_FAILED_HR(FromPartialQueryId(START_BUTTON)); if (SUCCEEDED(hr)) { LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); hr = LOG_FAILED_HR(FromPartialQueryId(STARTMENU_ALLPROGRAMS)); if (SUCCEEDED(hr)) { LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); BOOL fFoundWMP = SUCCEEDED(LOG_FAILED_HR(FromPartialQueryId(WINDOWS_MEDIA_PLAYER))); BOOL fExpected = FALSE; DWORD dwProductInfoType = 0; if (GetProductInfo(WINDOWS_VISTA_VERSION, 0, 0, 0, &dwProductInfoType)) { switch (dwProductInfoType) { case PRODUCT_BUSINESS_N: case PRODUCT_HOME_BASIC_N: LogTestInfoW(__FUNCTIONW__, L"Windows Media Player is not expected here!"); break; case PRODUCT_STARTER: case PRODUCT_HOME_BASIC: case PRODUCT_HOME_PREMIUM: case PRODUCT_HOME_PREMIUM_N: case PRODUCT_BUSINESS: case PRODUCT_ENTERPRISE: case PRODUCT_ENTERPRISE_N: case PRODUCT_ULTIMATE: case PRODUCT_ULTIMATE_N: fExpected = TRUE; pwszResultInfo = L"Windows Media Player expected here."; break; default: LogTestInfoW(__FUNCTIONW__, L"Could not determine the SKU"); pwszResultInfo = L"Could not verify behavior"; break; } if (fFoundWMP != fExpected) { LogTestInfoW(__FUNCTIONW__, L"WMP SKU differentiation failed.[Current: %s | Expected: %s ]", fFoundWMP ? L"Found": L"Not Found", fExpected ? L"Found" : L"Not Found"); } else { fPassed = TRUE; pwszResultInfo = L"WMP entry point is differentiated correctly"; if (fExpected) { RightButtonClick(CLICKABLE_POINT); } } } else { LogTestInfoW(__FUNCTIONW__, L"GetProductInfo failed."); pwszResultInfo = L"GetProductInfo failed."; } } } LogTestInfoW(__FUNCTIONW__, L"Cleaning up..."); hr = LOG_FAILED_HR(FromPartialQueryId(START_BUTTON)); if (SUCCEEDED(hr)) { LOG_FAILED_HR(LeftButtonClick(CLICKABLE_POINT)); } LogTestResultW(fPassed, __FUNCTIONW__, pwszResultInfo); return NOERROR; }
// GetMaxRamInMbExpected // // Helper function that determines the max RAM in MB supported on the current installed SKU. // Returns 0 : if SKU not supported on current processor architecture or is SKU cannot be determined int GetMaxRamInMbExpected() { int nMaxRamInMbExpected = 0; // get processor architecture upfront. BOOL fIs64BitProcessor = FALSE; SYSTEM_INFO systemInfo; GetSystemInfo(&systemInfo); if (systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 || systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64) { fIs64BitProcessor = TRUE; } DWORD dwProductInfoType = 0; if (GetProductInfo(6, 0, 0, 0, &dwProductInfoType)) { switch (dwProductInfoType) { case PRODUCT_STARTER: { if (!fIs64BitProcessor) { nMaxRamInMbExpected = RAM_512MB; LogTestInfoW(__FUNCTIONW__, L"Max RAM for Starter on a 32-bit processor is %dMB!", nMaxRamInMbExpected); } else { LogTestInfoW(__FUNCTIONW__, L"Starter not supported on 64-bit processors!!"); } break; } case PRODUCT_HOME_BASIC: case PRODUCT_HOME_BASIC_N: { if (!fIs64BitProcessor) { nMaxRamInMbExpected = RAM_4GB_IN_MB; LogTestInfoW(__FUNCTIONW__, L"Max RAM for Home Basic on a 32-bit processor is %dMB!", nMaxRamInMbExpected); } else { nMaxRamInMbExpected = RAM_8GB_IN_MB; LogTestInfoW(__FUNCTIONW__, L"Max RAM for Home Basic on a 32-bit processor is %dMB!", nMaxRamInMbExpected); } break; } case PRODUCT_HOME_PREMIUM: case PRODUCT_HOME_PREMIUM_N: { if (!fIs64BitProcessor) { nMaxRamInMbExpected = RAM_4GB_IN_MB; LogTestInfoW(__FUNCTIONW__, L"Max RAM for Home Premium on a 32-bit processor is %dMB!", nMaxRamInMbExpected); } else { nMaxRamInMbExpected = RAM_16GB_IN_MB; LogTestInfoW(__FUNCTIONW__, L"Max RAM for Home Premium on a 32-bit processor is %dMB!", nMaxRamInMbExpected); } break; } case PRODUCT_BUSINESS: case PRODUCT_BUSINESS_N: case PRODUCT_ENTERPRISE: case PRODUCT_ENTERPRISE_N: case PRODUCT_ULTIMATE: case PRODUCT_ULTIMATE_N: { if (!fIs64BitProcessor) { nMaxRamInMbExpected = RAM_4GB_IN_MB; LogTestInfoW(__FUNCTIONW__, L"Max RAM for this SKU on a 32-bit processor is %dMB!", nMaxRamInMbExpected); } else { nMaxRamInMbExpected = RAM_128GB_IN_MB; LogTestInfoW(__FUNCTIONW__, L"Max RAM for this SKU on a 32-bit processor is %dMB!", nMaxRamInMbExpected); } break; } default: LogTestInfoW(__FUNCTIONW__, L"Could not determine the SKU"); break; } } return nMaxRamInMbExpected; }