структура PRINTER_INFO_4

Структура PRINTER_INFO_4 указывает общие сведения о принтере.

Структура может использоваться для получения минимальных сведений о принтере при вызове EnumPrinters. Такой вызов — это быстрый и простой способ получить имена и атрибуты всех локально установленных принтеров в системе и всех подключений к удаленным принтерам, установленных пользователем.

Синтаксис

typedef struct _PRINTER_INFO_4 {
  LPTSTR pPrinterName;
  LPTSTR pServerName;
  DWORD  Attributes;
} PRINTER_INFO_4, *PPRINTER_INFO_4;

Члены

pPrinterName

Указатель на строку с пустым завершением, указывающую имя принтера (локального или удаленного).

pServerName

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

Атрибуты

Указывает сведения о возвращаемых данных.

Значение Значение
PRINTER_ATTRIBUTE_LOCAL Принтер является локальным принтером.
PRINTER_ATTRIBUTE_NETWORK Принтер является удаленным принтером.

Комментарии

Структура PRINTER_INFO_4 обеспечивает простой и очень быстрый способ получения имен принтеров, установленных на локальном компьютере, а также удаленных подключений, установленных пользователем. При вызове EnumPrinters со структурой данных PRINTER_INFO_4 эта функция запрашивает указанные сведения в реестре, а затем возвращает немедленно. Это отличается от поведения EnumPrinters при вызове с другими уровнями PRINTER_INFO_xxx структур данных. В частности, при вызове EnumPrinters со структурой данных уровня 2 (PRINTER_INFO_2 ) он выполняет вызов OpenPrinter для каждого удаленного подключения. Если удаленное подключение не работает, если удаленный сервер больше не существует или удаленный принтер больше не существует, функция должна дождаться истечения времени ожидания RPC и, следовательно, завершить вызов OpenPrinter . Это может занять некоторое время. Передача структуры PRINTER_INFO_4 позволяет приложению получить минимальный объем необходимых сведений; Если требуются более подробные сведения, можно выполнить последующий вызов EnumPrinter уровня 2.

Атрибуты также могут содержать значения, определенные в поле АтрибутыPRINTER_INFO_2.

Некоторые конфигурации принтера, например подключения к некоторым серверам печати, не на базе Windows, могут возвращать как PRINTER_ATTRIBUTE_LOCAL , так и PRINTER_ATTRIBUTE_NETWORK.

Требования

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

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

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

Структуры API очереди печати печати

GetPrinter

EnumPrinters

OpenPrinter

PRINTER_INFO_1

PRINTER_INFO_2

PRINTER_INFO_3