структура PRINTER_NOTIFY_INFO_DATA

Структура PRINTER_NOTIFY_INFO_DATA определяет поле сведений о задании или принтере и предоставляет текущие данные для этого поля.

Функция FindNextPrinterChangeNotification возвращает PRINTER_NOTIFY_INFO структуру, которая содержит массив PRINTER_NOTIFY_INFO_DATA структур.

Синтаксис

typedef struct _PRINTER_NOTIFY_INFO_DATA {
  WORD  Type;
  WORD  Field;
  DWORD Reserved;
  DWORD Id;
  union {
    DWORD  adwData[2];
    struct {
      DWORD  cbBuf;
      LPVOID pBuf;
    } Data;
  } NotifyData;
} PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA; ;

Члены

Тип

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

Значение Значение
JOB_NOTIFY_TYPE
0x01
Указывает, что элемент Field задает константу JOB_NOTIFY_FIELD_*.
PRINTER_NOTIFY_TYPE
0x00
Указывает, что элемент Field задает константу PRINTER_NOTIFY_FIELD_*.

Поле

Указывает измененное поле. Список возможных значений см. в разделе Примечания.

Reserved

Зарезервировано.

Id

Указывает идентификатор задания, если элемент Type указывает JOB_NOTIFY_TYPE. Если элемент Type указывает PRINTER_NOTIFY_TYPE, этот элемент не определен.

NotifyData

Объединение данных на основе элементов Type и Field . Описание типа данных, связанных с каждым полем, см. в разделе Примечания.

adwData[2]

Массив из двух значений DWORD . Для информационных полей, использующих только один параметр DWORD, данные содержатся в adwData [0].

Данные

cbBuf

Указывает размер (в байтах) буфера, на который указывает pBuf.

pBuf

Указатель на буфер, содержащий текущие данные поля.

Комментарии

Если элемент Type указывает PRINTER_NOTIFY_TYPE, то элемент Field может иметь одно из следующих значений.

Поле Тип данных Значение
PRINTER_NOTIFY_FIELD_SERVER_NAME Не поддерживается. 0x00
PRINTER_NOTIFY_FIELD_PRINTER_NAME pBuf — это указатель на строку, завершающуюся значением NULL, содержащую имя принтера. 0x01
PRINTER_NOTIFY_FIELD_SHARE_NAME pBuf — это указатель на строку, завершающуюся значением NULL, которая определяет точку общего доступа для принтера. 0x02
PRINTER_NOTIFY_FIELD_PORT_NAME pBuf — это указатель на строку, завершающуюся значением NULL, содержащую имя порта, на который будут выводиться задания печати. Если выбран параметр "Пул принтеров", это список портов, разделенных запятыми. 0x03
PRINTER_NOTIFY_FIELD_DRIVER_NAME pBuf — это указатель на строку, завершающуюся null, которая содержит имя драйвера принтера. 0x04
PRINTER_NOTIFY_FIELD_COMMENT pBuf — это указатель на строку с пустым завершением, содержащую новую строку комментария, которая обычно является кратким описанием принтера. 0x05
PRINTER_NOTIFY_FIELD_LOCATION pBuf — это указатель на строку, завершающуюся null, которая содержит новое физическое расположение принтера (например, "Bldg. 38, Room 1164"). 0x06
PRINTER_NOTIFY_FIELD_DEVMODE pBuf — это указатель на структуру DEVMODE , которая определяет данные принтера по умолчанию, такие как ориентация бумаги и разрешение. 0x07
PRINTER_NOTIFY_FIELD_SEPFILE pBuf — это указатель на строку, завершающуюся значением NULL, которая указывает имя файла, используемого для создания страницы разделителя. Эта страница используется для разделения заданий печати, отправляемых на принтер. 0x08
PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR pBuf — это указатель на строку, завершающуюся значением NULL, которая указывает имя процессора печати, используемого принтером. 0x09
PRINTER_NOTIFY_FIELD_PARAMETERS pBuf — это указатель на строку, завершающуюся значением NULL, которая задает параметры обработчика печати по умолчанию. 0x0A
PRINTER_NOTIFY_FIELD_DATATYPE pBuf — это указатель на строку, завершающуюся значением NULL, которая указывает тип данных, используемый для записи задания печати. 0x0B
PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR pBuf — это указатель на структуру SECURITY_DESCRIPTOR для принтера. Если нет дескриптора безопасности, указатель может иметь значение NULL . 0x0C
PRINTER_NOTIFY_FIELD_ATTRIBUTES adwData [0] указывает атрибуты принтера, которые могут иметь одно из следующих значений:
PRINTER_ATTRIBUTE_QUEUED
PRINTER_ATTRIBUTE_DIRECT
PRINTER_ATTRIBUTE_DEFAULT
PRINTER_ATTRIBUTE_SHARED
0x0D
PRINTER_NOTIFY_FIELD_PRIORITY adwData [0] задает значение приоритета, которое диспетчер очереди очереди печати использует для маршрутизации заданий печати. 0x0E
PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY adwData [0] задает значение приоритета по умолчанию, назначенное каждому заданию печати. 0x0F
PRINTER_NOTIFY_FIELD_START_TIME adwData [0] указывает самое раннее время печати задания принтером. (Это значение указывается в минутах, прошедших с 12:00. 0x10
PRINTER_NOTIFY_FIELD_UNTIL_TIME adwData [0] указывает последнее время печати задания принтером. (Это значение указывается в минутах, прошедших с 12:00) 0x11
PRINTER_NOTIFY_FIELD_STATUS adwData [0] указывает состояние принтера. Список возможных значений см . в PRINTER_INFO_2 структуре. 0x12
PRINTER_NOTIFY_FIELD_STATUS_STRING Не поддерживается. 0x13
PRINTER_NOTIFY_FIELD_CJOBS adwData [0] указывает количество заданий печати, которые были поставлены в очередь для принтера. 0x14
PRINTER_NOTIFY_FIELD_AVERAGE_PPM adwData [0] указывает среднее количество страниц в минуту, напечатанных на принтере. 0x15
PRINTER_NOTIFY_FIELD_TOTAL_PAGES Не поддерживается. 0x16
PRINTER_NOTIFY_FIELD_PAGES_PRINTED Не поддерживается. 0x17
PRINTER_NOTIFY_FIELD_TOTAL_BYTES Не поддерживается. 0x18
PRINTER_NOTIFY_FIELD_BYTES_PRINTED Не поддерживается. 0x19
PRINTER_NOTIFY_FIELD_OBJECT_GUID Этот параметр устанавливается при изменении GUID объекта. 0x1A
PRINTER_NOTIFY_FIELD_FRIENDLY_NAME Этот параметр устанавливается, если подключение принтера переименовано. 0x1B

Если элемент Type указывает JOB_NOTIFY_TYPE, то элемент Field может иметь одно из следующих значений.

Поле Тип данных Значение
JOB_NOTIFY_FIELD_PRINTER_NAME pBuf — это указатель на строку, завершающуюся значением NULL, содержащую имя принтера, для которого выполняется копирование задания. 0x00
JOB_NOTIFY_FIELD_MACHINE_NAME pBuf — это указатель на строку, завершающуюся значением NULL, которая указывает имя компьютера, создавшего задание печати. 0x01
JOB_NOTIFY_FIELD_PORT_NAME pBuf — это указатель на строку, завершающуюся значением NULL, которая определяет порты, используемые для передачи данных на принтер. Если принтер подключен к нескольким портам, имена портов разделяются запятыми (например, "LPT1:,LPT2:,LPT3:"). 0x02
JOB_NOTIFY_FIELD_USER_NAME pBuf — это указатель на строку, завершающуюся значением NULL, которая указывает имя пользователя, отправившего задание печати. 0x03
JOB_NOTIFY_FIELD_NOTIFY_NAME pBuf — это указатель на строку, завершающуюся значением NULL, которая указывает имя пользователя, который должен быть уведомлен о печати задания или при возникновении ошибки при печати задания. 0x04
JOB_NOTIFY_FIELD_DATATYPE pBuf — это указатель на строку, завершающуюся значением NULL, которая указывает тип данных, используемых для записи задания печати. 0x05
JOB_NOTIFY_FIELD_PRINT_PROCESSOR pBuf — это указатель на строку, завершающуюся значением NULL, которая указывает имя обработчика печати, используемого для печати задания. 0x06
JOB_NOTIFY_FIELD_PARAMETERS pBuf — это указатель на строку, завершающуюся значением NULL, которая задает параметры процессора печати. 0x07
JOB_NOTIFY_FIELD_DRIVER_NAME pBuf — это указатель на строку, завершающуюся значением NULL, которая указывает имя драйвера принтера, который должен использоваться для обработки задания печати. 0x08
JOB_NOTIFY_FIELD_DEVMODE pBuf — это указатель на структуру DEVMODE , содержащую данные инициализации устройства и среды для драйвера принтера. 0x09
JOB_NOTIFY_FIELD_STATUS adwData [0] указывает состояние задания. Список возможных значений см . в JOB_INFO_2 структуре. 0x0A
JOB_NOTIFY_FIELD_STATUS_STRING pBuf — это указатель на строку, завершающуюся значением NULL, которая указывает состояние задания печати. 0x0B
JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR Не поддерживается. 0x0C
JOB_NOTIFY_FIELD_DOCUMENT pBuf — это указатель на строку, завершающуюся значением NULL, которая указывает имя задания печати (например, "MS-WORD: Review.doc"). 0x0D
JOB_NOTIFY_FIELD_PRIORITY adwData [0] указывает приоритет задания. 0x0E
JOB_NOTIFY_FIELD_POSITION adwData [0] указывает позицию задания в очереди печати. 0x0F
JOB_NOTIFY_FIELD_SUBMITTED pBuf — это указатель на структуру SYSTEMTIME , которая указывает время отправки задания. 0x10
JOB_NOTIFY_FIELD_START_TIME adwData [0] указывает самое раннее время печати задания. (Это значение указывается в минутах, прошедших с 12:00) 0x11
JOB_NOTIFY_FIELD_UNTIL_TIME adwData [0] указывает последнее время печати задания. (Это значение указывается в минутах, прошедших с 12:00) 0x12
JOB_NOTIFY_FIELD_TIME adwData [0] указывает общее время (в секундах), прошедшее с момента начала печати задания. 0x13
JOB_NOTIFY_FIELD_TOTAL_PAGES adwData [0] указывает размер задания в страницах. 0x14
JOB_NOTIFY_FIELD_PAGES_PRINTED adwData [0] указывает количество напечатанных страниц. 0x15
JOB_NOTIFY_FIELD_TOTAL_BYTES adwData [0] указывает размер задания в байтах. 0x16
JOB_NOTIFY_FIELD_BYTES_PRINTED adwData [0] указывает количество байтов, которые были напечатаны в этом задании. Для этого поля объект уведомления об изменении получает сигнал при отправке байтов на принтер. 0x17

Требования

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

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

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

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

DEVMODE

FindNextPrinterChangeNotification

JOB_INFO_2

PRINTER_INFO_2

PRINTER_NOTIFY_INFO

SECURITY_DESCRIPTOR

SYSTEMTIME