структура 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 [только классические приложения] |
Заголовок |
|
Имя в кодировке Юникод и ANSI |
_PRINTER_INFO_2W (Юникод) и _PRINTER_INFO_2A (ANSI) |