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 |
---|---|
|
La routine a correctement modifié le type de protection de la plage d’adresses mémoire. |
|
La valeur spécifiée pour NewProtect n’est pas valide pour cette routine. |
|
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 |