Fonction RtlSecureZeroMemory (wdm.h)

La routine RtlSecureZeroMemory remplit un bloc de mémoire avec des zéros d’une manière qui est sécurisée.

Syntaxe

PVOID RtlSecureZeroMemory(
  [out] PVOID  ptr,
  [in]  SIZE_T cnt
);

Paramètres

[out] 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 à zéro l’emplacement de mémoire, même s’il n’est pas écrit ultérieurement dans. (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 dans le 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 à n’importe quel IRQL si le bloc ptr se trouve dans un pool non paginé. Sinon, l’appelant doit être en cours d’exécution à 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 (inclure Wdm.h, Ntddk.h, Ntifs.h)
IRQL N’importe quel niveau (voir la section Remarques)

Voir aussi

RtlFillMemory

RtlZeroMemory