Função GetVersion (sysinfoapi.h)

GetVersion pode ser alterado ou indisponível para versões após Windows 8.1. Em vez disso, use as funções auxiliares de versão. Para Windows 10 aplicativos, consulte Direcionando seus aplicativos para Windows.

Com o lançamento de Windows 8.1, o comportamento da API GetVersion foi alterado no valor que retornará para a versão do sistema operacional. O valor retornado pela função GetVersion agora depende de como o aplicativo é manifestado.

Os aplicativos não manifestados para Windows 8.1 ou Windows 10 retornarão o valor de versão do sistema operacional Windows 8 (6.2). Depois que um aplicativo for manifestado para uma determinada versão do sistema operacional, o GetVersion sempre retornará a versão para a qual o aplicativo se manifestará em versões futuras. Para manifestar seus aplicativos para Windows 8.1 ou Windows 10, consulte Direcionando seu aplicativo para Windows.

Sintaxe

NOT_BUILD_WINDOWS_DEPRECATE DWORD GetVersion();

Retornar valor

Se a função for bem-sucedida, o valor retornado incluirá os números de versão principal e secundária do sistema operacional na palavra de baixa ordem e informações sobre a plataforma do sistema operacional na palavra de alta ordem.

Para todas as plataformas, a palavra de baixa ordem contém o número de versão do sistema operacional. O byte de baixa ordem dessa palavra especifica o número de versão principal, em notação hexadecimal. O byte de alta ordem especifica o número da versão secundária (revisão), em notação hexadecimal. O bit de ordem alta é zero, os próximos 7 bits representam o número de build e o byte de ordem baixa é 5.

Comentários

A função GetVersionEx foi desenvolvida porque muitos aplicativos existentes falham ao examinar o valor DWORD empacotado retornado por GetVersion, transpondo os números de versão principal e secundária. GetVersionEx força os aplicativos a examinar explicitamente cada elemento de informações de versão. VerifyVersionInfo elimina ainda mais o potencial de erro comparando a versão do sistema necessária com a versão atual do sistema para você.

Exemplos

O fragmento de código a seguir ilustra como extrair informações do valor retornado de 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);
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho sysinfoapi.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também