Compartilhar via


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
STATUS_SUCCESS
A rotina alterou com êxito o tipo de proteção para o intervalo de endereços de memória.
STATUS_INVALID_PAGE_PROTECTION
O valor especificado para NewProtect não é válido para essa rotina.
STATUS_NOT_MAPPED_VIEW
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

Consulte também

MmMapLockedPagesSpecifyCache