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.
Namespace: System.PrintingAssembly: System.Printing (in System.Printing.dll)
| Member name | Description | |
|---|---|---|
| PowerSave | The printer is in power save mode. | |
| ServerUnknown | The printer is in an error state. | |
| DoorOpen | A door on the printer is open. | |
| OutOfMemory | The printer has no available memory. | |
| UserIntervention | The printer requires user action to correct an error condition. | |
| PagePunt | The printer is unable to print the current page. | |
| NoToner | The printer is out of toner. | |
| TonerLow | Only a small amount of toner remains in the printer. | |
| WarmingUp | The printer is warming up. | |
| Initializing | The printer is initializing. | |
| 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. | |
| Waiting | The printer is waiting for a print job. | |
| NotAvailable | Status information is unavailable. | |
| OutputBinFull | The printer's output bin is full. | |
| Busy | The printer is busy. | |
| IOActive | The printer is exchanging data with the print server. | |
| Offline | The printer is offline. | |
| PaperProblem | The paper in the printer is causing an unspecified error condition. | |
| ManualFeed | The printer is waiting for a user to place print media in the manual feed bin. | |
| PaperOut | The printer does not have, or is out of, the type of paper needed for the current print job. | |
| PaperJam | The paper in the printer is jammed. | |
| PendingDeletion | The print queue is deleting a print job. | |
| Paused | The print queue is paused. | |
| None | Status is not specified. | |
| Printing | The device is printing. | |
| Error | The printer cannot print due to an error condition. |
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.
internal: // Check for possible trouble states of a printer using the flags of the QueueStatus property static void SpotTroubleUsingQueueAttributes (System::String^% statusReport, System::Printing::PrintQueue^ pq) { if ((pq->QueueStatus & PrintQueueStatus::PaperProblem) == PrintQueueStatus::PaperProblem) { statusReport = statusReport + "Has a paper problem. "; } if ((pq->QueueStatus & PrintQueueStatus::NoToner) == PrintQueueStatus::NoToner) { statusReport = statusReport + "Is out of toner. "; } if ((pq->QueueStatus & PrintQueueStatus::DoorOpen) == PrintQueueStatus::DoorOpen) { statusReport = statusReport + "Has an open door. "; } if ((pq->QueueStatus & PrintQueueStatus::Error) == PrintQueueStatus::Error) { statusReport = statusReport + "Is in an error state. "; } if ((pq->QueueStatus & PrintQueueStatus::NotAvailable) == PrintQueueStatus::NotAvailable) { statusReport = statusReport + "Is not available. "; } if ((pq->QueueStatus & PrintQueueStatus::Offline) == PrintQueueStatus::Offline) { statusReport = statusReport + "Is off line. "; } if ((pq->QueueStatus & PrintQueueStatus::OutOfMemory) == PrintQueueStatus::OutOfMemory) { statusReport = statusReport + "Is out of memory. "; } if ((pq->QueueStatus & PrintQueueStatus::PaperOut) == PrintQueueStatus::PaperOut) { statusReport = statusReport + "Is out of paper. "; } if ((pq->QueueStatus & PrintQueueStatus::OutputBinFull) == PrintQueueStatus::OutputBinFull) { statusReport = statusReport + "Has a full output bin. "; } if ((pq->QueueStatus & PrintQueueStatus::PaperJam) == PrintQueueStatus::PaperJam) { statusReport = statusReport + "Has a paper jam. "; } if ((pq->QueueStatus & PrintQueueStatus::Paused) == PrintQueueStatus::Paused) { statusReport = statusReport + "Is paused. "; } if ((pq->QueueStatus & PrintQueueStatus::TonerLow) == PrintQueueStatus::TonerLow) { statusReport = statusReport + "Is low on toner. "; } if ((pq->QueueStatus & PrintQueueStatus::UserIntervention) == PrintQueueStatus::UserIntervention) { statusReport = statusReport + "Needs user intervention. "; } // Check if queue is even available at this time of day // The method below is defined in the complete example. ReportAvailabilityAtThisTime(statusReport, pq); };
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.