Freigeben über


RtlZeroDeviceMemory-Funktion (wdm.h)

Die RtlZeroDeviceMemory-Funktion ist ein Praktischer Wrapper für RtlFillDeviceMemory.

Syntax

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

Parameter

[out] Destination

Ein Zeiger auf die Startadresse des Speicherblocks, der mit Nullen gefüllt werden soll.

[in] Length

Die Größe des Speicherblocks, der mit Nullen in Bytes gefüllt werden soll.

Rückgabewert

Gibt den Wert von Destination zurück.

Hinweise

Die RtlZeroDeviceMemory-Funktion ist ein Praktischer Wrapper für RtlFillDeviceMemory.

Weitere Informationen finden Sie im Abschnitt "Hinweise" von RtlFillDeviceMemory.

Hinweis

Diese Funktion funktioniert für alle Versionen von Windows, nicht nur für die neuesten Versionen. Sie müssen den neuesten WDK nutzen, um die Funktionsdeklaration aus dem wdm.h-Header abzurufen. Sie benötigen auch die Bibliothek (volatileaccessk.lib) aus dem neuesten WDK. Der resultierende Treiber wird jedoch unter älteren Versionen von Windows einwandfrei ausgeführt.

Beispiel

// 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);

Anforderungen

Anforderung Wert
Header wdm.h (wdm.h einschließen)
Bibliothek volatileaccessk.lib (Kernelmodus), volatileaccessu.lib (Benutzermodus)

Weitere Informationen

RtlFillDeviceMemory