Partager via


Fonction RtlZeroDeviceMemory (wdm.h)

La fonction RtlZeroDeviceMemory est un wrapper pratique autour de RtlFillDeviceMemory.

Syntaxe

volatile void * RtlZeroDeviceMemory(
  [out] volatile void *Destination,
  [in]  size_t        Length
);

Paramètres

[out] Destination

Pointeur vers l’adresse de départ du bloc de mémoire à remplir avec des zéros.

[in] Length

Taille du bloc de mémoire à remplir avec des zéros, en octets.

Valeur retournée

Retourne la valeur de Destination.

Remarques

La fonction RtlZeroDeviceMemory est un wrapper pratique autour de RtlFillDeviceMemory.

Pour plus d’informations, consultez la section remarques de RtlFillDeviceMemory.

Notes

Cette fonction fonctionne sur toutes les versions de Windows, pas seulement sur les versions les plus récentes. Vous devez utiliser la dernière clé WDK pour obtenir la déclaration de fonction à partir de l’en-tête wdm.h. Vous avez également besoin de la bibliothèque (volatileaccessk.lib) de la dernière wdk. Toutefois, le pilote résultant s’exécute correctement sur les versions antérieures de Windows.

Exemple

// In this scenario we are setting data on memory mapped
// as "device memory" (for example, memory not backed by RAM) to the value zero. On
// some platforms like ARM64, device memory cannot tolerate
// memory accesses that are not naturally aligned (for example, a 4-byte
// load must be 4-byte aligned). Functions like memset, RtlFillMemory,
// and even RtlFillVolatileMemory may perform unaligned memory accesses
// because it is typically faster to do this.
// To ensure only naturally aligned accesses happen, use RtlFillDeviceMemory.
//
// RtlZeroDeviceMemory is an wrapper around RtlFillDeviceMemory that sets the memory
// to zero.

RtlZeroDeviceMemory(DeviceMemoryBuffer, 100);

Configuration requise

Condition requise Valeur
En-tête wdm.h (include Wdm.h)
Bibliothèque volatileaccessk.lib (mode noyau), volatileaccessu.lib (mode utilisateur)

Voir aussi

RtlFillDeviceMemory