Share via


GetPhysicallyInstalledSystemMemory 함수(sysinfoapi.h)

컴퓨터에 물리적으로 설치된 RAM의 양을 검색합니다.

구문

BOOL GetPhysicallyInstalledSystemMemory(
  [out] PULONGLONG TotalMemoryInKilobytes
);

매개 변수

[out] TotalMemoryInKilobytes

물리적으로 설치된 RAM의 양을 킬로바이트 단위로 받는 변수에 대한 포인터입니다.

반환 값

함수가 성공하면 TRUE 를 반환하고 TotalMemoryInKilobytes 매개 변수를 0이 아닌 값으로 설정합니다.

함수가 실패하면 FALSE 를 반환하고 TotalMemoryInKilobytes 매개 변수를 수정하지 않습니다. 확장 오류 정보를 얻으려면 GetLastError 함수를 사용합니다. 일반적인 오류는 다음 표에 나와 있습니다.

반환 코드 설명
ERROR_INVALID_PARAMETER
TotalMemoryInKilobytes 매개 변수는 NULL입니다.
ERROR_INVALID_DATA
SMBIOS(시스템 관리 BIOS) 데이터의 형식이 잘못되었습니다.

설명

GetPhysicallyInstalledSystemMemory 함수는 컴퓨터의 SMBIOS 펌웨어 테이블에서 물리적으로 설치된 RAM의 양을 검색합니다. 이는 MEMORYSTATUSEX 구조체의 ullTotalPhys 멤버를 운영 체제에서 사용할 수 있는 실제 메모리 양으로 설정하는 GlobalMemoryStatusEx 함수에서 보고한 양과 다를 수 있습니다. BIOS 및 일부 드라이버는 메모리 매핑 디바이스의 I/O 영역으로 메모리를 예약하여 운영 체제 및 애플리케이션에서 메모리를 사용할 수 없도록 하기 때문에 운영 체제에서 사용할 수 있는 메모리 양은 컴퓨터에 물리적으로 설치된 메모리 양보다 적을 수 있습니다.

GetPhysicallyInstalledSystemMemory 함수에서 검색한 실제 메모리의 양은 GlobalMemoryStatusEx 함수에서 보고한 양보다 크거나 같아야 합니다. SMBIOS 데이터가 작으면 형식이 잘못되고 함수가 ERROR_INVALID_DATA 실패합니다. 잘못된 형식의 SMBIOS 데이터는 사용자의 컴퓨터에 문제가 있음을 나타낼 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 WINDOWS Vista SP1 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 sysinfoapi.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

EnumSystemFirmwareTables

GetSystemFirmwareTable

GlobalMemoryStatusEx