閱讀英文版本

分享方式:


PrintQueueStatus 列舉

定義

指定列印佇列或其印表機的狀態。

此列舉支援其成員值的位元組合。

C#
[System.Flags]
public enum PrintQueueStatus
繼承
PrintQueueStatus
屬性

欄位

名稱 Description
Busy 512

印表機忙碌中。

DoorOpen 4194304

印表機上的門為開啟。

Error 2

因為發生錯誤狀況,印表機無法列印。

Initializing 32768

印表機初始化中。

IOActive 256

印表機與列印伺服器交換資料中。

ManualFeed 32

印表機在等候使用者將列印媒體放入手動送紙匣中。

None 0

狀態未指定。

NotAvailable 4096

狀態資訊無法使用。

NoToner 262144

印表機的碳粉已用完。

Offline 128

印表機為離線。

OutOfMemory 2097152

印表機沒有可用的記憶體。

OutputBinFull 2048

印表機的輸出紙匣已滿。

PagePunt 524288

印表機無法列印目前頁面。

PaperJam 8

印表機內的紙夾住了。

PaperOut 16

印表機沒有或已經用完目前列印工作所需的紙張類型。

PaperProblem 64

印表機中的紙導致未指定的錯誤狀況。

Paused 1

列印佇列已暫停。

PendingDeletion 4

列印佇列正在刪除列印工作。

PowerSave 16777216

印表機處於省電模式。

Printing 1024

裝置列印中。

Processing 16384

裝置正在進行某些作業,如果此裝置是結合印表機、傳真機及掃描器的多功能裝置,則不需要列印的動作。

ServerUnknown 8388608

印表機處於錯誤狀態。

TonerLow 131072

印表機內只剩餘少量的碳粉。

UserIntervention 1048576

印表機需要使用者動作才能修正錯誤狀況。

Waiting 8192

印表機在等候列印工作中。

WarmingUp 65536

印表機準備中。

範例

下列範例示範如何使用此列舉作為問卷中所有印表機的一部分,以取得可能的錯誤狀態。

C#
// 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);
}

備註

如同 類別 PrintQueue ,這個列舉會以一個單位處理列印佇列和實體印表機 (或裝置) 。 某些值代表實體裝置的狀態,而其他值則代表在列印伺服器上執行的列印佇列程序狀態。

使用此列舉來提供 類別之 PrintQueue 屬性的值QueueStatus

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

另請參閱