Funzione RtlZeroDeviceMemory (wdm.h)
La funzione RtlZeroDeviceMemory è un wrapper pratico intorno a RtlFillDeviceMemory.
Sintassi
volatile void * RtlZeroDeviceMemory(
[out] volatile void *Destination,
[in] size_t Length
);
Parametri
[out] Destination
Puntatore all'indirizzo iniziale del blocco di memoria da riempire con zero.
[in] Length
Dimensioni del blocco di memoria da riempire con zero, in byte.
Valore restituito
Restituisce il valore di Destination.
Commenti
La funzione RtlZeroDeviceMemory è un wrapper pratico intorno a RtlFillDeviceMemory.
Per altre informazioni, vedere la sezione osservazioni di RtlFillDeviceMemory.
Nota
Questa funzione funziona su tutte le versioni di Windows, non solo sull'ultima versione. È necessario utilizzare il WDK più recente per ottenere la dichiarazione di funzione dall'intestazione wdm.h. È anche necessaria la libreria (volatileaccessk.lib) dall'ultimo WDK. Tuttavia, il driver risultante verrà eseguito correttamente nelle versioni precedenti di Windows.
Esempio
// 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);
Requisiti
Requisito | Valore |
---|---|
Intestazione | wdm.h (include Wdm.h) |
Libreria | volatileaccessk.lib (modalità kernel), volatileaccessu.lib (modalità utente) |