Partager via


Fonction MmProtectMdlSystemAddress (wdm.h)

La routine MmProtectMdlSystemAddress définit le type de protection pour une plage d’adresses mémoire.

Syntaxe

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

Paramètres

[in] MemoryDescriptorList

Spécifie la plage d’adresses mémoire pour laquelle définir le type de protection.

[in] NewProtect

Spécifie le nouveau paramètre de protection pour les pages mémoire. Les pilotes doivent spécifier l’une des valeurs suivantes :

PAGE_NOACCESS

Les pages mémoire sous-jacentes ne peuvent pas être lues ou écrites.

PAGE_READONLY

Les pages mémoire sous-jacentes peuvent uniquement être lues et non écrites.

PAGE_READWRITE

Les pages mémoire sous-jacentes peuvent être lues ou écrites.

PAGE_EXECUTE

Les pages mémoire sous-jacentes peuvent être exécutées, mais pas lues ou écrites.

PAGE_EXECUTE_READ

Les pages mémoire sous-jacentes peuvent être exécutées ou lues, mais pas écrites.

PAGE_EXECUTE_READWRITE

Les pages mémoire sous-jacentes peuvent être exécutées, lues ou écrites.

Valeur retournée

MmProtectMdlSystemAddress retourne un code NTSTATUS. Les valeurs de retour possibles sont les suivantes :

Code de retour Description
STATUS_SUCCESS
La routine a correctement modifié le type de protection de la plage d’adresses mémoire.
STATUS_INVALID_PAGE_PROTECTION
La valeur spécifiée pour NewProtect n’est pas valide pour cette routine.
STATUS_NOT_MAPPED_VIEW
La MDL n’a pas encore été mappée. MmProtectMdlSystemAddress ne peut être utilisé que sur les MDL qui ont déjà été mappées.

Remarques

La routine MmProtectMdlSystemAddress ne peut être appelée que sur une MDL qui a déjà été mappée. Par exemple, la routine peut être appelée sur une MDL mappée par MmMapLockedPagesSpecifyCache.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows XP et versions ultérieures de Windows.
Plateforme cible Universal
En-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL

Voir aussi

MmMapLockedPagesSpecifyCache