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.Printing
Assembly:  System.Printing (in System.Printing.dll)

<FlagsAttribute>
Public Enumeration PrintQueueStatus

Member nameDescription
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

.NET Framework
Available since 3.0
Return to top
Show: