Функция FlushPrinter

Функция FlushPrinter отправляет буфер принтеру, чтобы очистить его от временного состояния.

Синтаксис

BOOL FlushPrinter(
  _In_  HANDLE  hPrinter,
  _In_  LPVOID  pBuf,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcWritten,
  _In_  DWORD   cSleep
);

Параметры

hPrinter [in]

Дескриптор объекта принтера. Это должен быть тот же дескриптор, который использовался драйвером принтера в предыдущем вызове WritePrinter .

pBuf [in]

Указатель на массив байтов, содержащий данные для записи на принтер.

cbBuf [in]

Размер массива в байтах, на который указывает pBuf.

pcWritten [out]

Указатель на значение, которое получает количество байтов данных, записанных на принтер.

cSleep [in]

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

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

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

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

Комментарии

Примечание

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

FlushPrinter следует вызывать только в том случае, если произошел сбой WritePrinter , в результате чего принтер остается в временном состоянии. Например, принтер может перейти в временное состояние, когда задание прерывается, а драйвер принтера частично отправил на принтер некоторые необработанные данные.

FlushPrinter также может указать период простоя, в течение которого диспетчер очереди печати не планирует никаких заданий для соответствующего порта принтера.

Требования

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

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

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

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

WritePrinter