PrintQueueStatus PrintQueueStatus PrintQueueStatus PrintQueueStatus Enum

定义

指定打印队列或其打印机的状态。Specifies the status of a print queue or its printer.

此枚举有一个 FlagsAttribute 属性,允许按位组合成员值。

public enum class PrintQueueStatus
[System.Flags]
public enum PrintQueueStatus
type PrintQueueStatus = 
Public Enum PrintQueueStatus
继承
PrintQueueStatusPrintQueueStatusPrintQueueStatusPrintQueueStatus
属性

字段

Busy Busy Busy Busy 512

打印机正忙。The printer is busy.

DoorOpen DoorOpen DoorOpen DoorOpen 4194304

打印机上的门已打开。A door on the printer is open.

Error Error Error Error 2

由于错误情况,打印机无法打印。The printer cannot print due to an error condition.

Initializing Initializing Initializing Initializing 32768

打印机正在初始化。The printer is initializing.

IOActive IOActive IOActive IOActive 256

打印机正在与打印服务器交换数据。The printer is exchanging data with the print server.

ManualFeed ManualFeed ManualFeed ManualFeed 32

打印机正在等待用户将打印介质放入手动送纸盒。The printer is waiting for a user to place print media in the manual feed bin.

None None None None 0

未指定状态。Status is not specified.

NotAvailable NotAvailable NotAvailable NotAvailable 4096

状态信息不可用。Status information is unavailable.

NoToner NoToner NoToner NoToner 262144

打印机墨粉用完。The printer is out of toner.

Offline Offline Offline Offline 128

打印机处于脱机状态。The printer is offline.

OutOfMemory OutOfMemory OutOfMemory OutOfMemory 2097152

打印机无可用内存。The printer has no available memory.

OutputBinFull OutputBinFull OutputBinFull OutputBinFull 2048

打印机的输出纸盒已满。The printer's output bin is full.

PagePunt PagePunt PagePunt PagePunt 524288

打印机不能打印当前页。The printer is unable to print the current page.

PaperJam PaperJam PaperJam PaperJam 8

打印机卡纸。The paper in the printer is jammed.

PaperOut PaperOut PaperOut PaperOut 16

打印机中没有或已用完当前打印作业所需的纸张类型。The printer does not have, or is out of, the type of paper needed for the current print job.

PaperProblem PaperProblem PaperProblem PaperProblem 64

打印机中的纸张导致未指定的错误情况。The paper in the printer is causing an unspecified error condition.

Paused Paused Paused Paused 1

打印队列已暂停。The print queue is paused.

PendingDeletion PendingDeletion PendingDeletion PendingDeletion 4

打印队列正在删除打印作业。The print queue is deleting a print job.

PowerSave PowerSave PowerSave PowerSave 16777216

打印机处于节能模式。The printer is in power save mode.

Printing Printing Printing Printing 1024

设备正在打印。The device is printing.

Processing Processing Processing Processing 16384

设备正在执行某种工作,如果此设备是集打印机、传真机和扫描仪于一体的多功能设备,则不需要打印。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 ServerUnknown ServerUnknown ServerUnknown 8388608

打印机处于错误状态。The printer is in an error state.

TonerLow TonerLow TonerLow TonerLow 131072

打印机中只剩下少量墨粉。Only a small amount of toner remains in the printer.

UserIntervention UserIntervention UserIntervention UserIntervention 1048576

打印机要求通过用户操作来更正错误情况。The printer requires user action to correct an error condition.

Waiting Waiting Waiting Waiting 8192

打印机正在等待打印作业。The printer is waiting for a print job.

WarmingUp WarmingUp WarmingUp WarmingUp 65536

打印机正在预热。The printer is warming up.

示例

下面的示例演示如何使用此枚举来调查所有打印机是否有可能的错误状态。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);
   };
// Check for possible trouble states of a printer using the flags of the QueueStatus property
internal static void SpotTroubleUsingQueueAttributes(ref String statusReport, 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(ref statusReport, pq);
}
' 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

注解

PrintQueue与类一样, 此枚举将打印队列和物理打印机 (或设备) 作为一个单元处理。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.

使用此枚举为QueueStatus PrintQueue类的属性提供值。Use this enumeration to provide values for the QueueStatus property of the PrintQueue class.

适用于

另请参阅