Функция GetForm

Функция GetForm извлекает сведения об указанной форме.

Синтаксис

BOOL GetForm(
  _In_  HANDLE  hPrinter,
  _In_  LPTSTR  pFormName,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pForm,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded
);

Параметры

hPrinter [in]

Дескриптор принтера. Используйте функцию OpenPrinter или AddPrinter для получения дескриптора принтера.

pFormName [in]

Указатель на строку, завершающуюся значением NULL, которая указывает имя формы. Чтобы получить имена форм, поддерживаемых принтером, вызовите функцию EnumForms .

Level [in]

Версия структуры, на которую указывает pForm . Это значение должно быть равно 1 или 2.

pForm [out]

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

cbBuf [in]

Размер массива pForm в байтах.

pcbNeeded [ out]

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

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

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

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

Комментарии

Примечание

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

Если вызывающий объект является удаленным, а уровень равен 2, значение StringType возвращаемого FORM_INFO_2 всегда будет STRING_LANGPAIR.

Требования

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

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

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

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

AddForm

DeleteForm

OpenPrinter

SetForm