WriteCharToUser 函数 (usermode_accessors.h)

WriteCharToUser 函数安全地将 CHAR 值写入用户模式内存。

Syntax

VOID WriteCharToUser(
  volatile CHAR *Destination,
  CHAR          Value
);

Parameters

Destination

[out]指向将写入 CHAR 值的用户模式内存位置的指针。

Value

[in]要写入目标内存位置的 CHAR 值。

返回值

None

Remarks

此函数提供了将 CHAR 值写入用户模式内存的安全方法。 在写入地址之前,它可确保提供的地址是用户模式地址。

此函数不强制对齐。

如果内存访问失败(例如目标地址不是用户模式地址或不可访问),则会引发结构化异常。

编译器永远不会优化此函数,也不会在调用函数或函数返回后(除非源代码显式执行这些访问)之前创建对此内存位置的其他访问权限。 内存访问是使用 memory_order_relaxed语义执行的。

此函数适用于所有版本的 Windows,而不仅仅是最新版本。 需要使用最新的 WDK 从 usermode_accessors.h 标头获取函数声明。 还需要最新的 WDK 中的库(umaccess.lib)。 但是,生成的驱动程序将在较旧版本的 Windows 上运行。

Requirements

Requirement Value
最低支持的客户端 请参阅备注
Header usermode_accessors.h
Library umaccess.lib
IRQL 小于或等于APC_LEVEL

另请参阅

ReadCharFromUser

WriteCharToMode