MmProtectMdlSystemAddress, fonction (wdm.h)
La routine MmProtectMdlSystemAddress définit le type de protection d’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 de mémoire sous-jacentes ne peuvent pas être lues ou écrites.
PAGE_READONLY
Les pages de mémoire sous-jacentes ne peuvent être lues, pas écrites.
PAGE_READWRITE
Les pages de mémoire sous-jacentes peuvent être lues ou écrites.
PAGE_EXECUTE
Les pages de mémoire sous-jacentes peuvent être exécutées, mais pas lues ou écrites.
PAGE_EXECUTE_READ
Les pages de mémoire sous-jacentes peuvent être exécutées ou lues, mais pas écrites.
PAGE_EXECUTE_READWRITE
Les pages de mémoire sous-jacentes peuvent être exécutées, lues ou écrites.
Valeur de retour
MmProtectMdlSystemAddress retourne un code NTSTATUS. Les valeurs de retour possibles sont les suivantes :
Retourner le code | 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. |
|
Le MDL n’a pas encore été mappé. MmProtectMdlSystemAddress ne peut être utilisé que sur des DLL déjà mappées. |
Remarques
La routine mmProtectMdlSystemAddress ne peut être appelée que sur un MDL qui a déjà été mappé. Par exemple, la routine peut être appelée sur un MDL mappé par MmMapLockedPagesSpecifyCache.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows XP et versions ultérieures de Windows. |
plateforme cible | Universel |
d’en-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=DISPATCH_LEVEL |