READ_REGISTER_BUFFER_ULONG64 函数 (wdm.h)

READ_REGISTER_BUFFER_ULONG64例程取消引用提供的指针,插入内存屏障,并将一组ULONG64值从指定的寄存器地址读入缓冲区

语法

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

参数

[in] Register

指向寄存器地址的指针,该地址必须是内存空间中的已映射范围。

[out] Buffer

指向 ULONG64 值数组已读入到的缓冲区的指针。

[in] Count

指定要读入到缓冲区中的 ULONG64 值的数量。

返回值

备注

此例程将内存屏障插入代码中。 此屏障保证在调用此例程之前源代码中显示的每个操作都将在调用后出现的任何操作之前完成。

有关内存屏障的详细信息,请参阅 KeMemoryBarrier

Buffer 缓冲区的大小必须足够大,至少可包含指定数量的 ULONG64 值。

READ_REGISTER_BUFFER_ULONG64 宏的调用方可在任何 IRQL 上运行,前提是 Buffer 缓冲区是常驻的,并且 Register 寄存器是常驻的已映射设备内存。

要求

要求
最低受支持的客户端 仅在 64 位版本的 Windows 中可用。
目标平台 桌面
标头 wdm.h (包括 Wdm.h)
Library NtosKrnl.exe
DLL NtosKrnl.exe
IRQL 任何级别 (请参阅“备注”部分)