Partager via


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)

Voir aussi

RtlFillMemory

RtlZeroMemory