다음을 통해 공유


MmGetSystemAddressForMdl 매크로(wdm.h)

MmGetSystemAddressForMdl 루틴은 사용되지 않습니다. 대신 MmGetSystemAddressForMdlSafe 를 사용합니다.

MmGetSystemAddressForMdl 은 MDL에서 설명하는 버퍼에 대해 페이지가 지정되지 않은 시스템 공간 가상 주소를 반환하는 매크로입니다. 시스템 공간에 아직 매핑되지 않은 경우 지정된 MDL에서 설명하는 물리적 페이지를 시스템 공간에 매핑합니다.

구문

PVOID MmGetSystemAddressForMdl(
   MDL
);

매개 변수

[in] MDL

해당 기본 가상 주소를 매핑할 버퍼에 대한 포인터입니다.

반환 값

없음

설명

MmGetSystemAddressForMdl은 지정된 MDL 에서 설명하는 물리적 페이지를 매핑하는 기본 시스템 공간 가상 주소를 반환합니다.

PIO 디바이스의 드라이버는 사용자 버퍼를 시스템 공간 주소 범위로 변환하기 위해 Irp-MdlAddress>의 MDL에서 설명하는 가상 주소 범위를 변환하기 위해 이 루틴을 호출합니다.

MDL은 페이지가 지정할 수 없는 메모리를 설명해야 합니다. 즉, 입력 MDL은 MmProbeAndLockPages에서 반환된 이미 잠긴 사용자 공간 버퍼, MmBuildMdlForNonPagedPool에서 반환된 잠긴 버퍼 또는 비페이지 풀, 연속 메모리 또는 캐시되지 않은 메모리에서 할당된 시스템 공간 메모리를 설명해야 합니다.

반환된 기본 주소의 오프셋은 MDL의 가상 주소와 동일합니다.

시스템 공간에 매핑하려는 시도가 실패하면 창에서 버그 검사 발급합니다. 따라서 대신 MmGetSystemAddressForMdlSafe 를 사용해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 사용되지 않습니다. 대신 MmGetSystemAddressForMdlSafe를 사용합니다.
대상 플랫폼 데스크톱
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
IRQL IRQL <= DISPATCH_LEVEL

추가 정보

MmBuildMdlForNonPagedPool

MmGetSystemAddressForMdlSafe

MmProbeAndLockPages