IsValidDevmode 函数

IsValidDevmode 函数验证 DEVMODE 结构的内容是否有效。

语法

BOOL IsValidDevmode(
  _In_ PDEVMODE pDevmode,
       size_t   DevmodeSize
);

参数

pDevmode [in]

指向要验证的 DEVMODE 的 指针。

DevmodeSize

输入字节缓冲区的大小(以字节为单位)。

返回值

如果DEVMODE 在结构上有效,则为 TRUE。 如果发现小错误,函数将修复这些错误并返回 TRUE

如果DEVMODE 存在一个或多个重大的结构问题,则为 FALSE。 例如,其 dmSize 成员未对齐或指定的缓冲区太小。 此外,如果 pDevmodeNULL,则为 FALSE

备注

不检查 DEVMODE 的专用打印机驱动程序字段,仅检查公共字段。

仅当调用方可以保证输入缓冲区大小至少为该大时,才应将 dmSize+dmDriverExtra 用于 DevmodeSize 。 由于 DEVMODE 通常是不受信任的数据,因此 位于 dmSize 和dmDriverExtra 偏移量的输入缓冲区中的值也是不受信任的。

此函数在 Least-Privileged 用户帐户 (LUA) 上下文中是可执行的。

要求

要求
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
标头
Winspool.h

Winspool.lib
DLL
Winspool.drv
Unicode 和 ANSI 名称
IsValidDevmodeW (Unicode) 和 IsValidDevmodeA (ANSI)

另请参阅

打印

打印后台处理程序 API 函数

DEVMODE