2.5.7.8.8 PrintJobInfo3 Data Structure

The PrintJobInfo3 structure is returned by the NetPrintJobGetInfo command and has the following fields.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

JobID

Priority

UserNameLow

UserNameHigh

JobPosition

JobStatus

TimeSubmitted

JobSize

CommentStringLow

CommentStringHigh

DocumentNameLow

DocumentNameHigh

NotifyNameLow

NotifyNameHigh

DataTypeLow

DataTypeHigh

PrintParameterStringLow

PrintParameterStringHigh

StatusStringLow

StatusStringHigh

QueueNameLow

QueueNameHigh

PrintProcessorNameLow

PrintProcessorNameHigh

PrintProcessorParamsLow

PrintProcessorParamsHigh

DriverNameLow

DriverNameHigh

DriverDataOffsetLow

DriverDataOffsetHigh

PrinterNameOffsetLow

PrinterNameOffsetHigh

JobID (2 bytes): A 16-bit unsigned integer that represents the job ID of the print job.

Priority (2 bytes): A 16-bit unsigned integer that represents the priority of the print job. If the value is 0x0000, the priority of the print queue determines the job priority. Other valid values are between 0x0001 and 0x0063, inclusive. When two printer queues print to the same printer, the print jobs from the higher priority queue print first.

UserNameLow (2 bytes): A 16-bit unsigned integer that represents the offset, in bytes, from the start of the response to a null-terminated ASCII string that is allocated in the response block (as specified in section 2.5.11) and that specifies the user name that submitted this print job.

Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the UserNameLow value, and then use that result as the offset within the response.

UserNameHigh (2 bytes):  Unused. Can be set to any arbitrary value on send, and MUST be ignored on receipt.

JobPosition (2 bytes): A 16-bit unsigned integer that specifies the position of this job in the queue. A value of 0x0001 indicates that this job is the next job to print.

JobStatus (2 bytes): An enumeration that specifies the status of this job in the print queue. Its value MUST be as specified in section 2.5.7.8.5.

TimeSubmitted (4 bytes): A 32-bit unsigned integer that specifies the time that the print job was submitted (in seconds since midnight January 1, 1970) in the local time zone of the server.

JobSize (4 bytes): A 32-bit unsigned integer that specifies the size, in bytes, of the print job.

CommentStringLow (2 bytes): A 16-bit unsigned integer that represents the offset, in bytes, from the start of the response to a null-terminated ASCII string that is allocated in the response block (as specified in section 2.5.11) and that MUST specify a string that describes the print job.

Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the CommentStringLow value, and then use that result as the offset within the response.

CommentStringHigh (2 bytes): Unused. Can be set to any arbitrary value when sent, and MUST be ignored on receipt.

DocumentNameLow (2 bytes): A 16-bit unsigned integer that represents the offset, in bytes, from the start of the response to a null-terminated ASCII string that is allocated in the response block (as specified in section 2.5.11) and that specifies the name of the document.

Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the DocumentNameLow value, and then use that result as the offset within the response.

DocumentNameHigh (2 bytes): Unused. Can be set to any arbitrary value when sent, and MUST be ignored on receipt.

NotifyNameLow (2 bytes): A 16-bit unsigned integer that represents the offset, in bytes, from the start of the response to a null-terminated ASCII string that is allocated in the response block (as specified in section 2.5.11) and that MUST specify a UserName that is notified when the status of this print job changes.

Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the NotifyNameLow value, and then use that result as the offset within the response.

NotifyNameHigh (2 bytes):  Unused. Can be set to any arbitrary value when sent, and MUST be ignored on receipt.

DataTypeLow (2 bytes): A 16-bit unsigned integer that represents the offset, in bytes, from the start of the response to a null-terminated ASCII string that is allocated in the response block (as specified in section 2.5.11). It uniquely identifies a format for print data that is supported by a print processor.

Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the DataTypeLow value, and then use that result as the offset within the response. For more information on the DataType field, see [RYAN] page 421.

DataTypeHigh (2 bytes): Unused. Can be set to any arbitrary value when sent, and MUST be ignored on receipt.

PrintParameterStringLow (2 bytes): A 16-bit integer representing the offset, in bytes, from the start of the response to a null-terminated ASCII string that is allocated in the response block (as specified in section 2.5.11) and that specifies the implementation-specific parameters for this print job.

Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the PrintParameterStringLow value, and then use that result as the offset within the response.

PrintParameterStringHigh (2 bytes): Unused. Can be set to any arbitrary value when sent, and MUST be ignored on receipt.

StatusStringLow (2 bytes): A 16-bit integer representing the offset, in bytes, from the start of the response to a null-terminated ASCII string that is allocated in the response block (as specified in section 2.5.11) and that specifies the status of this print job.

Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the StatusStringLow value, and then use that result as the offset within the response.

StatusStringHigh (2 bytes): Unused. Can be set to any arbitrary value when sent, and MUST be ignored on receipt.

QueueNameLow (2 bytes): A 16-bit integer representing the offset, in bytes, from the start of the response to a null-terminated ASCII string that is allocated in the response block (as specified in section 2.5.11) and that specifies the name of the printer that contains this print job.

Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the QueueNameLow value, and then use that result as the offset within the response.

QueueNameHigh (2 bytes): Unused. Can be set to any arbitrary value when sent, and MUST be ignored on receipt.

PrintProcessorNameLow (2 bytes): A 16-bit unsigned integer that represents the offset, in bytes, from the start of the response to a null-terminated ASCII string allocated in the response block (see section 2.5.11) that specifies the print processor for this print job.

Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the PrintProcessorNameLow value, and then use that result as the offset within the response.

PrintProcessorNameHigh (2 bytes): Unused. Can be set to any arbitrary value when sent, and MUST be ignored on receipt.

PrintProcessorParamsLow (2 bytes): 16-bit unsigned integer that represents the offset, in bytes, from the start of the response to a null-terminated ASCII string that is allocated in the response block (as specified in section 2.5.11) and that specifies the printer processor parameters.

Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the PrintProcessorParamsLow value, and then use that result as the offset within the response.

PrintProcessorParamsHigh (2 bytes): Unused. Can be set to any arbitrary value when sent, and MUST be ignored on receipt.

DriverNameLow (2 bytes): A 16-bit unsigned integer that represents the offset, in bytes, from the start of the response to a null-terminated ASCII string that is allocated in the response block (as specified in section 2.5.11) and that specifies the implementation-specific name of the driver for this print job.

Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the DriverNameLow value, and then use that result as the offset within the response.

DriverNameHigh (2 bytes): Unused. Can be set to any arbitrary value when sent, and MUST be ignored on receipt.

DriverDataOffsetLow (2 bytes): An optional 16-bit unsigned integer that represents the offset, in bytes, from the start of the response to a null-terminated ASCII string that is allocated in the response block (as specified in section 2.5.11) and that contains driver-specific binary data.

Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the DriverDataOffsetLow value, and then use that result as the offset within the response. The first two bytes of this buffer contain a 16-bit, unsigned integer that represents the length of the buffer.

This field is for informational purposes only; a client MUST NOT take any action other than to display or log it. If the DriverDataOffsetLow field and the DriverDataOffsetHigh field are both set to 0x0000, the DriverData field is not present.

DriverDataOffsetHigh (2 bytes): Unused. MUST be set to 0x0000 when sent, and MUST be ignored on receipt. The DriverDataOffsetHigh portion is not used because the total offset cannot be more than the maximum value of DriverDataOffsetLow due to packet length limitations.

PrinterNameOffsetLow (2 bytes): A 16-bit unsigned integer that represents the offset, in bytes, from the start of the response to a null-terminated ASCII string that is allocated in the response block (as specified in section 2.5.11) and that specifies the name of the printer associated with this print job.

Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the PrinterNameOffsetLow value, and then use that result as the offset within the response.

PrinterNameOffsetHigh (2 bytes): Unused. Can be set to any arbitrary value when sent, and MUST be ignored on receipt.