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;
工会{
DWORD adwData[2];
struct {
DWORD cbBuf;
LPVOID pBuf;
} Data;
} NotifyData;
} PRINTER_NOTIFY_INFO_DATA;
会员
类型
指示提供的信息类型。该成员可以是以下值之一:
值 | 含义 |
PRINTER_NOTIFY_TYPE | 表示领域成员指定了PRINTER_NOTIFY_FIELD_ *常量。 |
JOB_NOTIFY_TYPE | 表示领域成员指定了JOB_NOTIFY_FIELD_ *常量。 |
领域
表示更改的字段。有关可能值的列表,请参阅以下备注部分。
保留的
保留。
Id
如果类型成员指定了JOB_NOTIFY_TYPE,则指示作业标识符。如果类型成员指定PRINTER_NOTIFY_TYPE,则此成员未定义。
NotifyData
基于类型和领域成员的数据信息联合。有关与每个字段相关联的数据类型的描述,请参阅以下备注部分。
NotifyData联盟可以是以下成员之一:
会员 | 含义 |
adwData | 两个DWORD值的数组。对于仅使用单个DWORD的信息字段,数据位于adwData [0] |
数据 | 以下成员包含在数据结构中: |
会员 | 含义 |
cbBuf | 指示PBUFlb指向的缓冲区的大小(以字节为单位)。 |
PBUFlb | 指向包含字段当前数据的缓冲区。 |
备注
如果类型成员指定了PRINTER_NOTIFY_TYPE,则领域成员可以是以下值之一:
领域 | 数据类型 | ||||
PRINTER_NOTIFY_FIELD_PRINTER_NAME | |||||
PBUFlb指向包含打印机名称的以null结尾的字符串。 | |||||
PRINTER_NOTIFY_FIELD_SHARE_NAME | |||||
PBUFlb指向一个以空字符结尾的字符串,用于标识打印机的共享点。 | |||||
PRINTER_NOTIFY_FIELD_DRIVER_NAME | |||||
PBUFlb指向一个以空字符结尾的字符串,其中包含打印机驱动程序的名称。 | |||||
PRINTER_NOTIFY_FIELD_COMMENT | |||||
PBUFlb指向包含新注释字符串的以null结尾的字符串,通常是打印机的简要说明。 | |||||
PRINTER_NOTIFY_FIELD_LOCATION | |||||
PBUFlb指向包含打印机新物理位置的空终止字符串(例如“Bldg。38,Room 1164“)。 | |||||
PRINTER_NOTIFY_FIELD_DEVMODE | |||||
PBUFlb指向定义默认打印机数据(例如纸张方向和分辨率)的DEVMODE结构。 | |||||
PRINTER_NOTIFY_FIELD_SEPFILE | |||||
PBUFlb指向一个空值终止的字符串,指定用于创建分隔页的文件的名称。此页面用于分离发送到打印机的打印作业。 | |||||
PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR | |||||
PBUFlb指向一个空值终止的字符串,指定打印机使用的打印处理器的名称。 | |||||
PRINTER_NOTIFY_FIELD_PARAMETERS | |||||
PBUFlb指向指定默认打印处理器参数的以空值终止的字符串。 | |||||
PRINTER_NOTIFY_FIELD_DATATYPE | |||||
PBUFlb指向一个空值终止的字符串,指定用于记录打印作业的数据类型。 | |||||
PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR | |||||
PBUFlb指向打印机的SECURITY_DESCRIPTOR结构。如果没有安全描述符,指针可能为NULL。 | |||||
PRINTER_NOTIFY_FIELD_ATTRIBUTES | |||||
adwData [0]指定打印机属性,可以是以下值之一: PRINTER_ATTRIBUTE_QUEUED | |||||
PRINTER_NOTIFY_FIELD_PRIORITY | |||||
adwData [0]指定假脱机程序用于路由打印作业的优先级值。 | |||||
PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY | |||||
adwData [0]指定分配给每个打印作业的默认优先级值。 | |||||
PRINTER_NOTIFY_FIELD_START_TIME | |||||
adwData [0]指定打印机打印作业的最早时间。(此值以指定的时间从零开始) | |||||
PRINTER_NOTIFY_FIELD_UNTIL_TIME | |||||
adwData [0]指定打印机打印作业的最新时间。(此值以指定的时间从零开始) | |||||
PRINTER_NOTIFY_FIELD_STATUS | |||||
adwData [0]指定打印机状态。有关可能值的列表,请参阅PRINTER_INFO_2结构。 | |||||
PRINTER_NOTIFY_FIELD_CJOBS | |||||
adwData [0]指定打印机排队的打印作业数。 | |||||
PRINTER_NOTIFY_FIELD_AVERAGE_PPM | |||||
adwData [0]指定打印机上打印的每分钟平均页数。 |
如果类型成员指定JOB_NOTIFY_TYPE,则领域成员可以是以下值之一:
领域 | 数据类型 | ||||
JOB_NOTIFY_FIELD_PRINTER_NAME | |||||
PBUFlb指向一个以null结尾的字符串,其中包含作业被假脱机的打印机的名称。 | |||||
JOB_NOTIFY_FIELD_MACHINE_NAME | |||||
PBUFlb指向一个空值终止的字符串,指定创建打印作业的计算机的名称。 | |||||
JOB_NOTIFY_FIELD_PORT_NAME | |||||
PBUFlb指向一个空值终止的字符串,用于标识用于向打印机传输数据的端口。如果打印机连接到多个端口,端口名称用逗号分隔(例如,“LPT1:,LPT2:,LPT3:”)。 | |||||
JOB_NOTIFY_FIELD_USER_NAME | |||||
PBUFlb指向一个以null结尾的字符串,指定发送打印作业的用户的名称。 | |||||
JOB_NOTIFY_FIELD_NOTIFY_NAME | |||||
PBUFlb指向一个空值终止的字符串,指定在打印作业时应通知的用户的名称,或打印作业时发生错误的用户的名称。 | |||||
JOB_NOTIFY_FIELD_DATATYPE | |||||
PBUFlb指向一个空值终止的字符串,指定用于记录打印作业的数据类型。 | |||||
JOB_NOTIFY_FIELD_PRINT_PROCESSOR | |||||
PBUFlb指向一个空值终止的字符串,指定要用于打印作业的打印处理器的名称。 | |||||
JOB_NOTIFY_FIELD_PARAMETERS | |||||
PBUFlb指向指定打印处理器参数的以空值终止的字符串。 | |||||
JOB_NOTIFY_FIELD_DRIVER_NAME | |||||
PBUFlb指向一个空值终止的字符串,指定应用于处理打印作业的打印机驱动程序的名称。 | |||||
JOB_NOTIFY_FIELD_DEVMODE | |||||
PBUFlb指向包含打印机驱动程序的设备初始化和环境数据的DEVMODE结构。 | |||||
JOB_NOTIFY_FIELD_STATUS | |||||
adwData [0]指定作业状态。有关可能值的列表,请参阅JOB_INFO_2结构。 | |||||
JOB_NOTIFY_FIELD_STATUS_STRING | |||||
PBUFlb指向一个空值终止的字符串,用于指定打印作业的状态。 | |||||
JOB_NOTIFY_FIELD_DOCUMENT | |||||
PBUFlb指向一个空值终止的字符串,指定打印作业的名称(例如,“MS-WORD:Review.doc”)。 | |||||
JOB_NOTIFY_FIELD_PRIORITY | |||||
adwData [0]指定作业优先级。 | |||||
JOB_NOTIFY_FIELD_POSITION | |||||
adwData [0]指定作业在打印队列中的位置。 | |||||
JOB_NOTIFY_FIELD_SUBMITTED | |||||
PBUFlb指向SYSTEMTIME结构,指定作业提交的时间。 | |||||
JOB_NOTIFY_FIELD_START_TIME | |||||
adwData [0]指定作业可以打印的最早时间。(此值以指定的时间从零开始) | |||||
JOB_NOTIFY_FIELD_UNTIL_TIME | |||||
adwData [0]指定作业可以打印的最新时间。(此值以指定的时间从零开始) | |||||
JOB_NOTIFY_FIELD_TIME | |||||
adwData [0]指定自作业开始打印以来经过的总时间(以秒为单位)。 | |||||
JOB_NOTIFY_FIELD_TOTAL_PAGES | |||||
adwData [0]指定作业的大小(以页为单位)。 | |||||
JOB_NOTIFY_FIELD_PAGES_PRINTED | |||||
adwData [0]指定已打印的页数。 | |||||
JOB_NOTIFY_FIELD_TOTAL_BYTES | |||||
adwData [0]指定作业的大小(以字节为单位)。 | |||||
JOB_NOTIFY_FIELD_BYTES_PRINTED | |||||
adwData [0]指定在此作业上打印的字节数。对于此字段,当字节发送到打印机时,更改通知对象发出信号。 |
也可以看看
DEVMODE, FindNextPrinterChangeNotification, JOB_INFO_2, PRINTER_INFO_2, PRINTER_NOTIFY_INFO, SECURITY_DESCRIPTOR, SYSTEMTIME