MmMapMdl 함수(wdm.h)

이 함수는 MDL(메모리 설명자 목록)에서 설명하는 실제 페이지를 시스템 가상 주소 공간에 매핑합니다.

구문

NTSTATUS MmMapMdl(
  [in] PMDL            MemoryDescriptorList,
  [in] ULONG           Protection,
  [in] PMM_MDL_ROUTINE DriverRoutine,
  [in] PVOID           DriverContext
);

매개 변수

[in] MemoryDescriptorList

유효한 MDL에 대한 포인터입니다.

[in] Protection

페이지에 대해 설정할 보호를 나타내는 플래그의 비트입니다. 가능한 값은 Wdm.h에 정의된 PAGE_Xxx 상수입니다.

[in] DriverRoutine

MDL이 매핑된 후 호출되는 드라이버 제공 콜백 루틴(MM_MDL_ROUTINE)에 대한 포인터입니다.

[in] DriverContext

드라이버 정의 컨텍스트에 대한 포인터입니다. 드라이버의 콜백 함수는 드라이버 컨텍스트에 상태 정보를 저장한 다음 콜백이 호출될 때 값을 검사할 수 있습니다.

반환 값

DriverRoutine이 가리키는 콜백 함수가 호출된 경우 이 함수는 STATUS_SUCCESS 반환합니다. MDL을 매핑할 수 없거나 콜백 함수를 호출할 수 없는 경우 함수는 적절한 NTSTATUS 값을 반환합니다.

설명

MmMapMdl 은 MDL을 매핑하고(아직 매핑되지 않은 경우) 콜백을 호출한 다음 매핑을 해제합니다(생성된 경우). 호출자는 정리를 수행할 필요가 없습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 1709
지원되는 최소 서버 Windows Server 2016
대상 플랫폼 Windows
헤더 wdm.h
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe(커널 모드)
IRQL <=DISPATCH_LEVEL

추가 정보

MM_MDL_ROUTINE