Функция 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 |