安装特定于队列的文件

在打印机安装时,供应商提供的安装应用程序可以指定要与特定打印队列关联的一组任何类型的文件。 文件将下载到连接到打印服务器的每个客户端。 安装应用程序通过在注册表中放置值来指定文件,如下表所示。

值名称 值类型 Value
Directory REG_SZ 文件指定的文件的目录路径。 用作服务器上的源路径和客户端上的目标路径。 此路径相对于 PRINT$ 环境变量。
文件 REG_MULTI_SZ 客户端连接到打印服务器时要复制到客户端的文件的文件名。 文件可以是 DLL、数据文件或任何其他类型的文件。
模块 REG_SZ 可选 Point 和 Print DLL 的文件名。

应用程序应通过调用打印后台处理程序的 SetPrinterDataEx 函数来创建这些值。 使用此调用指定的注册表项的格式应为:

CopyFiles\ComponentName

其中 ComponentName 是与文件关联的软件组件的名称。 例如,与 Microsoft 图像颜色管理 (ICM) 关联的文件在 CopyFiles\ICM 键下指定。 将注册表项名称指定为 SetPrinterDataEx 函数的参数,该函数将创建密钥作为打印服务器上的打印队列密钥的子项。

安装示例

例如,假设在打印服务器上安装了 HP Color LaserJet 打印机,并分配了打印队列名称“HpColor”。 此外,假设 Microsoft ICM 要求将以下两个文件与打印队列相关联:

  • 名为 hpclrlsr.icm 的颜色配置文件,位于服务器上的 PRINT$\Color 中。

  • 名为 Mscms.dll 的 DLL,位于服务器上的 PRINT$\Color 中。

安装应用程序将调用 ICM API 函数 AssociateColorProfileWithDevice,后者又调用 SetPrinterDataEx 来创建以下服务器注册表项:

CopyFiles\ICM\Directory: Color
CopyFiles\ICM\Files: hpclrsr.icm
CopyFiles\ICM\Module: mscms.dll

Mscms.dll 模块是一个 点和打印 DLL ,用于导出 GenerateCopyFilePathsSpoolerCopyFileEvent 函数。