プリンターのステータスコードを探すのが面倒なので備忘録
きっかけ
印刷アプリを常時起動させているのですが、Status=131072で印刷ができなくなっていた
(Status=0以外印刷しないようになっていたため)
ステータスコードだけだと原因がわからず調べてみたのですがあまり資料がなかったのでまとめてみた。
Printer Status
Statusの一覧
10進数 | 16進数 | value | 説明 |
0 | 0 | Printer ready | 印刷可能 |
1 | 1 | Printer paused | 印刷一時停止 |
2 | 2 | Printer error | プリンターエラー |
4 | 4 | Printer pending deletion | プリンターを削除しています |
8 | 8 | Paper jam | 紙詰まり |
16 | 10 | Out of paper | 用紙切れ |
32 | 20 | Manual feed | 手差し |
64 | 40 | Paper problem | 用紙に問題がある |
128 | 80 | Printer offline | プリンターオフライン |
256 | 100 | IO active | アクティブな入出力状態 |
512 | 200 | Printer busy | printer busy |
1024 | 400 | Printing | 印刷中 |
2048 | 800 | Printer output bin full | 排紙トレーが一杯 |
4096 | 1000 | Not available | 利用不可 |
8192 | 2000 | Waiting | 待機中 |
16384 | 4000 | Processing | 処理中 |
32768 | 8000 | Initializing | 初期化中 |
65536 | 10000 | Warming up | ウォーミングアップ |
131072 | 20000 | Toner low | 残りトナーが少ない |
262144 | 40000 | No Toner | トナー切れ |
524288 | 80000 | Page punt | 現在のページを印刷できません |
1048576 | 100000 | User intervention | ユーザーがエラー処理をする必要がある |
2097152 | 200000 | Out of memory | メモリ不足 |
4194304 | 400000 | Door open | ドアが開いている |
8388608 | 800000 | Server unknown | 状態不明 |
6777216 | 1000000 | Powe save | 省エネモード |
参照したサイトはこちら
Printer Status Codes

PRINTER_INFO_2 構造体 (Winspool.h) - Win32 apps
PRINTER\_INFO\_2 構造体は、詳細なプリンター情報を指定します。
PRINTER_INFO_2の使用方法などは、こちらのサイトに詳しく載っています。

プリンタのポート、状態を取得する
(リンク切れの場合は、トップページから画像・印刷→プリンタのポート、状態を取得する)
課題
このコードをもとに各種エラー処理の実装が必要になりそうです。
「残りトナーが少ない」の場合印刷は可能なので・・・
コメント