Функции, определенные поставщиками печати
Предупреждение
Начиная с 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 сервера мониторинга портов. |