Macro MmGetSystemAddressForMdl (wdm.h)

A rotina MmGetSystemAddressForMdl está obsoleta. Em vez disso, use MmGetSystemAddressForMdlSafe .

MmGetSystemAddressForMdl é uma macro que retorna um endereço virtual de espaço do 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, se elas ainda não estiverem 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.

Retornar valor

Nenhum

Comentários

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

Os 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 pageable. 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 MmBuildMdlForNonPagedPool ou 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 emitirá um bug marcar se a tentativa de mapear para o espaço do sistema falhar. Portanto, você deve usar MmGetSystemAddressForMdlSafe em vez disso).

Requisitos

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

Confira também

MmBuildMdlForNonPagedPool

MmGetSystemAddressForMdlSafe

MmProbeAndLockPages