Prev Next

PRINTER_NOTIFY_INFO_DATA info  Overview  Group

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; 

 

Members

Type
Indicates the type of information provided. This member can be one of the following values:

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.

Field
Indicates the field that changed. For a list of possible values, see the following Remarks section.
Reserved
Reserved.
Id
Indicates the job identifier if the Type member specifies JOB_NOTIFY_TYPE. If the Type member specfies PRINTER_NOTIFY_TYPE, this member is undefined.
NotifyData
A union of data information based on the Type and Field members. For a description of the type of data associated with each field, see the following Remarks section.

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

Points to a buffer that contains the field’s current data.

Remarks

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_ATTRIBUTE_DIRECT
PRINTER_ATTRIBUTE_DEFAULT
PRINTER_ATTRIBUTE_SHARED

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.

See Also

DEVMODE, FindNextPrinterChangeNotification, JOB_INFO_2, PRINTER_INFO_2, PRINTER_NOTIFY_INFO, SECURITY_DESCRIPTOR, SYSTEMTIME