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


Функция EngWritePrinter (winddi.h)

Функция EngWritePrinter позволяет библиотекам DLL для печати графики отправлять поток данных на оборудование принтера.

Синтаксис

ENGAPI BOOL EngWritePrinter(
  [in]  HANDLE  hPrinter,
  [in]  LPVOID  pBuf,
  [in]  DWORD   cbBuf,
  [out] LPDWORD pcWritten
);

Параметры

[in] hPrinter

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

[in] pBuf

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

[in] cbBuf

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

[out] pcWritten

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

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

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

Комментарии

Библиотеки DLL для графики принтера вызывают EngWritePrinter для отправки потоков данных (управляющих последовательностей или данных изображений) в средство очереди печати, которое, в свою очередь, отправляет данные на оборудование принтера, вызывая соответствующий монитор печати. Функция возвращается после того, как диспетчер очереди очереди получит данные.

Буфер, на который указывает pBuf, не может находиться в памяти пользователя; то есть pBuf не может указывать на память, выделенную EngCreateBitmap с установленным флагом BMF_USERMEM или EngAllocUserMem.

Дополнительные сведения о вызове EngWritePrinter см. в разделе Отрисовка задания печати.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 2000 и более поздних версиях операционных систем Windows.
Целевая платформа Универсальное
Верхняя часть winddi.h (включая Winddi.h)
Библиотека Win32k.lib
DLL Win32k.sys

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

DrvEnablePDEV

EngAllocUserMem

EngCreateBitmap