Función RtlZeroDeviceMemory (wdm.h)
La función RtlZeroDeviceMemory es un contenedor de conveniencia alrededor de RtlFillDeviceMemory.
Sintaxis
volatile void * RtlZeroDeviceMemory(
[out] volatile void *Destination,
[in] size_t Length
);
Parámetros
[out] Destination
Puntero a la dirección inicial del bloque de memoria que se va a rellenar con ceros.
[in] Length
Tamaño del bloque de memoria que se va a rellenar con ceros, en bytes.
Valor devuelto
Devuelve el valor de Destination.
Comentarios
La función RtlZeroDeviceMemory es un contenedor de conveniencia alrededor de RtlFillDeviceMemory.
Para obtener más información, vea la sección comentarios de RtlFillDeviceMemory.
Nota
Esta función funciona en todas las versiones de Windows, no solo en la versión más reciente. Debe consumir el WDK más reciente para obtener la declaración de función del encabezado wdm.h. También necesita la biblioteca (volatileaccessk.lib) del WDK más reciente. Sin embargo, el controlador resultante se ejecutará correctamente en versiones anteriores de Windows.
Ejemplo
// 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);
Requisitos
Requisito | Valor |
---|---|
Header | wdm.h (incluya Wdm.h) |
Library | volatileaccessk.lib (modo kernel), volatileaccessu.lib (modo de usuario) |