2.5.7.8.2 PrintQueue1 Data Structure

The data field (see section 2.5.2) in the response to NetPrintQGetInfo and NetPrintQEnum commands MUST consist of the following structure.


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

PrintQName (13 bytes)

...

...

...

Pad1

Priority

StartTime

UntilTime

SeparatorPageFilenameLow

SeparatorPageFilenameHigh

PrintProcessorDllNameLow

PrintProcessorDllNameHigh

PrintDestinationsNameLow

PrintDestinationsNameHigh

PrintParameterStringLow

PrintParameterStringHigh

CommentStringLow

CommentStringHigh

PrintQStatus

PrintJobCount

PrintQName (13 bytes): This field MUST contain an ASCII null-terminated name of the print queue that MUST be padded to 13 bytes with ASCII null characters (0x00).

Pad1 (1 byte): A pad byte. Can be set to any arbitrary value when sent and MUST be ignored on receipt.

Priority (2 bytes): A 16-bit unsigned integer that specifies the priority of the print queue. Valid values are 0x0001 (highest) to 0x0009 (lowest). When two printer queues print to the same printer, the print jobs from the queue with the higher priority print first.

StartTime (2 bytes): A 16-bit unsigned integer that represents the print queue start time (in minutes since midnight) in the universal time of the server. A print queue accepts jobs, but only prints the jobs after the StartTime has elapsed. The StartTime field MUST be less than 1,440 minutes.

UntilTime (2 bytes): A 16-bit unsigned integer that represents the print queue stop time. After this time, jobs are accepted but are not printed. This value is expressed (in minutes since midnight) in the universal time of the server. The UntilTime field MUST be less than 1,440 minutes.

SeparatorPageFilenameLow (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 local file name that contains the printer separator page. If no printer separator page is configured, this value MUST be an empty string.

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

This file name is for informational purposes only; clients MUST NOT take any action other than to display or log it.

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

PrintProcessorDllNameLow (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 file name of the DLL that contains the print processor for this print queue.

Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the PrintProcessorDllNameLow value and then use that result as the offset within the response. This file name is for informational purposes only; a client MUST NOT take any action other than to display or log it.

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

PrintDestinationsNameLow (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 lists the print destinations for this print queue. Each print destination is separated by an ASCII space character (0x20).

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

This field is for informational purposes only; a client MUST NOT take any action other than to display or log it.

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

PrintParameterStringLow (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 parameters for this print queue.

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.

This field is for informational purposes only; a client MUST NOT take any action other than to display or log it.

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

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 describes this print queue.

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.

PrintQStatus (2 bytes): An enumeration that specifies the status of the print queue. The following values MUST be used for the PrintQStatus field.

Value

Meaning

PRQ_ACTIVE

0x0000

The queue is accepting print jobs.

PRQ_PAUSE

0x0001

The queue is paused.

PRQ_ERROR

0x0002

The queue is in an error state.

PRQ_PENDING

0x0003

The queue is marked for deletion.

PrintJobCount (2 bytes): A 16-bit unsigned integer that represents the number of PrintJobInfo1 structures that follow the PrintQueue1 structure.