Установка файлов, зависящих от очереди
Во время установки принтера предоставленное поставщиком приложение установки может указать набор файлов любого типа, которые будут связаны с определенной очередью печати. Файлы загружаются на каждый клиент, который подключается к серверу печати. Приложение установки указывает файлы, помещая значения в реестр, как показано в следующей таблице.
Имя значения | Тип значения | Значение |
---|---|---|
Каталог | 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 .