Compartilhar via


Função RtlZeroDeviceMemory (wdm.h)

A função RtlZeroDeviceMemory é um wrapper de conveniência em torno de RtlFillDeviceMemory.

Sintaxe

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

Parâmetros

[out] Destination

Um ponteiro para o endereço inicial do bloco de memória a ser preenchido com zeros.

[in] Length

O tamanho do bloco de memória a ser preenchido com zeros, em bytes.

Retornar valor

Retorna o valor de Destination.

Comentários

A função RtlZeroDeviceMemory é um wrapper de conveniência em torno de RtlFillDeviceMemory.

Para obter mais informações, consulte a seção de comentários de RtlFillDeviceMemory.

Observação

Essa função funciona em todas as versões do Windows, não apenas nas mais recentes. Você precisa consumir o WDK mais recente para obter a declaração de função do cabeçalho wdm.h. Você também precisa da biblioteca (volatileaccessk.lib) do WDK mais recente. No entanto, o driver resultante será executado corretamente em versões mais antigas do Windows.

Exemplo

// 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
Cabeçalho wdm.h (include Wdm.h)
Biblioteca volatileaccessk.lib (modo Kernel), volatileaccessu.lib (Modo de usuário)

Confira também

RtlFillDeviceMemory