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


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

Функция EngGetForm получает сведения о FORM_INFO_1 для указанной формы.

Синтаксис

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

Параметры

[in] hPrinter

Дескриптор для принтера, для которого указана форма.

[in] pFormName

Указатель на строку, указывающую имя формы.

[in] Level

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

[in, optional] pForm

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

[in] cbBuf

Указывает размер pForm в байтах.

[out] pcbNeeded

Указатель на значение, указывающее количество байтов, скопированных в буфер, на который указывает pForm при успешном выполнении функции. Значением является количество байтов, необходимых для выполнения копирования, если cbBuf слишком мал.

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

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

Комментарии

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

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

Требования

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

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

EngEnumForms

EngGetLastError