READ_REGISTER_BUFFER_ULONG64 function (wdm.h)
The READ_REGISTER_BUFFER_ULONG64 routine dereferences the supplied pointer, inserts a memory barrier, and reads a set of ULONG64 values from the specified register address into a buffer
Syntax
void READ_REGISTER_BUFFER_ULONG64(
[in] volatile ULONG64 *Register,
[out] PULONG64 Buffer,
[in] ULONG Count
);
Parameters
[in] Register
Pointer to the register address, which must be a mapped range in memory space.
[out] Buffer
Pointer to a buffer that an array of ULONG64 values is read into.
[in] Count
Specifies the number of ULONG64 values to be read into the buffer.
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 buffer must be large enough to contain at least the specified number of ULONG64 values.
Callers of the READ_REGISTER_BUFFER_ULONG64 macro can be running at any IRQL, assuming that the Buffer buffer is resident and 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) |