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


Функции, определенные библиотеками DLL графики принтера

Внимание

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

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

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

Имя функции Description
DrvEnableDriver Позволяет драйверу инициализировать себя и возвращать указатели на поддерживаемые функции DDI графики.
DrvCompletePDEV Предоставляет драйверу дескриптор GDI экземпляру устройства.
DrvDisableDriver (Необязательно) Позволяет драйверу выполнять операции очистки перед выгрузки.
DrvDisablePDEV Позволяет драйверу удалять сведения об экземпляре устройства.
DrvDisableSurface Позволяет драйверу удалить поверхность рисования.
DrvEnablePDEV Позволяет драйверу предоставлять GDI с характеристиками физического устройства и инициализировать сведения об экземпляре устройства.
DrvEnableSurface Позволяет драйверу создать область рисования.
DrvQueryDeviceSupport (Необязательно) Возвращает запрошенные сведения, относящиеся к устройству.
DrvQueryDriverInfo (Необязательно) Возвращает запрошенные сведения о драйвере.

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

Function При вызове
DrvEndDoc Когда GDI завершит отправку документа драйверу для отрисовки.
DrvNextBand (Необязательно) Когда GDI завершит рисование полосы для физической страницы, чтобы драйвер может отправить полосу на принтер.
DrvQueryPerBandInfo (Необязательно) Прежде чем GDI начинает рисование полосы для физической страницы, поэтому драйвер может предоставить GDI с информацией о диапазоне.
DrvSendPage Когда GDI завершит рисование физической страницы, чтобы драйвер может отправить страницу на принтер.
DrvStartBanding (Необязательно) Когда GDI готов начать отправку полос физической страницы драйверу для отрисовки.
DrvStartDoc Когда GDI готов к отправке документа драйверу для отрисовки.
DrvStartPage Когда GDI готов начать отправку страницы документа драйверу для отрисовки.

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

  • Поддерживает ли драйвер использование управляемых GDI или управляемых устройствами поверхностей рисования (или обоих). Дополнительные сведения см. в разделе "Типы Surface".

  • Степень, в которой операции рисования могут обрабатываться GDI вместо того, чтобы выполняться самим драйвером. Дополнительные сведения см. в разделе "Использование DDI графики".

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

Функции DrvEnableDriver и DrvQueryDriverInfo экспортируются библиотекой DLL графики. Адреса всех остальных поддерживаемых функций DDI графики помещаются в таблицу, возвращаемую функцией DrvEnableDriver .