The PRINTER_NOTIFY_INFO_DATA structure identifies a job or printer information field and provides the current data for that field.
The FindNextPrinterChangeNotification function returns a PRINTER_NOTIFY_INFO structure, which contains an array of PRINTER_NOTIFY_INFO_DATA structures.
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;
Value | Meaning |
---|---|
PRINTER_NOTIFY_TYPE | Indicates that the Field member specifies a PRINTER_NOTIFY_FIELD_* constant. |
JOB_NOTIFY_TYPE | Indicates that the Field member specifies a JOB_NOTIFY_FIELD_* constant. |
The NotifyData union can be one of the following members:
Member | Meaning |
---|---|
adwData | An array of two DWORD values. For information fields that use only a single DWORD, the data is in adwData[0] |
Data | The following members are contained in the Data structure: |
Member | Meaning |
---|---|
cbBuf | Indicates the size, in bytes, of the buffer pointed to by pBuf. |
pBuf | Pointer to a buffer that contains the field's current data. |
If the Type member specifies PRINTER_NOTIFY_TYPE, the Field member can be one of the following values:
Field | Type of data |
---|---|
PRINTER_NOTIFY_FIELD_PRINTER_NAME | |
pBuf points to a null-terminated string containing the name of the printer. | |
PRINTER_NOTIFY_FIELD_SHARE_NAME | |
pBuf points to a null-terminated string that identifies the sharepoint for the printer. | |
PRINTER_NOTIFY_FIELD_DRIVER_NAME | |
pBuf points to a null-terminated string containing the name of the printer's driver. | |
PRINTER_NOTIFY_FIELD_COMMENT | |
pBuf points to a null-terminated string containing the new comment string, which is typically a brief description of the printer. | |
PRINTER_NOTIFY_FIELD_LOCATION | |
pBuf points to a null-terminated string containing the new physical location of the printer (for example, "Bldg. 38, Room 1164"). | |
PRINTER_NOTIFY_FIELD_DEVMODE | |
pBuf points to a DEVMODE structure that defines default printer data such as the paper orientation and the resolution. | |
PRINTER_NOTIFY_FIELD_SEPFILE | |
pBuf points to a null-terminated string that specifies the name of the file used to create the separator page. This page is used to separate print jobs sent to the printer. | |
PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR | |
pBuf points to a null-terminated string that specifies the name of the print processor used by the printer. | |
PRINTER_NOTIFY_FIELD_PARAMETERS | |
pBuf points to a null-terminated string that specifies the default print-processor parameters. | |
PRINTER_NOTIFY_FIELD_DATATYPE | |
pBuf points to a null-terminated string that specifies the data type used to record the print job. | |
PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR | |
pBuf points to a SECURITY_DESCRIPTOR structure for the printer. The pointer may be NULL if there is no security descriptor. | |
PRINTER_NOTIFY_FIELD_ATTRIBUTES | |
adwData[0] specifies the printer attributes, which can be one of the following values:
PRINTER_ATTRIBUTE_QUEUED |
|
PRINTER_NOTIFY_FIELD_PRIORITY | |
adwData[0] specifies a priority value that the spooler uses to route print jobs. | |
PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY | |
adwData[0] specifies the default priority value assigned to each print job. | |
PRINTER_NOTIFY_FIELD_START_TIME | |
adwData[0] specifies the earliest time at which the printer will print a job. (This value is specified in minutes elapsed since 12:00 A.M.) | |
PRINTER_NOTIFY_FIELD_UNTIL_TIME | |
adwData[0] specifies the latest time at which the printer will print a job. (This value is specified in minutes elapsed since 12:00 A.M.) | |
PRINTER_NOTIFY_FIELD_STATUS | |
adwData[0] specifies the printer status. For a list of possible values, see the PRINTER_INFO_2 structure. | |
PRINTER_NOTIFY_FIELD_CJOBS | |
adwData[0] specifies the number of print jobs that have been queued for the printer. | |
PRINTER_NOTIFY_FIELD_AVERAGE_PPM | |
adwData[0] specifies the average number of pages per minute that have been printed on the printer. |
If the Type member specifies JOB_NOTIFY_TYPE, the Field member can be one of the following values:
Field | Type of data |
---|---|
JOB_NOTIFY_FIELD_PRINTER_NAME | |
pBuf points to a null-terminated string containing the name of the printer for which the job is spooled. | |
JOB_NOTIFY_FIELD_MACHINE_NAME | |
pBuf points to a null-terminated string that specifies the name of the machine that created the print job. | |
JOB_NOTIFY_FIELD_PORT_NAME | |
pBuf points to a null-terminated string that identifies the port(s) used to transmit data to the printer. If a printer is connected to more than one port, the names of the ports are separated by commas (for example, "LPT1:,LPT2:,LPT3:"). | |
JOB_NOTIFY_FIELD_USER_NAME | |
pBuf points to a null-terminated string that specifies the name of the user who sent the print job. | |
JOB_NOTIFY_FIELD_NOTIFY_NAME | |
pBuf points to a null-terminated string that specifies the name of the user who should be notified when the job has been printed or when an error occurs while printing the job. | |
JOB_NOTIFY_FIELD_DATATYPE | |
pBuf points to a null-terminated string that specifies the type of data used to record the print job. | |
JOB_NOTIFY_FIELD_PRINT_PROCESSOR | |
pBuf points to a null-terminated string that specifies the name of the print processor to be used to print the job. | |
JOB_NOTIFY_FIELD_PARAMETERS | |
pBuf points to a null-terminated string that specifies print-processor parameters. | |
JOB_NOTIFY_FIELD_DRIVER_NAME | |
pBuf points to a null-terminated string that specifies the name of the printer driver that should be used to process the print job. | |
JOB_NOTIFY_FIELD_DEVMODE | |
pBuf points to a DEVMODE structure that contains device-initialization and environment data for the printer driver. | |
JOB_NOTIFY_FIELD_STATUS | |
adwData[0] specifies the job status. For a list of possible values, see the JOB_INFO_2 structure. | |
JOB_NOTIFY_FIELD_STATUS_STRING | |
pBuf points to a null-terminated string that specifies the status of the print job. | |
JOB_NOTIFY_FIELD_DOCUMENT | |
pBuf points to a null-terminated string that specifies the name of the print job (for example, "MS-WORD: Review.doc"). | |
JOB_NOTIFY_FIELD_PRIORITY | |
adwData[0] specifies the job priority. | |
JOB_NOTIFY_FIELD_POSITION | |
adwData[0] specifies the job's position in the print queue. | |
JOB_NOTIFY_FIELD_SUBMITTED | |
pBuf points to a SYSTEMTIME structure that specifies the time when the job was submitted. | |
JOB_NOTIFY_FIELD_START_TIME | |
adwData[0] specifies the earliest time that the job can be printed. (This value is specified in minutes elapsed since 12:00 A.M.) | |
JOB_NOTIFY_FIELD_UNTIL_TIME | |
adwData[0] specifies the the latest time that the job can be printed. (This value is specified in minutes elapsed since 12:00 A.M.) | |
JOB_NOTIFY_FIELD_TIME | |
adwData[0] specifies the total time, in seconds, that has elapsed since the job began printing. | |
JOB_NOTIFY_FIELD_TOTAL_PAGES | |
adwData[0] specifies the size, in pages, of the job. | |
JOB_NOTIFY_FIELD_PAGES_PRINTED | |
adwData[0] specifies the number of pages that have printed. | |
JOB_NOTIFY_FIELD_TOTAL_BYTES | |
adwData[0] specifies the size, in bytes, of the job. | |
JOB_NOTIFY_FIELD_BYTES_PRINTED | |
adwData[0] specifies the number of bytes that have been printed on this job. For this field, the change notification object is signaled when bytes are sent to the printer. |
Windows NT: Requires version 3.51 or later.
Windows: Unsupported.
Windows CE: Unsupported.
Header: Declared in winspool.h.
Printing and Print Spooler Overview, Printing and Print Spooler Structures, DEVMODE, FindNextPrinterChangeNotification, JOB_INFO_2, PRINTER_INFO_2, PRINTER_NOTIFY_INFO, SECURITY_DESCRIPTOR, SYSTEMTIME