Функции, определенные поставщиками печати

Предупреждение

Начиная с Windows 10 api, которые поддерживают сторонних поставщиков печати, являются устаревшими. Корпорация Майкрософт не рекомендует инвестировать в сторонних поставщиков печати. Кроме того, в Windows 8 и более новых продуктах, где доступна модель драйвера печати версии 4, сторонние поставщики печати не могут создавать очереди, использующие драйверы печати версии 4, или управлять ими.

В этом разделе перечислены все функции, которые может предоставить поставщик печати. Большинство из этих функций описаны в документации по Microsoft Windows SDK. Если функция описана в пакете драйверов Windows (WDK), имя функции предоставляет ссылку на связанную справочную страницу.

Все поставщики печати должны предоставлять указатели для всех перечисленных функций. Однако большинство поставщиков печати, предоставляемых поставщиками, являются "частичными поставщиками", которым не требуется поддержка многих операций, определенных функциями. Поэтому многие указатели функций могут иметь значение NULL. Дополнительные сведения о частичных поставщиках печати см. в статье Запись поставщика сетевой печати.

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

Все поставщики печати должны экспортировать функцию инициализации InitializePrintProvidor. Указатели на все остальные функции должны быть предоставлены в структуре PRINTPROVIDOR . (Обратите внимание, что эти два имени написаны с ошибками, но соответствуют именам, которые отображаются в файле заголовка Winsplp.h.)

Функции разделены на группы и представлены в следующих разделах:

  • Функция инициализации

  • Функции управления очередями печати

  • Функции управления драйвером принтера

  • Функции создания заданий печати

  • Функции планирования заданий печати

  • Функции управления формами

  • Функции управления обработчиком печати

  • Функции управления монитором печати

  • Функции управления портами

  • Функции управления реестром

  • Другие функции

Функция инициализации

Функция Описание
InitializePrintProvidor (обязательно) Инициализирует поставщик печати и возвращает указатели на предоставленные функции.
Функция Описание
AddPrinter Добавляет очередь печати в список, управляемых поставщиком печати, и связывает обработчик печати с очередью печати.
AddPrinterConnection Создает подключение к указанной очереди печати.
ClosePrinter (обязательно) Отключает доступ вызывающего объекта к указанной очереди печати.
DeletePrinter Удаляет очередь печати из списка, управляемого поставщиком печати.
DeletePrinterConnection Удаляет подключение к указанной очереди печати.
EnumPrinters (обязательно) Перечисляет список очередей печати, управляемых поставщиком печати.
FindClosePrinterChangeNotification Отключает уведомления об изменении принтера, включенные Функцией FindFirstPrinterChangeNotification.
FindFirstPrinterChangeNotification Возвращает дескриптор объекта ожидания, который вызывающий объект может использовать для ожидания указанных событий принтера.
GetPrinter (обязательно) Возвращает текущие значения параметров для указанной очереди печати.
OpenPrinter (обязательно) Обеспечивает доступ вызывающего объекта к указанной очереди печати.
RefreshPrinterChangeNotification Вызывается маршрутизатором, если клиент вызывает FindNextPrinterChangeNotification с установленным флагом PRINTER_NOTIFY_OPTIONS_REFRESH.
ResetPrinter Изменяет тип данных очереди печати или структуру DEVMODEW .
SetPrinter (обязательно) Задает параметры для указанной очереди печати.
WaitForPrinterChange Является устаревшей.

Функции управления драйвером принтера

Функция Описание
AddPrinterDriver Добавляет файлы драйверов указанного принтера на указанный сервер.
AddPrinterDriverEx То же, что и AddPrinterDriver, с дополнительными параметрами.
DeletePrinterDriver Удаляет доступ к файлам драйвера указанного принтера на указанном сервере.
DeletePrinterDriverEx То же, что и DeletePrinterDriver, с дополнительными параметрами.
EnumPrinterDrivers Возвращает список драйверов принтеров, добавленных на указанный сервер путем вызова Метода AddPrinterDriver или AddPrinterDriverEx.
GetPrinterDriver Возвращает сведения о драйвере принтера, которые вызывающий объект затем может передать в AddPrinterDriver. (Возвращаемые сведения обычно получаются из INF-файла.)
[GetPrinterDriverEx То же, что и GetPrinterDriver, с дополнительными параметрами.
GetPrinterDriverDirectory Возвращает имя каталога драйвера принтера сервера.
Функция Описание
AbortPrinter (обязательно) Пытается удалить текущее задание из указанной очереди печати.
AddJob (обязательно) Возвращает идентификатор задания и путь к файлу очереди. Вызывающий объект использует CreateFile и WriteFile для отправки данных в файл очереди.
EndDocPrinter (обязательно) Выполняет операции завершения задания.
EndPagePrinter Выполняет операции завершения страницы.
ReadPrinter Получает сведения о состоянии с двунаправленного принтера.
ScheduleJob (обязательно) Сообщает поставщику о том, что указанное задание может быть запланировано. Задание задается идентификатором задания, ранее возвращенным Командой AddJob.
StartDocPrinter (обязательно) Подготавливает поставщика печати к началу создания задания печати.
StartPagePrinter Подготавливает поставщика печати к получению страницы задания печати.
WritePrinter (обязательно) Получает часть потока данных задания печати.

Примечание

AddJob... Последовательность ScheduleJob является альтернативой StartDocPrinter... Последовательность EndDocPrinter.

Функция Описание
EnumJobs (обязательно) Возвращает список запланированных заданий печати.
GetJob (обязательно) Возвращает параметры задания.
SetJob (обязательно) Отменяет, приостанавливает, возобновляет или перезапускает задание печати или задает параметры задания.

Функции управления формами

Функция Описание
AddForm Добавляет указанную форму в список доступных для указанного принтера.
DeleteForm Удаляет указанную форму из списка доступных для указанного принтера.
EnumForms Возвращает список форм, доступных для указанного принтера.
GetForm Возвращает характеристики указанной формы.
SetForm Изменяет характеристики указанной формы.
Функция Описание
AddPrintProcessor Устанавливает процессор печати на указанном сервере и добавляет его в список тех, которые может вызывать поставщик печати.
DeletePrintProcessor Удаляет обработчик печати из списка, который может вызывать поставщик печати.
EnumPrintProcessorDataTypes Возвращает список типов данных, поддерживаемых процессорами печати, которые могут вызываться поставщиком печати.
EnumPrintProcessors Возвращает список процессоров печати, которые может вызывать поставщик печати.
GetPrintProcessorDirectory Возвращает путь к каталогу, в котором должны храниться файлы обработчика печати.
Функция Описание
AddMonitor Добавляет монитор печати в список тех, которые может вызывать поставщик печати.
DeleteMonitor Удаляет монитор печати из списка, который может вызывать поставщик печати.
Перечисления Возвращает список мониторов печати, которые может вызвать поставщик печати.

Функции управления портами

Функция Описание
AddPort Добавляет порт принтера в список доступных, как правило, путем вызова функции AddPortUI указанного монитора портов.
AddPortEx(/previous-versions/ff545025(v%3dvs.85)) То же, что и AddPort, с дополнительными параметрами.
ConfigurePort (обязательно) Настраивает порт принтера, как правило, путем вызова функции ConfigurePortUI указанного монитора портов.
DeletePort (обязательно) Удаляет порт принтера из списка доступных, как правило, путем вызова функции DeletePortUI указанного монитора портов.
EnumPorts (обязательно) Возвращает список доступных портов принтера.
SetPort Задает параметры для указанного порта принтера.

Функции управления реестром

Функция Описание
DeletePrinterData Удаляет значение, которое в настоящее время присвоено указанному имени значения, под ключом PrinterDriverData указанного принтера.
DeletePrinterDataEx То же, что и DeletePrinterData, с дополнительными параметрами.
DeletePrinterKey Удаляет указанный ключ и его подразделы, если они в настоящее время хранятся в реестре в разделе PrinterDriverData указанного принтера.
EnumPrinterData Возвращает каждое из имен значений и назначенных в настоящее время значений, которые хранятся в реестре в разделе PrinterDriverData указанного принтера.
EnumPrinterDataEx То же, что и EnumPrinterData, с дополнительными параметрами.
EnumPrinterKey Возвращает список подразделов, содержащихся в реестре с указанным именем раздела.
GetPrinterData Возвращает значение, назначенное указанному имени значения, которое хранится в реестре в разделе PrinterDriverData указанного принтера.
GetPrinterDataEx То же, что и GetPrinterData, с дополнительными параметрами.
SetPrinterData Сохраняет указанное имя и значение в реестре в разделе PrinterDriverData указанного принтера.
SetPrinterDataEx То же, что и SetPrinterData, с дополнительными параметрами.

Другие функции

Функция Описание
XcvData Предоставляет путь обмена данными между библиотекой DLL пользовательского интерфейса монитора портов и библиотекой DLL сервера мониторинга портов.