Оптимизация сетевой печати::Журнал СА 11.2008
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6188
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6898
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4182
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2986
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3793
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3803
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6296
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3151
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3445
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7261
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10627
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12349
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13979
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9109
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7064
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5373
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4603
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3412
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3142
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3389
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3011
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Оптимизация сетевой печати

Архив номеров / 2008 / Выпуск №11 (72) / Оптимизация сетевой печати

Рубрика: Администрирование /  Продукты и решения

Иван Коробко

Оптимизация сетевой печати

Любой сервер печати должен обеспечивать быструю и надежную печать. Для достижения поставленной цели займемся оптимизацией драйверов.

В крупных сетях используются так называемые серверы печати (print server), которые представляют собой компьютеры под управлением операционной системы семейства Windows Server 2K, на которых установлено до нескольких десятков принтеров.

Во время настройки таких серверов системные администраторы испытывают проблемы, связанные с неустойчивой работой драйверов. Большинство администраторов решает эту проблему подбором стабильно работающего драйвера с удовлетворительной производительностью.

 

Многочисленные эксперименты показали, что на стабильность работы драйвера сильно влияет его графическое оформление: в inf-файле, отвечающем за установку драйвера, осуществляется установка дополнительных компонентов. Удалив из INF-файла все лишнее, можно получить стабильно работающий драйвер, причем без потери функционала, например, возможности двухсторонней печати при ее аппаратной поддержке.

Объединение множества inf-файлов в один дает возможность объединить несколько драйверов в один – универсальный.

PS или PCL

В настоящее время активно используется два типа драйверов:

  • PCL (Printer Command Language) – разработан компанией HP.
  • PS (Post Script) – создан Джоном Уорноком и Чаком Гешке из Adobe в начале 80-х годов.

 

Кроме того, PS выгодно отличается от PCL следующим:

  •  увеличение скорости и надежности печати;
  •  поддержка большого количества шрифтов разных типов;
  •  кэширование шрифтов и изображения;
  • поддержка цветоделения в самом контроллере;
  • получение высокого качества печати при использовании векторной графики и векторных шрифтов.

Основным недостатком PS-драйверов является необходимость их аппаратной поддержки печатающим устройством, что сказывается на цене принтера.

Эмуляция PS – не самый лучший выход, поскольку значительно падает скорость печати. Однако большинство лазерных принтеров, например HP1200, поддерживают PS.

PPD-файл

PPD-файл (см. рис. 1) представляет собой текстовый файл, который можно открыть обычным блокнотом (notepad.exe). Этот файл является, если так можно выразиться, переводчиком, который делает понятным для принтера язык PostScript.

Рисунок 1. PPD-файлы

Рисунок 1. PPD-файлы

Во время установки драйверов PPD-файлы копируются в папку %WinDir%\system32\spool\drivers\w32x86\3. Обратите внимание на последний подкаталог. В зависимости от версии PS он может изменяться. Поскольку в настоящее время используется PS версии 3, то название подкаталога соответствующее – 3 (см. рис. 1).

 

Большая ошибка считать, что PostScript-драйвер для каждого принтера свой. Он один – стандартный, универсальный. Его достаточно один раз установить в операционной системе и использовать для всех принтеров, назначая только PPD-файл.

У читателя возникнет закономерный вопрос: в чем же разница в принтерах? Ответ очень прост: в PPD-файлах.

Рассмотрим кратко структуру драйвера:

  • INF-файл. Ядро инсталлятора, в котором описано, какие драйверы присутствуют в нем, для каких операционных систем он подходит, какие изменения необходимо сделать в реестре, какие библиотеки зарегистрировать и, наконец, список файлов, участвующий в установке драйвера;
  • CАВ-файл, в котором находится PS (включая PPD) или PCL-драйвер;
  • Различные библиотеки графического оформления драйвера.

Для создания инсталлятора можно пойти по одному из путей: взять какой-либо PS-драйвер и «урезать» его, либо, изучив структуру INF-файла создать новый файл, заимствовав необходимые библиотеки из имеющегося драйвера.

Структура INF-файла

Любой INF-файл представляет собой тестовый файл в формате ASCII, состоящий из нескольких разделов. Каждый из них предназначен для выполнения определенной задачи. Имена разделов обычно заключены в квадратные скобки. Элементы раздела – ключи и значения, соединенные знаком равенства. В разделе может присутствовать несколько значений.

Кроме того, в состав элемента может входить комментарий, который отделяется от ключей и значений точкой с запятой (см. листинг 1).

Листинг. 1. Структура INF-файла

[section]

key1 = value1 ; comment

key2 = value2

Разделы INF-файла

Любой INF-файл имеет ряд обязательных разделов, которые считываются в первую очередь. По их содержимому определяется тип INF-файла, определяются константы и т. д. Поскольку рассматривается INF-файл драйвера, то разделы зарезервированы для этого типа драйверов.

К ним относятся следующие стандартные разделы:

  • [Version] – идентифицирует INF и класс устанавливаемого устройства;
  • [Manufacturer] – идентифицирует производителя устройства. Каждый INF-файл должен иметь по крайней мере один такой раздел;
  • [Strings] – определяются значения констант, используемых в пределах файла.
  • [DestinationDirs] – описывается местоположение драйвера на локальном компьютере.
  • [SourceDisksNames] – описание установочного диска с драйверами;
  • [SourceDisksFiles] – список файлов драйвера.

Рассмотрим каждый из них подробнее.

Раздел [Version]

Раздел [Version] состоит из ряда ключей. Полный их список можно найти на сайте Microsoft [1].

В данном случае рассмотрим лишь минимум необходимых (см. листинг 2).

Листинг 2. Структура раздела [VERSION]

[Version]

Signature="signature-name"

Class=class-name

ClassGuid={nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}

CatalogFile=filename.cat

DriverVer=mm/dd/yyyy[,w.x.y.z]

В приведенном листинге с помощью параметра Signature описывается операционная система, для которой создан INF-файл. Значение параметра указывается в знаках доллара ($) с двух сторон и может быть следующим:

  • $Windows 95$для Windows 9x;
  • $WINDOWS NT$для Windows 2k;
  • $CHICAGO$ – для всех видов операционных систем.

Поскольку в настоящее время Windows 9x снята с поддержки, то обычно указывается значение $CHICAGO$.

Второй и третий параметр указывают на класс устанавливаемого устройства. В таблице приведен список широко используемых устройств и соответствующие им значения параметров Class и ClassGuid (полный список классов и соответствующих им идентификаторов безопасности приведен в [2]).

Значение четвертого параметра – файл с расширением CAT, который содержит в себе сам драйвер, включая PPD-файл.

Забегая вперед заметим, что САT-файл не указывается в списке устанавливаемых файлов в разделах [SourceDisksFiles] or [CopyFiles]. Последний параметр – DriverVer, значение которого дата создания INF-файла.

Классы часто используемых типов устройств

Тип устройства

Класс устройства (Class)

Идентификатор безопасности (ClassGuid)

CD/DVD

CDROM

{4d36e965-e325-11ce-bfc1-08002be10318}

Видеоадаптер

Display

{4d36e968-e325-11ce-bfc1-08002be10318}

IEEE 1394-контроллер

1394

{6bdd1fc1-810f-11d0-bec7-08002be2092f}

Сканеры и камеры

Image

{6bdd1fc6-810f-11d0-bec7-08002be2092f}

Клавиатура

Keyboard

{4d36e96b-e325-11ce-bfc1-08002be10318}

Монитор

Monitor

{4d36e96e-e325-11ce-bfc1-08002be10318}

Мышь

Mouse

{4d36e96f-e325-11ce-bfc1-08002be10318}

Сетевая карта

Net

{4d36e972-e325-11ce-bfc1-08002be10318}

COM и LPT-порты

Ports

{4d36e979-e325-11ce-bfc1-08002be10318}

Звуковая карта

Sound

{4d36e97c-e325-11ce-bfc1-08002be10318}

SCSI и RAID-контроллеры

SCSIAdapter

{50dd5230-ba8a-11d1-bf5d-0000f805f530}

USB

USB

{36fc9e60-c465-11cf-8056-444553540000}

Принтер

Printer

{4d36e979-e325-11ce-bfc1-08002be10318}

Замечание. GUID – уникальный 128-битный идентификатор безопасности. Все жизненно важные объекты домена или операционной системы имеют фиксированные идентификаторы безопасности. Например, папка «Мой компьютер» на любом компьютере имеет идентификатор {20D04FE0-3AEA-1069-A2D8-08002B30309D}. Существует также GUID, которые генерируются случайным образом на основе текущего времени.

Таким образом, суммируя полученную информацию и учитывая, что необходимо создать INF-файл для установки принтера, получаем следующий раздел [Version] (см. листинг 3). Поскольку создается универсальный драйвер, то все файлы будут располагаться в одном каталоге с INF-файлом, а из CAT-файла будут заимствованы лишь некоторые файлы. Поэтому параметр CatalogFile не используется в листинге 3.

Листинг 3. Раздел [Verison] для установки принтера

[Version]

Signature="$CHICAGO$"

Class=Printer

ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}

DriverVer=09/31/2008

Раздел [Manufacturer]

В разделе [Manufacturer] назначается производитель устройства, отображаемый при установке драйвера (см. рис. 2). Название производителя может быть произвольным: русским или английским. Для того чтобы устанавливаемый драйвер было легко найти, рекомендуется его поместить в начало списка, использовав в качестве первого символа спецзнак – звездочку или восклицательный знак. При сортировке все русские названия идут после английских.

Рисунок 2. Присвоение значений без подстановки

Рисунок 2. Присвоение значений без подстановки

Существует два способа присвоения значений: с помощью подстановки и без нее. На рис. 2 проиллюстрирован второй способ. Способ с подстановкой рассмотрен далее.

Определив название производителей, необходимо определить список оборудования. Для этого необходимо создать одноименный раздел [infotec], в котором будут созданы ключи и соответствующие им значения.

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

Раздел [Strings]

В этом разделе, который обычно расположен в конце файла, назначаются константы. Название ключа – переменная, которая будет фигурировать в файле. Значение ключа – соответственно, – подставляемое значение (см. рис. 3). В приведенном примере параметра BrandName присваивается значение Lexmark.

Рисунок 3. Присвоение значений методом подстановки

Рисунок 3. Присвоение значений методом подстановки

Раздел [DestinationDirs]

В этом разделе присутствуют ключи, в которых описывается местоположение драйвера на локальном компьютере. Шаблон ключа следующий:

file-list-section = dir[,subdir]

где file-list-section название секции. По умолчанию – DefaultDestDir; dir и subdir папки, в которые необходимо скопировать данные.

Листинг 4. Раздел [DestinationDirs]

[DestinationDirs]

DefaultDestDir=66000

Раздел [SourceDisksNames]

Название раздела [SourceDisksNames] является общим для всех типов операционных систем. В случае создания одного INF-файла для разных операционных систем, в зависимости от ее типа, название раздела может меняться:

  • [SourceDisksNames.x86]платформа Intel 80x86, 32-bit;
  • [SourceDisksNames.ia64]платформа x86, 64-bit;
  • [SourceDisksNames.amd64]архитектура процессора, разработаная AMD, 64-bit.

В этом разделе располагаются ключи, построенные по следующему шаблону:

Для Windows 2000:

diskid = disk-description[,[tag-or-cab-file],[unused,path][,flags]]

Для Windows XP и старше:

diskid = disk-description[,[tag-or-cab-file],[unused,path],[flags][,tag-file]]

где disk-description (обязательный параметр) – описание диска. Описание остальных параметров выходит за рамки этой статьи.

Полное описание всех параметров приведено на официальном сайте компании Microsoft [3].

Для обеспечения работоспособности драйвера в разделе [SourceDisksNames] необходимо создать всего один ключ (см. листинг. 5).

Листинг 5. Раздел [SourceDisksNames]

[SourceDisksNames]

1 = "HP",,,""

Раздел [SourceDisksFiles]

В этом разделе перечисляются все файлы дистрибутива, за исключением CAT-файла.

Шаблон ключа в разделе [SourceDisksFiles]:

filename = diskid[,[ subdir][, size]]

где:

  • filename – имя файла (обязательный параметр);
  • diskid – идентификатор диска (любое число);
  • subdir – подкаталог, в котором находится файл в дистрибутиве;
  • size – его размер.

Приведем раздел [SourceDisksFiles] для установки PS-драйвера для HP1200 в листинге 6.

Листинг 6. Раздел [SourceDisksFiles]

[SourceDisksFiles]

HP1200.ppd = 1

В данном случае – это PPD-файл HP1200.PPD. Остальная часть драйверы входит в состав операционной системы.

Если до этого драйвера не были установлены, то инсталлятор будет их искать в каталоге с INF-файлом.

  • PS5UI.DLL;
  • PSCRIPT5.DLL;
  • PSCRIPT.HLP;
  • PSCRIPT.NTF.

Все эти файлы можно найти в любом PS-драйвере. Они находятся в CAT-файле, описанном в параметре CatalogFile раздела [Version].

INF-файл для HP1200 PS

Теперь, когда описаны все необходимые ингредиенты INF-файла, рассмотрим файл инсталлятора Post Script драйверов для принтера HP-1200.

Создание TCP/IP-порта

Для установки сетевого принтера необходимо создать TCP/IP-порт и подключить к нему сетевой принтер. Все действия осуществляются на выделенном сервере. Кроме того, к USB-принтеру должен быть подключен Jet Direct, позволяющий его подключить к сети с настроенным интерфейсом и известным IP-адресом, который необходим для создания TCP/IP-порта.

Для создания сетевого порта на сервере, к которому будет подключен принтер, существует два способа. Если необходимо создать несколько портов одновременно, то рекомендуется войти в свойства сервера печати и создать пул портов. Для этого необходимо войти в папку «Принтеры», расположенную в панели управления выбрать «Файл -> Свойства сервера». В появившемся диалоговом окне необходимо перейти во вкладку порты и нажмите кнопку «Добавить порт…» (см. рис. 4), в выведенном окне требуется выбрать тип порта: в данном случае – «Standard TCP/IP port».

Рисунок 4. Вызов свойств сервера

Рисунок 4. Вызов свойств сервера

Для создания порта необходимо нажать на кнопку «Новый порт…». В появившемся диалоговом окне, необходимо указать IP-адрес нового порта. Имя порта назначается автоматически. Им является IP-адрес с префиксом «IP_». Назначаемое имя администратор может изменить по своему усмотрению (см. рис. 5).

Рисунок 5. Создание TCP/IP-порта

Рисунок 5. Создание TCP/IP-порта

Установка принтера на сервере

Для создания принтера на сервере необходимо запустить «Мастер установки принтеров». Для этого необходимо в папке «Принтеры и факсы», расположенные в «Пуск -> Настройка -> Панель Управления», нажать на кнопку установка принтера (см. рис. 6).

Рисунок 6. Запуск мастера установки принтеров

Рисунок 6. Запуск мастера установки принтеров

Работа мастера состоит из нескольких шагов. На первом шаге необходимо указать порт, к которому будет присоединен принтер. Как уже отмечалось, для реализации сетевой печати требуется выбрать TCP/IP-порт. Создание порта описано в разделе «Создание TCP/IP-порта».

На втором шаге мастера начинается процесс установки драйвера. Для удобства восприятия приведем блок-схему работы этого мастера (см. рис. 7). Для установки драйверов мастеру необходимо указать местоположение INF-файла. По идентификаторам Class и ClassGuid (см. таблицу) в разделе [Version], система определяет, что этот файл – инсталлятор драйвера принтера. Если INF-файл создан корректно, то на экране появляется диалоговое окно, содержащее список оборудования.

Рисунок 7. Структура INF-файла

Рисунок 7. Структура INF-файла

 Замечание:

  • Во время работы мастера администратор не увидит раздел, созданный в разделе [Manufacture]. Она будет видна только при повторной установке драйверов (рис. 2 и рис. 3).
  • Необходимо наличие ключа Provider с произвольным значением в разделе [Version]. При отсутствии этого параметра во время установки возникает ошибка (см. рис. 8); драйверы не устанавливаются.

Далее, необходимо задать имя создаваемого принтера. По умолчанию предлагается имя, заданное в INF-файле (строка 11). Затем дается возможность предоставить к нему сетевой доступ. Поскольку создаваемый принтер сетевой, то необходимо указать сетевое имя, например, HP1200. На следующем шаге (см. рис. 9) можно указать размещение и комментарий. В качестве комментария рекомендуется указывать название подразделения, в котором физически находится сетевой принтер.

Затем выводится суммарная информация по устанавливаемому принтеру. На следующем шаге осуществляется копирование необходимых файлов (см. рис. 7) и создание принтера в папке «Принтеры и факсы». На этом установка принтера закончена.

Рисунок 8. Ошибка при отсутствии ключа Provider в разделе [Version]

Рисунок 8. Ошибка при отсутствии ключа Provider в разделе [Version]

Рисунок 9. Предоставление сетевого доступа к сетевому принтеру

Рисунок 9. Предоставление сетевого доступа к сетевому принтеру

Создание INF-файла с несколькими принтерами

Для создания INF-файла для нескольких принтеров, необходимо в разделе [FIRM] (см. рис. 7) создать несколько строк по образцу строки 11. Шаблон строки следующий: название ключа – отображаемое имя принтера. Его значение – имя инсталляционного раздела, в котором указан PPD (до запятой) и уникальный идентификатор, который можно взять из дистрибутива.

Разделы, соответствующие указанному принтеру, также создаются копированием с последующим переименованием имен PPD-файлов. В разделе SourceDisksFiles добавляются в существующий список PPD-файлы. В листинге 7 приведен INF-файл, с помощью которого можно установить три PS-драйвера для HP1200, HP4100 и HP2727.

Листинг 7. Мультидрайверный INF-файл

[Version]

Signature="$Windows NT$"

ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}

Class=Printer

Provider="temp"

 

[Manufacturer]

%Company%=firm

 

[firm]

"Hewlett-Packard 1200" = HP1200.PPD,HP1200_PS_PPD

"Hewlett-Packard 4100" = HP4100.PPD,HP4100_PS_PPD

"Hewlett-Packard 2727" = HP2727.PPD,HP2727_PS_PPD

 

[HP1200.PPD]

CopyFiles=@HP1200.PPD,PSCRIPT_NT ; PPD-файл.

DataSection=PSCRIPT_DATA ; раздел PSCRIPT

DataFile=HP1200.PPD

Include=NTPRINT.INF ; инсталляция NTPRINT.INF.

Needs=PSCRIPT.OEM ; инсталляция PSCRIPT.

 

[HP4100.PPD]

CopyFiles=@HP4100.PPD,PSCRIPT_NT

DataSection=PSCRIPT_DATA

DataFile=HP4100.PPD

Include=NTPRINT.INF

Needs=PSCRIPT.OEM

 

[HP2727.PPD]

CopyFiles=@HP2727.PPD,PSCRIPT_NT

DataSection=PSCRIPT_DATA

DataFile=HP2727.PPD

Include=NTPRINT.INF

Needs=PSCRIPT.OEM

 

[DestinationDirs]

DefaultDestDir=66000

 

[SourceDisksNames.x86]

1 = "HP",,,""

 

[SourceDisksFiles.x86]

HP1200.ppd = 1,,,,,,,11,3

HP4100.ppd = 1,,,,,,,11,3

HP2727.ppd = 1,,,,,,,11,3

 

[Strings]

Company = "*Island Printers"

 Таким образом, в состав дистрибутива входят:

  • PS5UI.DLL;
  • PSCRIPT5.DLL;
  • PSCRIPT.HLP;
  • PSCRIPT.NTF;
  • HP1200.PPD;
  • HP2727.PPD;
  • HP4100.PPD.

Заключение

Итак, в результате всех манипуляций получим универсальный PS-драйвер для 3 принтеров, количество которых может меняться в зависимости от нужд системного администратора. Созданный драйвер не содержит в себе никаких графических надстроек и характеризуется стабильной работой. В завершение – совет: при создании своего драйвера не пишите INF-файл с нуля, а возьмите готовые. Это позволит сэкономить массу времени.

  1. INF Version Section – http://msdn.microsoft.com/en-us/library/ms794526.aspx.
  2. System-Supplied Device Setup Classes – http://msdn.microsoft.com/en-us/library/ms791134.aspx.
  3. INF SourceDisksNames Section – http://msdn.microsoft.com/en-us/library/ms794354.aspx.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru