英語で読む

次の方法で共有


PrintQueueStatus 列挙型

定義

印刷キューまたはそのプリンターのステータスを指定します。

この列挙体は、メンバー値のビットごとの組み合わせをサポートしています。

C#
[System.Flags]
public enum PrintQueueStatus
継承
PrintQueueStatus
属性

フィールド

名前 説明
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

デバイスが作業を実行しています。デバイスが複合プリンター、FAX 機、またはスキャナーである場合、この作業は、印刷以外の作業であることも考えられます。

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 、この列挙は印刷キューと物理プリンター (またはデバイス) を 1 つの単位として処理します。 物理デバイスの状態を表す値もあれば、プリント サーバーで実行されている印刷キュー プログラムの状態を表す値もあります。

クラスの プロパティの値を指定するには、 QueueStatus この列挙体を PrintQueue 使用します。

適用対象

製品 バージョン
.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

こちらもご覧ください