IsValidDevmode 函数
IsValidDevmode 函数验证 DEVMODE 结构的内容是否有效。
语法
BOOL IsValidDevmode(
_In_ PDEVMODE pDevmode,
size_t DevmodeSize
);
参数
-
pDevmode [in]
-
指向要验证的 DEVMODE 的 指针。
-
DevmodeSize
-
输入字节缓冲区的大小(以字节为单位)。
返回值
如果DEVMODE 在结构上有效,则为 TRUE。 如果发现小错误,函数将修复这些错误并返回 TRUE。
如果DEVMODE 存在一个或多个重大的结构问题,则为 FALSE。 例如,其 dmSize 成员未对齐或指定的缓冲区太小。 此外,如果 pDevmode 为 NULL,则为 FALSE。
备注
不检查 DEVMODE 的专用打印机驱动程序字段,仅检查公共字段。
仅当调用方可以保证输入缓冲区大小至少为该大时,才应将 dmSize+dmDriverExtra 用于 DevmodeSize 。 由于 DEVMODE 通常是不受信任的数据,因此 位于 dmSize 和dmDriverExtra 偏移量的输入缓冲区中的值也是不受信任的。
此函数在 Least-Privileged 用户帐户 (LUA) 上下文中是可执行的。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|
Unicode 和 ANSI 名称 |
IsValidDevmodeW (Unicode) 和 IsValidDevmodeA (ANSI) |