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 gravadas.
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 gravadas.
Retornar valor
MmProtectMdlSystemAddress retorna um código NTSTATUS. Os possíveis valores retornados 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 mapeadas. |
Comentários
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 |
---|---|
Cliente mínimo com suporte | Disponível no Windows XP e versões posteriores do Windows. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=DISPATCH_LEVEL |