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


Общие сведения о библиотеках DLL графики принтера

Важно!

Мы рекомендуем использовать драйвер класса "Входящие" корпорации Майкрософт, а также приложения для поддержки печати (PSA) корпорации Майкрософт, чтобы настроить возможности печати в Windows 10 и 11 для разработки принтеров.

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

Библиотеки DLL для графики принтера реализуют графические функции DDI с префиксом Drv, описанные в разделе Использование графического DDI. Эти библиотеки DLL несут следующие две обязанности:

  • Помощь GDI в отрисовке задания печати.

    Библиотека DLL графики принтера может предоставлять графические функции рисования DDI для обработки операций рисования, которые должны выполняться в определенном для устройства способе и, следовательно, не могут обрабатываться исключительно механизмом отрисовки GDI.

  • Доставить отрисованный поток данных в очередь очереди.

    Библиотеки DLL графики принтера обычно создают поток вывода в типе необработанных данных (включая последовательности команд), который средство очереди печати может отправлять на оборудование принтера через мониторы печати.

Объем помощи по подготовке к просмотру, который должна предоставлять библиотека DLL графики принтера, зависит от типа принтера в зависимости от возможностей рисования оборудования и включает следующие сценарии:

  • Модуль отрисовки GDI выполняет всю отрисовку, используя поверхность, управляемую GDI. Библиотека DLL графики не предоставляет функции рисования DDI.

  • Библиотека DLL для графики предоставляет некоторые графические функции рисования DDI для работы в сочетании с подсистемой отрисовки GDI, используя поверхность, управляемую GDI. Функции рисования графических DDI, предоставляемые библиотекой DLL графики, могут при необходимости вызывать службы поддержки GDI модуля отрисовки GDI.

  • Библиотека DLL графики выполняет всю отрисовку, предоставляя графические функции рисования DDI и используя поверхность, управляемую устройством.

Например, драйвер универсального принтера (Майкрософт ) (Unidrv) использует поверхность, управляемую GDI, и предоставляет некоторые графические функции рисования DDI, а драйвер принтера Microsoft PostScript использует поверхность, управляемую устройством.

Дополнительные сведения о поддержке отрисовки в графических драйверах см. в разделах Типы Surface и Использование графического DDI.

На следующих двух рисунках показан поток данных, который возникает, когда приложение создает задание печати с помощью GDI. Запись и воспроизведение EMF объединены в этих цифрах.

На первой схеме показана библиотека DLL графики принтера в пользовательском режиме.

Примечание В windows Vista графические библиотеки печати могут выполняться только в пользовательском режиме. Дополнительные сведения см. в разделе Выбор пользовательского режима или режима ядра.

схема, иллюстрирующая библиотеку dll графики принтера в пользовательском режиме.

На второй схеме показана библиотека DLL графики принтера в режиме ядра.

поток данных задания печати с помощью библиотеки dll графики принтера в режиме ядра.

Обратите внимание, что если формат выходных данных из GDI является расширенным метафайлом (EMF), библиотека DLL графики принтера не получает задание до тех пор, пока обработчик печати EMF не воспроизводит записи EMF. Обратите внимание, что обработчик печати EMF изменяет формат вывода на формат, отличный от EMF.

На схемах показана полностью локальная среда. Если принтер подключен к серверу, записи EMF обычно создаются клиентской копией обработчика отрисовки GDI (GRE), а затем передаются в локальный файл, отправляемый на сервер. Серверная копия очереди очереди считывает файл и отправляет записи в обработчик печати EMF сервера, а серверная копия GRE вызывает библиотеку DLL для печати принтера сервера.