структура PRINTER_INFO_2

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

Синтаксис

typedef struct _PRINTER_INFO_2 {
  LPTSTR               pServerName;
  LPTSTR               pPrinterName;
  LPTSTR               pShareName;
  LPTSTR               pPortName;
  LPTSTR               pDriverName;
  LPTSTR               pComment;
  LPTSTR               pLocation;
  LPDEVMODE            pDevMode;
  LPTSTR               pSepFile;
  LPTSTR               pPrintProcessor;
  LPTSTR               pDatatype;
  LPTSTR               pParameters;
  PSECURITY_DESCRIPTOR pSecurityDescriptor;
  DWORD                Attributes;
  DWORD                Priority;
  DWORD                DefaultPriority;
  DWORD                StartTime;
  DWORD                UntilTime;
  DWORD                Status;
  DWORD                cJobs;
  DWORD                AveragePPM;
} PRINTER_INFO_2, *PPRINTER_INFO_2;

Члены

pServerName

Указатель на строку, завершающуюся значением NULL, идентифицируя сервер, управляющий принтером. Если эта строка имеет значение NULL, принтер управляется локально.

pPrinterName

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

pShareName

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

pPortName

Указатель на строку, завершающуюся значением NULL, которая определяет порты, используемые для передачи данных на принтер. Если принтер подключен к нескольким портам, имена каждого порта должны быть разделены запятыми (например, "LPT1:,LPT2:,LPT3:").

pDriverName

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

pComment

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

pLocation

Указатель на строку, завершающуюся значением NULL, которая указывает физическое расположение принтера (например, "Bldg. 38, Room 1164").

pDevMode

Указатель на структуру DEVMODE , которая определяет данные принтера по умолчанию, такие как ориентация бумаги и разрешение.

pSepFile

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

pPrintProcessor

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

pDatatype

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

pParameters

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

pSecurityDescriptor

Указатель на структуру SECURITY_DESCRIPTOR принтера. Этот элемент может иметь значение NULL.

Атрибуты

Атрибуты принтера. Этот элемент может быть любым разумным сочетанием следующих значений.

Значение Значение
PRINTER_ATTRIBUTE_DIRECT Задание отправляется непосредственно на принтер (оно не перепечатывано).
PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST Если параметр set и printer настроен для печати во время печати, все задания, которые завершили spooling, планируются для печати до заданий, которые еще не завершили spooling.
PRINTER_ATTRIBUTE_ENABLE_DEVQ Если задано значение , вызывается DevQueryPrint . DevQueryPrint может завершиться ошибкой, если параметры документа и принтера не совпадают. Установка этого флага приводит к тому, что несовпадение документов будет храниться в очереди.
PRINTER_ATTRIBUTE_HIDDEN Зарезервировано.
PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS Если этот параметр задан, задания сохраняются после их печати. Если не задано, задания удаляются.
PRINTER_ATTRIBUTE_LOCAL Принтер — это локальный принтер.
PRINTER_ATTRIBUTE_NETWORK Принтер — это подключение к сетевому принтеру.
PRINTER_ATTRIBUTE_PUBLISHED Указывает, опубликован ли принтер в службе каталогов.
PRINTER_ATTRIBUTE_QUEUED Если задано значение , принтер выполняет очередь и начинает печать после того, как будет запечатлена последняя страница. Если значение не задано и PRINTER_ATTRIBUTE_DIRECT не задано, принтер копулирует и печатает во время печати.
PRINTER_ATTRIBUTE_RAW_ONLY Указывает, что можно создавать только задания печати необработанных типов данных.
PRINTER_ATTRIBUTE_SHARED Принтер является общим.

В Windows XP и более поздних версиях Windows также можно использовать следующее значение.

Значение Значение
PRINTER_ATTRIBUTE_FAX Если этот параметр задан, принтер является факсимильным принтером. Это можно задать только с помощью AddPrinter, но его можно получить с помощью EnumPrinters и GetPrinter.

В Windows Vista и более поздних версиях Windows также можно использовать следующие значения.

Значение Значение
PRINTER_ATTRIBUTE_FRIENDLY_NAME Компьютер подключен к этому принтеру и присвоил ему понятное имя.
PRINTER_ATTRIBUTE_MACHINE Принтер — это подключение для каждого компьютера.
PRINTER_ATTRIBUTE_PUSHED_USER Принтер был установлен с помощью пользовательской политики push-подключений к принтерам.
PRINTER_ATTRIBUTE_PUSHED_MACHINE Принтер был установлен с помощью политики компьютеров Push Printer Connections ( Принудительное подключение к принтеру).

В Windows Server 2003 также можно использовать следующее значение.

Значение Значение
PRINTER_ATTRIBUTE_TS Указывает, что принтер в настоящее время подключен через сервер терминалов.

Приоритет

Значение приоритета, которое диспетчер очереди очереди очереди использует для маршрутизации заданий печати.

DefaultPriority

Значение приоритета по умолчанию, назначенное каждому заданию печати.

StartTime

Самое раннее время печати задания. Это значение выражается в минутах, прошедших с 12:00 по Гринвичу (среднее время по Гринвичу).

UntilTime

Последнее время печати задания принтером. Это значение выражается в минутах, прошедших с 12:00 GMT (среднее по Гринвичу).

Состояние

Состояние принтера. Этот член может быть любым разумным сочетанием следующих значений.

Значение Значение
PRINTER_STATUS_BUSY Принтер занят.
PRINTER_STATUS_DOOR_OPEN Дверь принтера открыта.
PRINTER_STATUS_ERROR Принтер находится в состоянии ошибки.
PRINTER_STATUS_INITIALIZING Идет инициализация принтера.
PRINTER_STATUS_IO_ACTIVE Принтер находится в активном состоянии ввода-вывода
PRINTER_STATUS_MANUAL_FEED Принтер находится в состоянии канала вручную.
PRINTER_STATUS_NO_TONER В принтере закончился тонер.
PRINTER_STATUS_NOT_AVAILABLE Принтер недоступен для печати.
PRINTER_STATUS_OFFLINE Принтер отключен.
PRINTER_STATUS_OUT_OF_MEMORY На принтере не хватает памяти.
PRINTER_STATUS_OUTPUT_BIN_FULL Выходной лоток принтера полностью заполнен.
PRINTER_STATUS_PAGE_PUNT Принтер не может распечатать текущую страницу.
PRINTER_STATUS_PAPER_JAM Бумага застряла в принтере
PRINTER_STATUS_PAPER_OUT Принтер не имеет бумаги.
PRINTER_STATUS_PAPER_PROBLEM На принтере возникла проблема с бумагой.
PRINTER_STATUS_PAUSED Принтер приостановлен.
PRINTER_STATUS_PENDING_DELETION Принтер удаляется.
PRINTER_STATUS_POWER_SAVE Принтер находится в режиме экономии энергии.
PRINTER_STATUS_PRINTING Принтер выполняет печать.
PRINTER_STATUS_PROCESSING Принтер обрабатывает задание печати.
PRINTER_STATUS_SERVER_UNKNOWN Состояние принтера неизвестно.
PRINTER_STATUS_TONER_LOW Принтер имеет низкий уровень тонера.
PRINTER_STATUS_USER_INTERVENTION Принтер имеет ошибку, которая требует от пользователя выполнить что-то.
PRINTER_STATUS_WAITING Принтер ожидает.
PRINTER_STATUS_WARMING_UP Идет прогрев принтера.

cJobs

Количество заданий печати, помещенных в очередь для принтера.

AveragePPM

Среднее количество страниц в минуту, напечатанных на принтере.

Требования

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

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

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

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

DEVMODE

EnumPrinters

PRINTER_INFO_1

PRINTER_INFO_3

PRINTER_INFO_4

SECURITY_DESCRIPTOR