Função GetPhysicallyInstalledSystemMemory (sysinfoapi.h)

Recupera a quantidade de RAM instalada fisicamente no computador.

Sintaxe

BOOL GetPhysicallyInstalledSystemMemory(
  [out] PULONGLONG TotalMemoryInKilobytes
);

Parâmetros

[out] TotalMemoryInKilobytes

Um ponteiro para uma variável que recebe a quantidade de RAM instalada fisicamente, em quilobytes.

Retornar valor

Se a função for bem-sucedida, ela retornará TRUE e definirá o parâmetro TotalMemoryInKilobytes como um valor diferente de zero.

Se a função falhar, ela retornará FALSE e não modificará o parâmetro TotalMemoryInKilobytes . Para obter informações de erro estendidas, use a função GetLastError . Erros comuns são listados na tabela a seguir.

Código de retorno Descrição
ERROR_INVALID_PARAMETER
O parâmetro TotalMemoryInKilobytes é NULL.
ERROR_INVALID_DATA
Os dados do SMBIOS (System Management BIOS) estão malformados.

Comentários

A função GetPhysicallyInstalledSystemMemory recupera a quantidade de RAM fisicamente instalada das tabelas de firmware SMBIOS do computador. Isso pode ser diferente da quantidade relatada pela função GlobalMemoryStatusEx , que define o membro ullTotalPhys da estrutura MEMORYSTATUSEX com a quantidade de memória física disponível para o sistema operacional usar. A quantidade de memória disponível para o sistema operacional pode ser menor do que a quantidade de memória instalada fisicamente no computador porque o BIOS e alguns drivers podem reservar memória como regiões de E/S para dispositivos mapeados em memória, tornando a memória indisponível para o sistema operacional e os aplicativos.

A quantidade de memória física recuperada pela função GetPhysicallyInstalledSystemMemory deve ser igual ou maior que a quantidade relatada pela função GlobalMemoryStatusEx ; se for menor, os dados SMBIOS serão malformados e a função falhará com ERROR_INVALID_DATA. Dados SMBIOS malformados podem indicar um problema com o computador do usuário.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista com SP1 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [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

EnumSystemFirmwareTables

GetSystemFirmwareTable

GlobalMemoryStatusEx