WRITE_REGISTER_BUFFER_UCHAR 函数 (wdm.h)
WRITE_REGISTER_BUFFER_UCHAR例程取消引用提供的指针,插入内存屏障,并将一组字节从缓冲区写入指定地址。
语法
void WRITE_REGISTER_BUFFER_UCHAR(
[in] volatile UCHAR *Register,
[in] PUCHAR Buffer,
[in] ULONG Count
);
参数
[in] Register
指向寄存器的指针,该寄存器必须是内存空间中的已映射范围。
[in] Buffer
指向要从中写入 UCHAR 值数组的缓冲区的指针。
[in] Count
指定要写入寄存器的字节数。
返回值
无
备注
此例程将内存屏障插入代码中。 此屏障保证在调用此例程之前源代码中显示的每个操作都将在调用后出现的任何操作之前完成。
有关内存屏障的详细信息,请参阅 KeMemoryBarrier。
缓冲区的大小必须足够大,至少包含指定的字节数。
WRITE_REGISTER_BUFFER_UCHAR 的调用方可以在任何 IRQL 上运行,前提是 Buffer 是驻留的、映射的设备内存。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 通用 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Miniport.h、Wudfwdm.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何级别 (请参阅“备注”部分) |