Erkennen einer Produktsuite

Im folgenden Beispiel wird mit der VerifyVersionInfo-Funktion bestimmt, ob die angegebenen Produktsuites auf dem lokalen Computer installiert sind.

In diesem Beispiel wird das VER _ AND-Flag verwendet. Wenn in der Suitemaske zwei Flags angegeben sind, gibt die Funktion NUR TRUE zurück, wenn beide Produktsammlungen vorhanden sind. Wenn das Beispiel so geändert würde, dass das VER OR-Flag verwendet wird, würde _ VerifyVersionInfo TRUE zurückgeben, wenn eine der Produktsuites 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");
}