Erkennen einer Product Suite

Im folgenden Beispiel wird die VerifyVersionInfo-Funktion verwendet, um zu bestimmen, ob die angegebenen Produktsammlungen auf dem lokalen Computer installiert sind.

In diesem Beispiel wird das flag VER_AND verwendet. Wenn in der Suitemaske zwei Flags angegeben sind, gibt die Funktion nur DANN TRUE zurück, wenn beide Produktsammlungen vorhanden sind. Wenn das Beispiel geändert würde, um das flag VER_OR zu verwenden, würde VerifyVersionInfoTRUE zurückgeben, wenn eine Produktsammlung vorhanden wäre.

#include <windows.h>
#include <stdio.h>

BOOL CheckProductSuite ( WORD wSuite ) 
{
  OSVERSIONINFOEX osvi;
  DWORDLONG dwlConditionMask = 0;

  // Initialize the OSVERSIONINFOEX structure.

  ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
  osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
  osvi.wSuiteMask = wSuite;

  // Set up the condition mask.

  VER_SET_CONDITION( dwlConditionMask, 
          VER_SUITENAME, VER_AND );

  // Perform the test.

  return VerifyVersionInfo(
          &osvi, 
          VER_SUITENAME,
          dwlConditionMask);
}

void main()
{
    if( CheckProductSuite(VER_SUITE_ENTERPRISE) )
        printf( "The system meets the requirements.\n" );
    else printf( "The system does not meet the requirements.\n");
}