다음을 통해 공유


GetProcessMemoryInfo 함수(psapi.h)

지정된 프로세스의 메모리 사용량에 대한 정보를 검색합니다.

구문

BOOL GetProcessMemoryInfo(
  [in]  HANDLE                   Process,
  [out] PPROCESS_MEMORY_COUNTERS ppsmemCounters,
  [in]  DWORD                    cb
);

매개 변수

[in] Process

프로세스에 대한 핸들입니다. 핸들에는 PROCESS_QUERY_INFORMATION 또는 PROCESS_QUERY_LIMITED_INFORMATION 액세스 권한이 있어야 합니다. 자세한 내용은 프로세스 보안 및 액세스 권한을 참조하세요.

Windows Server 2003 및 Windows XP: 핸들에는 PROCESS_QUERY_INFORMATIONPROCESS_VM_READ 액세스 권한이 있어야 합니다.

[out] ppsmemCounters

프로세스의 메모리 사용량에 대한 정보를 수신하는 PROCESS_MEMORY_COUNTERS, PROCESS_MEMORY_COUNTERS_EX 또는 PROCESS_MEMORY_COUNTERS_EX2 구조체에 대한 포인터입니다.

[in] cb

ppsmemCounters 구조체의 크기(바이트)입니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

Windows 7 및 Windows Server 2008 R2부터 Psapi.h는 PSAPI 함수에 대한 버전 번호를 설정합니다. PSAPI 버전 번호는 함수를 호출하는 데 사용되는 이름과 프로그램이 로드해야 하는 라이브러리에 영향을 줍니다.

PSAPI_VERSION 2 이상인 경우 이 함수는 Psapi.h에서 K32GetProcessMemoryInfo로 정의되고 Kernel32.lib 및 Kernel32.dll 내보냅니다. PSAPI_VERSION 1이면 이 함수는 Psapi.h에서 GetProcessMemoryInfo로 정의되고 Psapi.lib에서 내보내고 K32GetProcessMemoryInfo를 호출하는 래퍼로 Psapi.dll.

이전 버전의 Windows 및 Windows 7 이상 버전에서 실행되어야 하는 프로그램은 항상 이 함수를 GetProcessMemoryInfo로 호출해야 합니다. 기호의 올바른 해상도를 보장하려면 TARGETLIBS 매크로에 Psapi.lib를 추가하고 -DPSAPI_VERSION=1로 프로그램을 컴파일합니다. 런타임 동적 연결을 사용하려면 Psapi.dll 로드합니다.

예제

예제는 프로세스에 대한 메모리 사용량 정보 수집을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 psapi.h
라이브러리 Windows 7 및 Windows Server 2008 R2의 Kernel32.lib; Windows 7 및 Windows Server 2008 R2의 Psapi.lib(PSAPI_VERSION=1인 경우) Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP의 Psapi.lib
DLL Windows 7 및 Windows Server 2008 R2의 Kernel32.dll Windows 7 및 Windows Server 2008 R2의 Psapi.dll(PSAPI_VERSION=1인 경우) Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP의 Psapi.dll

추가 정보

EnumProcesses

메모리 성능 정보

PROCESS_MEMORY_COUNTERS

PROCESS_MEMORY_COUNTERS_EX

PSAPI 함수

프로세스 메모리 사용량 정보