EngSetPrinterData 函数 (winddi.h)
EngSetPrinterData 函数在 Windows 2000 及更高版本中已过时。
在早期版本的 Windows EngSetPrinterData 中,设置指定打印机的配置数据。
语法
ENGAPI DWORD EngSetPrinterData(
[in] HANDLE hPrinter,
[in] LPWSTR pType,
[in] DWORD dwType,
[in] LPBYTE lpbPrinterData,
[in] DWORD cjPrinterData
);
参数
[in] hPrinter
应为其设置配置数据的打印机的句柄。 这是作为 DrvEnablePDEV 的 hDriver 参数传递的句柄。 请参阅备注。
[in] pType
指向以 null 结尾的字符串的指针,该字符串标识要设置的数据。
[in] dwType
指定要设置的信息类型的标志。 此参数可能是以下值之一:
值 | 含义 |
---|---|
REG_BINARY | 任意格式的二进制数据。 |
REG_DWORD | 32 位数字。 |
REG_DWORD_BIG_ENDIAN | 大端格式的 32 位数字,表示单词中最重要的字节是低序字节。 |
REG_DWORD_LITTLE_ENDIAN | little-endian 格式的 32 位数字 (与 REG_DWORD) 相同,这意味着单词中最重要的字节是高阶字节 |
REG_EXPAND_SZ | 一个以 null 结尾的字符串,包含对环境变量的未扩展引用, (例如“%PATH%”) 。 它将是 Unicode 或 ANSI 字符串,具体取决于是使用 Unicode 还是 ANSI 函数。 |
REG_LINK | Unicode 符号链接。 |
REG_MULTI_SZ | 一个以 NULL 结尾的字符串数组,以两个空字符结束。 |
REG_NONE | 没有定义的值类型。 |
REG_RESOURCE_LIST | 设备驱动程序资源列表。 |
REG_SZ | 以 null 终止的字符串。 它将是 Unicode 或 ANSI 字符串,具体取决于是使用 Unicode 还是 ANSI 函数。 |
[in] lpbPrinterData
指向要设置的打印机配置数据的指针。 指向的数据的类型由 dwType 确定。
[in] cjPrinterData
指定 lpbPrinterData 的大小(以字节为单位)。
返回值
EngSetPrinterData 返回上次记录的错误消息。
备注
从 Microsoft Windows 2000 开始,此函数已过时。 调用 EngSetPrinterData 和 DrvEnablePDEV 函数时使用的句柄具有不同的访问权限;因此,这些函数不再协同工作。 调用 DrvEnablePDEV 函数时使用的 hDriver 参数以PRINTER_ACCESS_USE访问权限打开。 相比之下,调用 EngSetPrinterData 函数中使用的 hPrinter 参数必须已使用PRINTER_ALL_ACCESS访问权限打开。 因此,内核模式打印机驱动程序无法 (唯一可以调用 EngSetPrinterData 的打印机驱动程序类型) 使用 EngSetPrinterData 将打印机的相关信息写入注册表。
有关打印机访问权限的详细信息,请参阅 Windows SDK 文档) 中描述的PRINTER_DEFAULTS结构 (。
要求
最低受支持的客户端 | 适用于 Windows 2000 及更高版本的 Windows 操作系统。 |
目标平台 | 通用 |
标头 | winddi.h (包括 Winddi.h) |
Library | Win32k.lib |
DLL | Win32k.sys |