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

应为其设置配置数据的打印机的句柄。 这是作为 DrvEnablePDEVhDriver 参数传递的句柄。 请参阅备注

[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 开始,此函数已过时。 调用 EngSetPrinterDataDrvEnablePDEV 函数时使用的句柄具有不同的访问权限;因此,这些函数不再协同工作。 调用 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

另请参阅

DrvEnablePDEV

EngGetPrinterData