Função MmProtectMdlSystemAddress (wdm.h)
A rotina MmProtectMdlSystemAddress define o tipo de proteção para um intervalo de endereços de memória.
Sintaxe
NTSTATUS MmProtectMdlSystemAddress(
[in] PMDL MemoryDescriptorList,
[in] ULONG NewProtect
);
Parâmetros
[in] MemoryDescriptorList
Especifica o intervalo de endereços de memória para o qual definir o tipo de proteção.
[in] NewProtect
Especifica a nova configuração de proteção para as páginas de memória. Os drivers devem especificar um dos seguintes valores:
PAGE_NOACCESS
As páginas de memória subjacentes não podem ser lidas ou gravadas.
PAGE_READONLY
As páginas de memória subjacentes só podem ser lidas, não escritas.
PAGE_READWRITE
As páginas de memória subjacentes podem ser lidas ou gravadas.
PAGE_EXECUTE
As páginas de memória subjacentes podem ser executadas, mas não lidas ou gravadas.
PAGE_EXECUTE_READ
As páginas de memória subjacentes podem ser executadas ou lidas, mas não gravadas.
PAGE_EXECUTE_READWRITE
As páginas de memória subjacentes podem ser executadas, lidas ou escritas.
Valor de retorno
MmProtectMdlSystemAddress retorna um código NTSTATUS. Os valores retornados possíveis incluem:
Código de retorno | Descrição |
---|---|
|
A rotina alterou com êxito o tipo de proteção para o intervalo de endereços de memória. |
|
O valor especificado para NewProtect não é válido para essa rotina. |
|
O MDL ainda não foi mapeado. MmProtectMdlSystemAddress só pode ser usado em MDLs que já foram mapeados. |
Observações
A rotina MmProtectMdlSystemAddress só pode ser chamada em um MDL que já foi mapeado. Por exemplo, a rotina pode ser chamada em um MDL mapeado por MmMapLockedPagesSpecifyCache.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Windows XP e versões posteriores do Windows. |
da Plataforma de Destino | Universal |
cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | <=DISPATCH_LEVEL |