Função MmMapLockedPages (wdm.h)
A rotina MmMapLockedPages é obsoleta para Windows 2000 e versões posteriores do Windows e para Windows Me. Ele tem suporte apenas para drivers WDM que devem ser executados no Windows 98. Caso contrário, use MmMapLockedPagesSpecifyCache.
A rotina MmMapLockedPages mapeia as páginas físicas descritas por um determinado MDL.
Sintaxe
PVOID MmMapLockedPages(
[in] PMDL MemoryDescriptorList,
[in] __drv_strictType(KPROCESSOR_MODE / enum _MODE,__drv_typeConst)KPROCESSOR_MODE AccessMode
);
Parâmetros
[in] MemoryDescriptorList
Ponteiro para um MDL que foi atualizado por MmProbeAndLockPages.
[in] AccessMode
Especifica o modo de acesso no qual mapear o MDL, KernelMode ou UserMode. Quase todos os drivers devem usar kernelMode.
Valor de retorno
MmMapLockedPages retorna o endereço inicial das páginas mapeadas. (Para sistemas operacionais baseados em NT antes do Windows NT 4.0 Service Pack 4 (SP4), MmMapLockedPages retorna o endereço inicial da primeira página das páginas mapeadas.)
Observações
Use MmUnmapLockedPages para desacompactar as páginas físicas mapeadas por MmMapLockedPages.
Se AccessMode for KernelMode e MmMapLockedPages não puder mapear as páginas especificadas, o sistema emitirá uma verificação de bug. (Por esse motivo, os drivers devem usar MmMapLockedPagesSpecifyCache quando disponível; essa rotina retorna NULL em caso de falha, em vez de causar uma verificação de bug.) Se AccessMode for UserMode e as páginas especificadas não puderem ser mapeadas, a rotina gerará uma exceção. Os chamadores que especificam UserMode devem encapsular a chamada para MmMapLockedPages em um bloco try/except. Para obter mais informações, consulte de exceções de tratamento de.
Os chamadores de MmMapLockedPages devem estar em execução no IRQL <= DISPATCH_LEVEL se AccessMode estiver kernelMode. Caso contrário, o chamador deverá estar em execução no IRQL <= APC_LEVEL.