2.5.7.8.3 PrintQueue3 Data Structure

The data field in the response to a NetPrintQGetInfo command 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

PrintQueueNameLow

PrintQueueNameHigh

Priority

StartTime

UntilTime

Pad

SeparatorPageFilenameLow

SeparatorPageFilenameHigh

PrintProcessorDllNameLow

PrintProcessorDllNameHigh

PrintParameterStringLow

PrintParameterStringHigh

CommentStringLow

CommentStringHigh

PrintQStatus

PrintJobCount

PrintersLow

PrintersHigh

DriverNameLow

DriverNameHigh

PrintDriverDataLow

PrintDriverDataHigh

PrintQueueNameLow (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 contains the name of the print queue.

The Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the PrintQueueNameLow 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.

PrintQueueNameHigh (2 bytes): Unused. 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 value 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.

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

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 contains the file name that contains the printer separator page for the share.

Before using this value, the Remote Administration Protocol 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 field is for informational purposes only; a client 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 contains 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 field 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.

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.

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. Valid values are the as follows.

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 PrintJobInfo2 structures that follow the PrintQueue3 structure.

PrintersLow (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. The string is allocated in the response block (as specified in section 2.5.11) and specifies the port name to which the printer is connected. Before using this value, the Remote Administration Protocol client MUST subtract the Converter field, as specified in section 2.5.2, from the PrintersLow 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.

PrintersHigh (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) that specifies the default device driver for this queue.<39>

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.

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

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

PrintDriverDataLow (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 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 PrintDriverDataLow value and then use that result as the offset within the response. The first 2 bytes of this buffer contain a 16-bit integer that represents the length of the buffer.

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

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

This field is present if, and only if, the PrinterDriverDataLow field is also present.

For more information on the PrintQueue3 structure, see [CIFSPRINT] section 6.1.1 and [RYAN] page 409.