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


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

Функция EngEnumForms перечисляет формы, поддерживаемые указанным принтером.

Синтаксис

ENGAPI BOOL EngEnumForms(
  [in]            HANDLE  hPrinter,
  [in]            DWORD   Level,
  [out, optional] LPBYTE  pForm,
  [in]            DWORD   cbBuf,
  [out]           LPDWORD pcbNeeded,
  [out]           LPDWORD pcReturned
);

Параметры

[in] hPrinter

Дескриптор принтера, для которого должны быть перечислены формы. Это дескриптор PDEV, который передается в качестве параметра hDriverdrvEnablePDEV.

[in] Level

Указывает версию структуры, на которую указывает pForm. Это значение должно быть равно 1, указывающее, что перечисленные формы должны быть возвращены в FORM_1_INFO структурах.

[out, optional] pForm

Указатель на массив байтов, в который записываются перечисленные FORM_INFO_1 структуры.

[in] cbBuf

Задает размер lpbForms в байтах.

[out] pcbNeeded

Указатель на DWORD, который получает количество байтов, скопированных в pForm , если копирование успешно завершено. Если pForm слишком мал, чтобы содержать все данные перечисленных форм, этот параметр DWORD указывает необходимое количество байтов.

[out] pcReturned

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

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

EngEnumForms возвращает значение TRUE , если все параметры допустимы и данные перечисляемой формы успешно скопированы в pForm. В противном случае возвращается значение FALSE и регистрируется сообщение об ошибке. Чтобы получить сведения об ошибке, вызовите EngGetLastError.

Комментарии

Драйвер принтера может вызвать EngEnumForms , чтобы GDI смог получить список форм, поддерживаемых определенным принтером. Перечисленные сведения возвращаются в виде массива FORM_INFO_1 структур (объявленных в документации по Microsoft Windows SDK), на которые указывает pForm. Если массив, на который указывает pForm, недостаточно велик для хранения перечисленных данных, требуемый размер массива возвращается в pcbNeeded.

Требования

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

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

DrvEnablePDEV

EngGetLastError