Partilhar via


Macro MmGetSystemAddressForMdl (wdm.h)

A rotina MmGetSystemAddressForMdl é obsoleta. Use MmGetSystemAddressForMdlSafe.

MmGetSystemAddressForMdl é uma macro que retorna um endereço virtual de espaço no sistema nãopagado para o buffer descrito pelo MDL. Ele mapeia as páginas físicas descritas por um determinado MDL para o espaço do sistema, caso ainda não estejam mapeadas para o espaço do sistema.

Sintaxe

PVOID MmGetSystemAddressForMdl(
   MDL
);

Parâmetros

[in] MDL

Ponteiro para um buffer cujo endereço virtual base correspondente deve ser mapeado.

Valor de retorno

Nenhum

Observações

MmGetSystemAddressForMdl retorna o endereço virtual de espaço do sistema base que mapeia as páginas físicas descritas pelo MDL especificado.

Drivers de dispositivos PIO chamam essa rotina para traduzir um intervalo de endereços virtuais, descrito pelo MDL em Irp->MdlAddress, para um buffer de usuário para um intervalo de endereços de espaço do sistema.

O MDL deve descrever a memória não pageável. Em outras palavras, o MDL de entrada deve descrever um buffer de espaço do usuário já bloqueado retornado por MmProbeAndLockPages, um buffer bloqueado retornado por MmBuildMdlForNonPagedPoolou memória de espaço do sistema alocada de pool nãopagado, memória contígua ou memória não armazenada em cache.

O endereço base retornado tem o mesmo deslocamento que o endereço virtual no MDL.

A janela emite uma verificação de bugs se a tentativa de mapear para o espaço do sistema falhar. Portanto, você deve usar MmGetSystemAddressForMdlSafe).

Requisitos

Requisito Valor
de cliente com suporte mínimo Obsoleto. Em vez disso, use MmGetSystemAddressForMdlSafe.
da Plataforma de Destino Área de trabalho
cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL IRQL <= DISPATCH_LEVEL

Consulte também

MmBuildMdlForNonPagedPool

MmGetSystemAddressForMdlSafe

MmProbeAndLockPages