Delen via


Een productsuite detecteren

In het volgende voorbeeld wordt de functie VerifyVersionInfo gebruikt om te bepalen of de opgegeven productsuites op de lokale computer zijn geïnstalleerd.

In dit voorbeeld wordt de vlag VER_AND gebruikt. Als er twee vlaggen zijn opgegeven in het pakketmasker, retourneert de functie TRUE alleen als beide productsuites aanwezig zijn. Als het voorbeeld zou worden gewijzigd om de vlag VER_OR te gebruiken, zou VerifyVersionInfoTRUE retourneren als er een van de productsuites aanwezig is.

#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");
}