GetVersion, fonction (sysinfoapi.h)
GetVersion peut être modifié ou indisponible pour les versions après Windows 8.1. Utilisez plutôt les fonctions d’assistance de version. Pour Windows 10 applications, consultez Ciblage de vos applications pour Windows.
Avec la publication de Windows 8.1, le comportement de l’API GetVersion a changé dans la valeur qu’elle retourne pour la version du système d’exploitation. La valeur retournée par la fonction GetVersion dépend désormais de la façon dont l’application est manifestée.
Les applications non manifestées pour Windows 8.1 ou Windows 10 retournent la valeur de version du système d’exploitation Windows 8 (6.2). Une fois qu’une application est manifestée pour une version de système d’exploitation donnée, GetVersion retourne toujours la version pour laquelle l’application est manifestée dans les versions ultérieures. Pour manifester vos applications pour Windows 8.1 ou Windows 10, consultez Ciblage de votre application pour Windows.
Syntaxe
NOT_BUILD_WINDOWS_DEPRECATE DWORD GetVersion();
Valeur de retour
Si la fonction réussit, la valeur de retour inclut les numéros de version principale et secondaire du système d’exploitation dans le mot d’ordre inférieur, ainsi que des informations sur la plateforme du système d’exploitation dans le mot d’ordre élevé.
Pour toutes les plateformes, le mot de bas ordre contient le numéro de version du système d’exploitation. L’octet de bas ordre de ce mot spécifie le numéro de version principale, en notation hexadécimale. L’octet d’ordre élevé spécifie le numéro de version mineure (révision), en notation hexadécimale. Le bit d’ordre élevé est égal à zéro, les 7 bits suivants représentent le numéro de build et l’octet d’ordre inférieur est 5.
Remarques
La fonction GetVersionEx a été développée parce que de nombreuses applications existantes se trompent lors de l’examen de la valeur DWORD packée retournée par GetVersion, en transposant les numéros de version principale et secondaire. GetVersionEx force les applications à examiner explicitement chaque élément des informations de version. VerifyVersionInfo élimine d’autres risques d’erreur en comparant la version système requise à la version actuelle du système.
Exemples
Le fragment de code suivant montre comment extraire des informations de la valeur de retour GetVersion : OSVERSIONINFOEX
#include <windows.h>
#include <stdio.h>
void main()
{
DWORD dwVersion = 0;
DWORD dwMajorVersion = 0;
DWORD dwMinorVersion = 0;
DWORD dwBuild = 0;
dwVersion = GetVersion();
// Get the Windows version.
dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));
// Get the build number.
if (dwVersion < 0x80000000)
dwBuild = (DWORD)(HIWORD(dwVersion));
printf("Version is %d.%d (%d)\n",
dwMajorVersion,
dwMinorVersion,
dwBuild);
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | sysinfoapi.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |