PrintQueueStatus Enumeration
Specifies the status of a print queue or its printer.
This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.
Assembly: System.Printing (in System.Printing.dll)
| Member name | Description | |
|---|---|---|
| Busy | The printer is busy. | |
| DoorOpen | A door on the printer is open. | |
| Error | The printer cannot print due to an error condition. | |
| Initializing | The printer is initializing. | |
| IOActive | The printer is exchanging data with the print server. | |
| ManualFeed | The printer is waiting for a user to place print media in the manual feed bin. | |
| None | Status is not specified. | |
| NotAvailable | Status information is unavailable. | |
| NoToner | The printer is out of toner. | |
| Offline | The printer is offline. | |
| OutOfMemory | The printer has no available memory. | |
| OutputBinFull | The printer's output bin is full. | |
| PagePunt | The printer is unable to print the current page. | |
| PaperJam | The paper in the printer is jammed. | |
| PaperOut | The printer does not have, or is out of, the type of paper needed for the current print job. | |
| PaperProblem | The paper in the printer is causing an unspecified error condition. | |
| Paused | The print queue is paused. | |
| PendingDeletion | The print queue is deleting a print job. | |
| PowerSave | The printer is in power save mode. | |
| Printing | The device is printing. | |
| Processing | The device is doing some kind of work, which need not be printing if the device is a combination printer, fax machine, and scanner. | |
| ServerUnknown | The printer is in an error state. | |
| TonerLow | Only a small amount of toner remains in the printer. | |
| UserIntervention | The printer requires user action to correct an error condition. | |
| Waiting | The printer is waiting for a print job. | |
| WarmingUp | The printer is warming up. |
Like the PrintQueue class, this enumeration handles the print queue and the physical printer (or device) as one unit. Some values represent the status of the physical device and others represent the status of the print queue program that is running on the print server.
Use this enumeration to provide values for the QueueStatus property of the PrintQueue class.
The following example shows how to use this enumeration as part of a survey all printers for possible error status.
' Check for possible trouble states of a printer using the flags of the QueueStatus property Friend Shared Sub SpotTroubleUsingQueueAttributes(ByRef statusReport As String, ByVal pq As PrintQueue) If (pq.QueueStatus And PrintQueueStatus.PaperProblem) = PrintQueueStatus.PaperProblem Then statusReport = statusReport & "Has a paper problem. " End If If (pq.QueueStatus And PrintQueueStatus.NoToner) = PrintQueueStatus.NoToner Then statusReport = statusReport & "Is out of toner. " End If If (pq.QueueStatus And PrintQueueStatus.DoorOpen) = PrintQueueStatus.DoorOpen Then statusReport = statusReport & "Has an open door. " End If If (pq.QueueStatus And PrintQueueStatus.Error) = PrintQueueStatus.Error Then statusReport = statusReport & "Is in an error state. " End If If (pq.QueueStatus And PrintQueueStatus.NotAvailable) = PrintQueueStatus.NotAvailable Then statusReport = statusReport & "Is not available. " End If If (pq.QueueStatus And PrintQueueStatus.Offline) = PrintQueueStatus.Offline Then statusReport = statusReport & "Is off line. " End If If (pq.QueueStatus And PrintQueueStatus.OutOfMemory) = PrintQueueStatus.OutOfMemory Then statusReport = statusReport & "Is out of memory. " End If If (pq.QueueStatus And PrintQueueStatus.PaperOut) = PrintQueueStatus.PaperOut Then statusReport = statusReport & "Is out of paper. " End If If (pq.QueueStatus And PrintQueueStatus.OutputBinFull) = PrintQueueStatus.OutputBinFull Then statusReport = statusReport & "Has a full output bin. " End If If (pq.QueueStatus And PrintQueueStatus.PaperJam) = PrintQueueStatus.PaperJam Then statusReport = statusReport & "Has a paper jam. " End If If (pq.QueueStatus And PrintQueueStatus.Paused) = PrintQueueStatus.Paused Then statusReport = statusReport & "Is paused. " End If If (pq.QueueStatus And PrintQueueStatus.TonerLow) = PrintQueueStatus.TonerLow Then statusReport = statusReport & "Is low on toner. " End If If (pq.QueueStatus And PrintQueueStatus.UserIntervention) = PrintQueueStatus.UserIntervention Then statusReport = statusReport & "Needs user intervention. " End If ' Check if queue is even available at this time of day ' The method below is defined in the complete example. ReportAvailabilityAtThisTime(statusReport, pq) End Sub
Available since 3.0