Funzione MmProtectMdlSystemAddress (wdm.h)

La routine MmProtectMdlSystemAddress imposta il tipo di protezione per un intervallo di indirizzi di memoria.

Sintassi

C++
NTSTATUS MmProtectMdlSystemAddress(
  [in] PMDL  MemoryDescriptorList,
  [in] ULONG NewProtect
);

Parametri

[in] MemoryDescriptorList

Specifica l'intervallo di indirizzi di memoria per cui impostare il tipo di protezione.

[in] NewProtect

Specifica la nuova impostazione di protezione per le pagine di memoria. I driver devono specificare uno dei valori seguenti:

PAGE_NOACCESS

Le pagine di memoria sottostanti non possono essere lette o scritte.

PAGE_READONLY

Le pagine di memoria sottostanti possono essere lette, non scritte.

PAGE_READWRITE

Le pagine di memoria sottostanti possono essere lette o scritte.

PAGE_EXECUTE

Le pagine di memoria sottostanti possono essere eseguite, ma non lette o scritte.

PAGE_EXECUTE_READ

Le pagine di memoria sottostanti possono essere eseguite o lette, ma non scritte.

PAGE_EXECUTE_READWRITE

Le pagine di memoria sottostanti possono essere eseguite, lette o scritte.

Valore restituito

MmProtectMdlSystemAddress restituisce un codice NTSTATUS. I possibili valori restituiti includono:

Codice restituito Descrizione
STATUS_SUCCESS
La routine ha modificato correttamente il tipo di protezione per l'intervallo di indirizzi di memoria.
STATUS_INVALID_PAGE_PROTECTION
Il valore specificato per NewProtect non è valido per questa routine.
STATUS_NOT_MAPPED_VIEW
Il file MDL non è ancora stato mappato. MmProtectMdlSystemAddress può essere usato solo in MDL di cui è già stato eseguito il mapping.

Osservazioni

La routine MmProtectMdlSystemAddress può essere chiamata solo su un MDL di cui è già stato eseguito il mapping. Ad esempio, la routine può essere chiamata su un MDL mappato da MmMapLockedPagesSpecifyCache.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile in Windows XP e versioni successive di Windows.
piattaforma di destinazione Universale
intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL <=DISPATCH_LEVEL

Vedere anche

MmMapLockedPagesSpecifyCache