WRITE_REGISTER_ULONG64 function (wdm.h)

The WRITE_REGISTER_ULONG64 routine dereferences the supplied pointer, inserts a memory barrier, and writes a ULONG64 value to the specified address.

Syntax

void WRITE_REGISTER_ULONG64(
  [in] volatile ULONG64 *Register,
  [in] ULONG64          Value
);

Parameters

[in] Register

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

[in] Value

Specifies a ULONG64 value 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.

Callers of the WRITE_REGISTER_ULONG64 macro can be running at any IRQL, assuming the Register register is resident, mapped device memory.

Requirements

Requirement Value
Minimum supported client Available only in 64-bit versions of Windows.
Target Platform Desktop
Header wdm.h (include Wdm.h)
Library NtosKrnl.exe
DLL NtosKrnl.exe
IRQL Any level (see Remarks section)