Функция StartPagePrinter

Функция StartPagePrinter уведомляет диспетчер очереди очереди о том, что страница будет напечатана на указанном принтере.

Синтаксис

BOOL StartPagePrinter(
  _In_ HANDLE hPrinter
);

Параметры

hPrinter [in]

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

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

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

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

Комментарии

Примечание

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

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

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

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

Примеры

Пример программы, использующий эту функцию, см. в разделе Практическое руководство. Печать с помощью API печати GDI.

Требования

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

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

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

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

EndDocPrinter

EndPagePrinter

OpenPrinter

StartDocPrinter

StartPagePrinter

WritePrinter