Поделиться через


Установка файлов, зависящих от очереди

Во время установки принтера предоставленное поставщиком приложение установки может указать набор файлов любого типа, которые будут связаны с определенной очередью печати. Файлы загружаются на каждый клиент, который подключается к серверу печати. Приложение установки указывает файлы, помещая значения в реестр, как показано в следующей таблице.

Имя значения Тип значения Значение
Каталог REG_SZ Путь к каталогу к файлам, указанным в разделе Файлы. Используется как исходный путь на сервере, так и конечный путь на клиенте. Этот путь относится к переменной среды PRINT$.
Файлы REG_MULTI_SZ Имена файлов, копируемых на клиент при подключении клиента к серверу печати. Файлы могут быть библиотеками DLL, файлами данных или файлами любого другого типа.
Модуль REG_SZ Имя файла необязательной библиотеки DLL-библиотеки Point и Print.

Приложение должно создать эти значения, вызвав функцию SetPrinterDataEx очереди печати печати. Раздел реестра, указанный в этом вызове, должен иметь следующий формат:

CopyFiles\Имя компонента

Где ComponentName — это имя программного компонента, с которым связаны файлы. Например, файлы, связанные с управлением цветом изображений (Майкрософт), указываются в разделе CopyFiles\ICM . Вы указываете имя раздела реестра в качестве аргумента функции SetPrinterDataEx , а функция создает ключ в виде подраздела ключа очереди печати на сервере печати.

Пример установки

В качестве примера предположим, что принтер HP Color LaserJet установлен на сервере печати и ему назначено имя очереди печати "HpColor". Также предположим, что microsoft ICM требует, чтобы с очередью печати были связаны следующие два файла:

  • Цветовой профиль с именем hpclrlsr.icm, расположенный в разделе PRINT$\Color на сервере.

  • Библиотека DLL с именем Mscms.dll, расположенная в папке PRINT$\Color на сервере.

Приложение установки вызовет функцию API ICM AssociateColorProfileWithDevice, которая, в свою очередь, вызывает SetPrinterDataEx для создания следующих записей реестра сервера:

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

Модуль Mscms.dll представляет собой библиотеку DLL point и print , которая экспортирует функции GenerateCopyFilePaths и SpoolerCopyFileEvent .