typedef struct _queuestruct {
WORD pqName; /* queue name (offset) */
WORD pqComment; /* queue comment string (offset) */
WORD pqStatus; /* queue status */
WORD pqJobcount; /* number of JOBSTRUCTs following */
WORD pqPrinters; /* number of printers for queue */
/* (zero if not available) */
} QUEUESTRUCT;
typedef QUEUESTRUCT FAR * LPQUEUESTRUCT;
The QUEUESTRUCT structure contains information about a print queue.
pqName
Specifies the offset (relative to the beginning of the structure) to the null-terminated queue name.
pqComment
Specifies the offset (relative to the beginning of the structure) to the null-terminated queue comment string.
pqStatus
Specifies the queue status. It can one of the following values.
Value | Meaning |
WNPRQ_ACTIVE (0x0000) | Queue is active. |
WNPRQ_PAUSE (0x0001) | Queue is paused. |
WNPRQ_ERROR (0x0002) | Network error. |
WNPRQ_PENDING (0x0003) | Queue has been deleted. The queue remains until the current jobs are done, but no new jobs may be started. |
WNPRQ_PROBLEM (0x0004) | All printers are stopped. |
pqJobcount
Specifies the number of JOBSTRUCT structures immediately following the QUEUESTRUCT structure.
pqPrinters
Specifies the number of printers for the queue. It is zero if not available.
For more information about the mechanism that stores the string referenced by QUEUESTRUCT, see Section 5.2.6, “Passing Buffers,” earlier in this chapter. For example, assuming that lpQS is the LPQUEUESTRUCT returned by WNetLockQueueData, the expression
(LPSTR) lpQS + lpQS -> pqComment
points to the queue comment. All offsets are relative to the beginning of the buffer, not the beginning of an individual JOBSTRUCT structure.