MmGetMdlPfnArray 매크로(wdm.h)

MmGetMdlPfnArray 매크로는 MDL(메모리 설명자 목록)과 연결된 실제 페이지 번호 배열의 시작 부분에 대한 포인터를 반환합니다.

구문

PPFN_NUMBER MmGetMdlPfnArray(
  _In_ PMDL Mdl
);

매개 변수

Mdl

MDL에 대한 포인터입니다.

반환 값

MmGetMdlPfnArray 는 MDL과 연결된 실제 페이지 번호 배열의 시작 부분에 대한 포인터를 반환합니다.

설명

매크로 정의:

#define MmGetMdlPfnArray(Mdl) ((PPFN_NUMBER)(Mdl + 1))

배열의 항목 수는 ADDRESS_AND_SIZE_TO_SPAN_PAGES(MmGetMdlVirtualAddress(Mdl), MmGetMdlByteCount(Mdl))입니다.

각 배열 요소는 다음과 같이 Wdm.h 헤더 파일에 정의된 PFN_NUMBER 형식의 정수 값입니다.

typedef ULONG PFN_NUMBER, *PPFN_NUMBER;

배열의 내용을 변경하면 진단하기 어려운 미묘한 시스템 문제가 발생할 수 있습니다. 이 배열의 내용을 읽거나 변경하지 않는 것이 좋습니다.

페이지가 지정 가능한 메모리의 경우 배열의 내용은 MmProbeAndLockPages로 잠긴 버퍼에 대해서만 유효합니다.

페이지가 없는 풀의 경우 배열의 내용은 MmBuildMdlForNonPagedPool, MmAllocatePagesForMdlEx 또는 MmAllocatePagesForMdl로 업데이트된 MDL에만 유효합니다.

MDL에 대한 자세한 내용은 MDL 사용을 참조하세요.

요구 사항

요구 사항
헤더 wdm.h(Wdm.h 포함)
IRQL 모든 수준
DDI 규정 준수 규칙 MdlAfterReqCompletedIntIoctlA(kmdf), MdlAfterReqCompletedIoctlA(kmdf), MdlAfterReqCompletedReadA(kmdf), MdlAfterReqCompletedWriteA(kmdf)