WRITE_REGISTER_BUFFER_ULONG64 function (wdm.h)

The WRITE_REGISTER_BUFFER_ULONG64 routine dereferences the supplied pointer, inserts a memory barrier, and writes a set of ULONG64 values from a buffer to the specified address.

Syntax

void WRITE_REGISTER_BUFFER_ULONG64(
  [in] volatile ULONG64 *Register,
  [in] PULONG64         Buffer,
  [in] ULONG            Count
);

Parameters

[in] Register

A pointer to the register, which must be a mapped range in memory space.

[in] Buffer

A pointer to a buffer into which an array of ULONG64 values is to be written.

[in] Count

Specifies the number of ULONG64 values to write to the register.

Return value

None

Remarks

This routine inserts a memory barrier into your code. This barrier guarantees that every operation that appears in the source code before the call to this routine will complete before any operation that appears after the call.

For more info about memory barriers, see KeMemoryBarrier.

The size of the buffer must be large enough to contain at least the specified number of bytes.

For more information, see Reading and Writing to Device Registers in UMDF 1.x Drivers.

Requirements

Requirement Value
Minimum supported client 64-bit Windows
Target Platform Desktop
Header wdm.h (include Wdm.h, Miniport.h, Wudfwdm.h)
Library NtosKrnl.exe