Macro RtlSecureZeroMemory (wdm.h)
La routine RtlSecureZeroMemory remplit un bloc de mémoire avec des zéros d’une manière qui est garantie d’être sécurisée.
Syntaxe
void RtlSecureZeroMemory(
Ptr,
[in] cnt
);
Paramètres
Ptr
Pointeur vers la mémoire tampon à remplir avec des zéros.
[in] cnt
Spécifie le nombre d’octets à remplir avec des zéros.
Valeur de retour
None
Remarques
L’effet de RtlSecureZeroMemory est identique à celui de RtlZeroMemory, sauf qu’il est garanti de zéro l’emplacement de la mémoire, même s’il n’est pas écrit par la suite. (Le compilateur peut optimiser un appel à RtlZeroMemory s’il détermine que l’appelant n’accède plus à cette plage de mémoire.)
Utilisez RtlSecureZeroMemory pour garantir que les informations sensibles ont été supprimées. Par exemple, supposons qu’une fonction utilise une variable de tableau locale pour stocker les informations de mot de passe. Une fois la fonction terminée, les informations de mot de passe peuvent rester au même emplacement de mémoire, sauf si elles sont annulées par RtlSecureZeroMemory.
RtlSecureZeroMemory est plus lent que RtlZeroMemory ; Par conséquent, si la sécurité n’est pas un problème, utilisez Plutôt RtlZeroMemory .
Les appelants de RtlSecureZeroMemory peuvent être en cours d’exécution sur n’importe quel IRQL si le bloc ptr se trouve dans un pool non paginé. Sinon, l’appelant doit s’exécuter sur IRQL <= APC_LEVEL.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Server 2003 et versions ultérieures de Windows. (Étant donné que la routine est déclarée inline, le corps de la routine peut être inclus dans les versions antérieures du système d’exploitation.) |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | N’importe quel niveau (voir la section Remarques) |