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 |