GetPhysicallyInstalledSystemMemory 함수(sysinfoapi.h)
컴퓨터에 물리적으로 설치된 RAM의 양을 검색합니다.
구문
BOOL GetPhysicallyInstalledSystemMemory(
[out] PULONGLONG TotalMemoryInKilobytes
);
매개 변수
[out] TotalMemoryInKilobytes
물리적으로 설치된 RAM의 양을 킬로바이트 단위로 받는 변수에 대한 포인터입니다.
반환 값
함수가 성공하면 TRUE 를 반환하고 TotalMemoryInKilobytes 매개 변수를 0이 아닌 값으로 설정합니다.
함수가 실패하면 FALSE 를 반환하고 TotalMemoryInKilobytes 매개 변수를 수정하지 않습니다. 확장 오류 정보를 얻으려면 GetLastError 함수를 사용합니다. 일반적인 오류는 다음 표에 나와 있습니다.
반환 코드 | 설명 |
---|---|
|
TotalMemoryInKilobytes 매개 변수는 NULL입니다. |
|
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 |