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_INFORMATION 및 PROCESS_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 |