다음을 통해 공유


AllocateUserPhysicalPages2 함수(memoryapi.h)

확장 매개 변수를 사용하여 지정된 프로세스의 AWE(주소 창 확장) 영역 내에서 매핑 및 매핑 해제할 실제 메모리 페이지를 할당합니다.

구문

BOOL AllocateUserPhysicalPages2(
  [in]     HANDLE                  ObjectHandle,
  [in,out] PULONG_PTR              NumberOfPages,
  [out]    PULONG_PTR              PageArray,
  [in,out] PMEM_EXTENDED_PARAMETER ExtendedParameters,
  [in]     ULONG                   ExtendedParameterCount
);

매개 변수

[in] ObjectHandle

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

함수는 나중에 이 프로세스의 가상 주소 공간 내에서 매핑할 수 있는 메모리를 할당합니다. 핸들에 PROCESS_VM_OPERATION 액세스 권한이 있어야 합니다. 자세한 내용은 프로세스 보안 및 액세스 권한을 참조하세요.

[in,out] NumberOfPages

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

컴퓨터의 페이지 크기를 확인하려면 GetSystemInfo 함수를 사용합니다. 출력에서 이 매개 변수는 실제로 할당된 페이지 수를 받으며, 이는 요청된 수보다 작을 수 있습니다.

[out] PageArray

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

할당된 배열의 크기는 NumberOfPagesULONG_PTR 데이터 형식의 크기 이상이어야 합니다.

이 버퍼를 수정하지 마세요. 여기에는 운영 체제 데이터가 포함되어 있으며 손상은 치명적일 수 있습니다. 버퍼의 정보는 애플리케이션에 유용하지 않습니다.

[in,out] ExtendedParameters

MEM_EXTENDED_PARAMETER 구조체의 배열에 대한 포인터입니다.

[in] ExtendedParameterCount

ExtendedParameters 배열의 MEM_EXTENDED_PARAMETER 수입니다.

반환 값

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

요청된 것보다 적은 수의 페이지를 할당할 수 있습니다. 호출자는 반환 시 NumberOfPages 매개 변수 값을 검사 할당된 페이지 수를 확인해야 합니다. 할당된 모든 페이지 프레임 번호는 UserPfnArray 매개 변수가 가리키는 메모리에 순차적으로 배치됩니다.

함수가 실패하면 반환 값은 FALSE이고 프레임은 할당되지 않습니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

AllocateUserPhysicalPages2AllocateUserPhysicalPages 와 동일하지만 ExtendedParametersExtendedParameterCount 매개 변수를 추가합니다.

AllocateUserPhysicalPages2 함수는 나중에 프로세스의 가상 주소 공간 내에서 매핑할 수 있는 실제 메모리를 할당하는 데 사용됩니다. 호출자의 토큰에서 SeLockMemoryPrivilege 권한을 사용하도록 설정해야 합니다. 그렇지 않으면 함수가 ERROR_PRIVILEGE_NOT_HELD 함께 실패합니다. 자세한 내용은 권한 상수를 참조하세요.

이 함수에 의해 할당된 메모리는 시스템에 물리적으로 존재해야 합니다. 메모리가 할당되면 잠기고 나머지 가상 메모리 관리 시스템에서 사용할 수 없습니다.

물리적 페이지는 둘 이상의 가상 주소에서 동시에 매핑할 수 없습니다.

물리적 페이지는 실제 주소에 있을 수 있습니다. 실제 페이지의 구성에 대해 가정해서는 안 됩니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 11, 빌드 20348
지원되는 최소 서버 Windows Server, 빌드 20348
머리글 memoryapi.h
라이브러리 onecore.lib
DLL kernelbase.dll

추가 정보

AllocateUserPhysicalPages

주소 창 확장

AllocateUserPhysicalPagesNuma

FreeUserPhysicalPages

MapUserPhysicalPages

MapUserPhysicalPagesScatter

메모리 관리 함수