Windowsドライバーでプリンターのステータスを取得することはできますか?


最新のWindowsドライバーは、プリンターのステータス取得機能のついたものになっております。
(一部、ステータス機能ありなしの2種類が用意されているものもあります。)
ステータス機能は、Windowsが用意しているプリンターのステータスを表示する機能を使っているため、プリンターとFAXやスプーラー上でメッセージが出ます。

より詳しい情報
実際にはドライバー自体がプリンターのエラーを取得するわけではありません。
ランゲージモニターと呼ばれるドライバーとセットで動作するDLLが、双方向通信をするために必要になるのですが、そのDLLがプリンターから戻るデータを解釈し、エラー情報をOS側に渡すという形を取っています。
エラー情報をアプリで取得することも出来ます。マイクロソフトのサイトにそのためのサンプルプログラムが載っています。
http://support.microsoft.com/kb/202480/ja
http://support.microsoft.com/kb/160129/ja
上記の方法ですと、プリンターが判別できるエラーをOSが用意したメッセージに
無理に当てはめるために、取得できる情報が限られる部分があります。
Windows上にもっと細かい情報を取得したいということであれば、独自のAPIでステータスを取る
方法に関して説明を用意しています。
ドライバーをインストールしますと、この説明のファイル以外にサンプルプログラム
などもインストールされます。

このエントリーにコメントできません。