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 是指向以 null 结尾的字符串的指针,其中包含新的注释字符串,该字符串通常是打印机的简短说明。 | 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_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] 指定打印机打印作业的最新时间。 (此值以自 A.M.) 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] 指定可打印作业的最早时间。 (此值以自 A.M.) 12:00 以来的分钟数指定 | 0x11 |
JOB_NOTIFY_FIELD_UNTIL_TIME | adwData [0] 指定可打印作业的最近时间。 (此值以自 A.M.) 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 [仅限桌面应用] |
标头 |
|