Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 |