Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The WRITE_REGISTER_BUFFER_ULONG routine dereferences the supplied pointer, inserts a memory barrier, and writes a set of ULONG values from a buffer to the specified address.
Syntax
VOID WRITE_REGISTER_BUFFER_ULONG(
[in] volatile ULONG *Register,
[in] PULONG Buffer,
[in] ULONG Count
);
Parameters
[in] Register
Pointer to the register, which must be a mapped range in memory space.
[in] Buffer
Pointer to a buffer from which an array of ULONG values is to be written.
[in] Count
Specifies the number of ULONG values to be written 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 ULONG values.
Callers of WRITE_REGISTER_BUFFER_ULONG can be running at any IRQL, assuming the Buffer is resident and the Register is resident, mapped device memory.
Requirements
| Requirement | Value |
|---|---|
| Minimum supported client | Available starting with Windows 2000. |
| Target Platform | Universal |
| Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h, Wudfwdm.h) |
| Library | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | Any level (see Remarks section) |