PRINTER_INFO_2構造体

PRINTER_INFO_2構造体は、プリンターの詳細な情報を指定します。

構文

typedef struct _PRINTER_INFO_2 {
  LPTSTR               pServerName;
  LPTSTR               pPrinterName;
  LPTSTR               pShareName;
  LPTSTR               pPortName;
  LPTSTR               pDriverName;
  LPTSTR               pComment;
  LPTSTR               pLocation;
  LPDEVMODE            pDevMode;
  LPTSTR               pSepFile;
  LPTSTR               pPrintProcessor;
  LPTSTR               pDatatype;
  LPTSTR               pParameters;
  PSECURITY_DESCRIPTOR pSecurityDescriptor;
  DWORD                Attributes;
  DWORD                Priority;
  DWORD                DefaultPriority;
  DWORD                StartTime;
  DWORD                UntilTime;
  DWORD                Status;
  DWORD                cJobs;
  DWORD                AveragePPM;
} PRINTER_INFO_2, *PPRINTER_INFO_2;

メンバー

pServerName

プリンターを制御するサーバーを識別する null で終わる文字列へのポインター。 この文字列が NULL の場合、プリンターはローカルで制御されます。

pPrinterName

プリンターの名前を指定する null で終わる文字列へのポインター。

pShareName

プリンターの共有ポイントを識別する null で終わる文字列へのポインター。 (この文字列は、PRINTER_ATTRIBUTE_SHARED定数が Attributes メンバーに設定されている場合にのみ使用されます)。

pPortName

プリンターにデータを送信するために使用されるポートを識別する null で終わる文字列へのポインター。 プリンターが複数のポートに接続されている場合、各ポートの名前はコンマで区切る必要があります (例: "LPT1:,LPT2:,LPT3:")。

pDriverName

プリンター ドライバーの名前を指定する null で終わる文字列へのポインター。

pComment

プリンターの簡単な説明を提供する null で終わる文字列へのポインター。

pLocation

プリンターの物理的な場所を指定する null で終わる文字列へのポインター (例: "ビル 38,Room 1164")。

pDevMode

用紙の向きや解像度などの既定のプリンター データを定義する DEVMODE 構造体へのポインター。

pSepFile

区切り記号ページの作成に使用するファイルの名前を指定する null で終わる文字列へのポインター。 このページは、プリンターに送信される印刷ジョブを分離するために使用されます。

pPrintProcessor

プリンターで使用される印刷プロセッサの名前を指定する null で終わる文字列へのポインター。 EnumPrintProcessors 関数を使用すると、サーバーにインストールされている印刷プロセッサの一覧を取得できます。

pDatatype

印刷ジョブの記録に使用されるデータ型を指定する null で終わる文字列へのポインター。 EnumPrintProcessorDatatypes 関数を使用すると、特定の印刷プロセッサでサポートされているデータ型の一覧を取得できます。

pParameters

既定の印刷プロセッサ パラメーターを指定する null で終わる文字列へのポインター。

pSecurityDescriptor

プリンターの SECURITY_DESCRIPTOR 構造体へのポインター。 このメンバーは NULL である可能性があります。

属性

プリンター属性。 このメンバーには、次の値の任意の適切な組み合わせを指定できます。

説明
PRINTER_ATTRIBUTE_DIRECT ジョブはプリンターに直接送信されます (スプールされません)。
PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 印刷時スプーリング用に set と printer が設定されている場合、スプールが完了したジョブは、スプールを完了していないジョブの前に印刷するようにスケジュールされます。
PRINTER_ATTRIBUTE_ENABLE_DEVQ set の場合、 DevQueryPrint が呼び出されます。 ドキュメントとプリンターのセットアップが一致しない場合、DevQueryPrint が失敗する可能性があります。 このフラグを設定すると、不一致のドキュメントがキューに保持されます。
PRINTER_ATTRIBUTE_HIDDEN 予約済み。
PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 設定した場合、ジョブは印刷後も保持されます。 未設定の場合、ジョブは削除されます。
PRINTER_ATTRIBUTE_LOCAL プリンターはローカル プリンターです。
PRINTER_ATTRIBUTE_NETWORK プリンターはネットワーク プリンター接続です。
PRINTER_ATTRIBUTE_PUBLISHED プリンターがディレクトリ サービスで発行されているかどうかを示します。
PRINTER_ATTRIBUTE_QUEUED 設定した場合、プリンターはスプールし、最後のページがスプールされた後に印刷を開始します。 が設定されておらず、PRINTER_ATTRIBUTE_DIRECTが設定されていない場合、プリンターはスプール中にスプールおよび印刷されます。
PRINTER_ATTRIBUTE_RAW_ONLY 生データ型の印刷ジョブのみをスプールできることを示します。
PRINTER_ATTRIBUTE_SHARED プリンターは共有されます。

Windows XP 以降のバージョンの Windows では、次の値を使用することもできます。

説明
PRINTER_ATTRIBUTE_FAX 設定されている場合、プリンターは FAX プリンターです。 これは AddPrinter でのみ設定できますが、 EnumPrintersGetPrinter によって取得できます。

Windows Vista 以降のバージョンの Windows では、次の値を使用することもできます。

説明
PRINTER_ATTRIBUTE_FRIENDLY_NAME コンピューターがこのプリンターに接続され、わかりやすい名前が付けられます。
PRINTER_ATTRIBUTE_MACHINE プリンターはマシンごとの接続です。
PRINTER_ATTRIBUTE_PUSHED_USER プリンターは、プッシュ プリンター接続ユーザー ポリシーを使用してインストールされました。
PRINTER_ATTRIBUTE_PUSHED_MACHINE プリンターは、プッシュ プリンター接続コンピューター ポリシーを使用してインストールされました。

Windows Server 2003 では、次の値を使用することもできます。

説明
PRINTER_ATTRIBUTE_TS プリンターが現在ターミナル サーバー経由で接続されていることを示します。

優先順位

スプーラーが印刷ジョブのルーティングに使用する優先順位の値。

DefaultPriority

各印刷ジョブに割り当てられる既定の優先度の値。

StartTime

プリンターがジョブを印刷する最も早い時刻。 この値は、GMT (グリニッジ標準時) の午前 12 時から経過した分として表されます。

UntilTime

プリンターがジョブを印刷する最新時刻。 この値は、GMT (グリニッジ標準時) の午前 12 時から経過した分として表されます。

状態

プリンターの状態。 このメンバーは、次の値の任意の適切な組み合わせにすることができます。

説明
PRINTER_STATUS_BUSY プリンターがビジーです。
PRINTER_STATUS_DOOR_OPEN プリンターのドアが開いています。
PRINTER_STATUS_ERROR プリンターはエラー状態にあります。
PRINTER_STATUS_INITIALIZING プリンターは初期化中です。
PRINTER_STATUS_IO_ACTIVE プリンターがアクティブな入出力状態である
PRINTER_STATUS_MANUAL_FEED プリンターが手動フィード状態です。
PRINTER_STATUS_NO_TONER プリンターのトナーがありません。
PRINTER_STATUS_NOT_AVAILABLE プリンターは印刷できません。
PRINTER_STATUS_OFFLINE プリンターはオフラインです。
PRINTER_STATUS_OUT_OF_MEMORY プリンターのメモリが不足しています。
PRINTER_STATUS_OUTPUT_BIN_FULL プリンターの出力ビンがいっぱいです。
PRINTER_STATUS_PAGE_PUNT プリンターは現在のページを印刷できません。
PRINTER_STATUS_PAPER_JAM 用紙がプリンターに詰まっている
PRINTER_STATUS_PAPER_OUT プリンターが用紙切れです。
PRINTER_STATUS_PAPER_PROBLEM プリンターに用紙の問題があります。
PRINTER_STATUS_PAUSED プリンターが一時停止しています。
PRINTER_STATUS_PENDING_DELETION プリンターが削除されています。
PRINTER_STATUS_POWER_SAVE プリンターは省電力モードです。
PRINTER_STATUS_PRINTING プリンターが印刷中です。
PRINTER_STATUS_PROCESSING プリンターが印刷ジョブを処理しています。
PRINTER_STATUS_SERVER_UNKNOWN プリンターの状態が不明です。
PRINTER_STATUS_TONER_LOW トナーが少ない。
PRINTER_STATUS_USER_INTERVENTION プリンターにエラーがあり、ユーザーは何かを行う必要があります。
PRINTER_STATUS_WAITING プリンターが待機しています。
PRINTER_STATUS_WARMING_UP プリンターはウォームアップ中です。

cJobs

プリンターのキューに入っている印刷ジョブの数。

AveragePPM

プリンターに印刷された 1 分あたりの平均ページ数。

要件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Winspool.h (Windows.h を含む)
Unicode 名と ANSI 名
_PRINTER_INFO_2W (Unicode) と _PRINTER_INFO_2A (ANSI)

関連項目

印刷

印刷スプーラー API 構造体

Devmode

EnumPrinters

PRINTER_INFO_1

PRINTER_INFO_3

PRINTER_INFO_4

SECURITY_DESCRIPTOR