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


Функция EndDocPrinter

Функция EndDocPrinter завершает задание печати для указанного принтера.

Синтаксис

BOOL EndDocPrinter(
  _In_ HANDLE hPrinter
);

Параметры

hPrinter [in]

Дескриптор принтера, для которого задание печати должно быть завершено. Используйте функцию OpenPrinter или AddPrinter для получения дескриптора принтера.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение будет ненулевым.

Если функция выполняется неудачно, возвращается нулевое значение.

Комментарии

Примечание

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

Функция EndDocPrinter возвращает ошибку, если задание печати не было запущено путем вызова функции StartDocPrinter .

Последовательность задания печати выглядит следующим образом:

  1. Чтобы начать задание печати, вызовите StartDocPrinter.
  2. Чтобы начать каждую страницу, вызовите StartPagePrinter.
  3. Чтобы записать данные на страницу, вызовите WritePrinter.
  4. Чтобы завершить каждую страницу, вызовите EndPagePrinter.
  5. Повторите 2, 3 и 4 для необходимого количества страниц.
  6. Чтобы завершить задание печати, вызовите Метод EndDocPrinter.

Если размер страницы в файле превышает примерно 350 МБ, она может не распечатать и не отправить сообщение об ошибке. Например, это может произойти при печати больших EMF-файлов. Ограничение на размер страницы зависит от многих факторов, включая объем доступной виртуальной памяти, объем памяти, выделенный вызывающими процессами, и объем фрагментации в куче процесса.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winspool.h (включая Windows.h)
Библиотека
Winspool.lib
DLL
Spoolss.dll

См. также раздел

Вывод на печать

Функции API очереди печати принтера

EndDocPrinter

EndPagePrinter

StartDocPrinter

StartPagePrinter

WritePrinter