MmAllocateMappingAddress 함수(wdm.h)

MmAllocateMappingAddress 루틴은 지정된 크기의 시스템 가상 주소 공간 범위를 예약합니다.

구문

PVOID MmAllocateMappingAddress(
  [in] SIZE_T NumberOfBytes,
  [in] ULONG  PoolTag
);

매개 변수

[in] NumberOfBytes

예약할 바이트 수를 지정합니다.

[in] PoolTag

버퍼를 식별하는 데 사용되는 4자 태그를 지정합니다. 각 할당 코드 경로에 대해 고유한 PoolTag 태그를 사용합니다. 풀 태그에 대한 설명은 ExAllocatePoolWithTag를 참조하세요.

반환 값

MmAllocateMappingAddress 는 예약된 메모리 버퍼의 시작 부분에 대한 포인터를 반환합니다.

설명

MmAllocateMappingAddress 는 호출자가 사용할 시스템 가상 주소 범위를 예약합니다. 가상 주소 범위에 대해 실제 메모리가 할당되지 않으며 , 가상 메모리는 MmMapLockedPagesWithReservedMapping 루틴에 의해 매핑될 때까지 액세스할 수 없습니다. 호출자는 MmUnmapReservedMapping 루틴을 호출하여 예약된 메모리 범위의 매핑을 해제합니다. 마지막으로, 호출자는 MmFreeMappingAddress를 호출하여 예약된 범위를 해제할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP 이상 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=APC_LEVEL

추가 정보

MmFreeMappingAddress

MmMapLockedPagesWithReservedMapping

MmUnmapReservedMapping