Share via


FreeUserPhysicalPages 함수(memoryapi.h)

AllocateUserPhysicalPages 또는AllocateUserPhysicalPagesNuma를 사용하여 이전에 할당된 실제 메모리 페이지를 해제합니다. 이러한 페이지가 현재 AWE( 주소 창 확장 ) 지역에 매핑된 경우 이 호출에 의해 자동으로 매핑되지 않습니다. 지정된 AWE(주소 창 확장) 지역에서 차지하는 가상 주소 공간에는 영향을 주지 않습니다.

Itanium 기반 시스템의 64비트 Windows: 페이지 크기의 차이로 인해 FreeUserPhysicalPages 는 32비트 애플리케이션에서 지원되지 않습니다.

구문

BOOL FreeUserPhysicalPages(
  [in]      HANDLE     hProcess,
  [in, out] PULONG_PTR NumberOfPages,
  [in]      PULONG_PTR PageArray
);

매개 변수

[in] hProcess

프로세스에 대한 핸들입니다.

함수는 이 프로세스의 가상 주소 공간 내에서 메모리를 해제합니다.

[in, out] NumberOfPages

해제할 실제 메모리의 크기(페이지)입니다.

반환 시 함수가 실패하면 이 매개 변수는 해제된 페이지 수를 나타냅니다.

[in] PageArray

해제할 할당된 메모리의 페이지 프레임 번호 배열에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값은 TRUE입니다.

함수가 실패하면 반환 값은 FALSE입니다. 이 경우 NumberOfPages 매개 변수는 실제로 릴리스된 페이지 수를 반영합니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

다중 프로세서 환경에서 이 함수는 하드웨어 변환 버퍼의 일관성을 유지합니다. 이 함수가 반환되면 모든 프로세서의 모든 스레드가 올바른 매핑을 볼 수 있습니다.

이 함수를 사용하는 애플리케이션을 컴파일하려면 _WIN32_WINNT 매크로를 0x0500 이상으로 정의합니다. 자세한 내용은 Windows 헤더 사용을 참조하세요.

예제

예제는 AWE 예제를 참조하세요.

요구 사항

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

참고 항목

주소 창 확장

AllocateUserPhysicalPages

AllocateUserPhysicalPagesNuma

MapUserPhysicalPages

MapUserPhysicalPagesScatter

메모리 관리 함수