(57)【要約】【課題】情報処理装置に複数の仮想デバイスが登録されている場合に、印刷可能な状態にある仮想デバイスをより容易に選択できるようにするために利用される仮想デバイス名変更プログラムを提供すること。【解決手段】ＰＣ１は、仮想デバイスの状態が変化したか否かを判断し（Ｓ２０３）、変化した場合に（Ｓ２０３：ＹＥＳ）、状態が変化した仮想デバイスを対象にして、元の仮想デバイス名の前に状態を示す記号を付加する（Ｓ２０４，Ｓ２０５）。これらＳ２０３〜Ｓ２０５の処理は、ＰＣ１に登録された複数の仮想デバイスを順に１つずつ対象として繰り返し実行される（Ｓ２０１，Ｓ２０２，Ｓ２０６）。その結果、元の仮想デバイス名の前には、状態が変化するたびに、その状態を表す記号（数字および文字列）が付加される。【選択図】図２
2007200254.tif 000002
【特許請求の範囲】
【請求項１】
通信可能なプリンタが仮想デバイスとして登録されており、複数の仮想デバイス名を表示して、その中の１つを利用者に任意に選択させることにより、複数の前記仮想デバイスの中から印刷データの送信先となる前記仮想デバイスを選択可能で、選択された前記仮想デバイスに対して印刷データを送信することにより、前記仮想デバイスに対応するプリンタへ前記印刷データを送信可能な情報処理装置に、
複数の前記仮想デバイスの状態を取得する状態取得工程と、
前記状態取得工程によって取得された複数の前記仮想デバイスの状態に基づいて、複数の前記仮想デバイス名の中から選ばれる少なくとも１つの仮想デバイス名を、前記状態に応じて決まる仮想デバイス名に変更する仮想デバイス名変更工程と
を実行させるための仮想デバイス名変更プログラム。
【請求項２】
前記仮想デバイス名変更工程は、前記状態取得工程によって取得された各仮想デバイスの状態を表す文字列を、前記仮想デバイス名に対して付加する工程である
ことを特徴とする請求項１に記載の仮想デバイス名変更プログラム。
【請求項３】
前記情報処理装置は、複数の前記仮想デバイス名を表示する際に、複数の前記仮想デバイス名を文字コード順に整列させて表示するように構成されており、
前記仮想デバイス名変更工程は、前記状態取得工程によって取得された各仮想デバイスの状態を表す文字列を、前記仮想デバイス名の前に付加する工程である
ことを特徴とする請求項２に記載の仮想デバイス名変更プログラム。
【請求項４】
前記仮想デバイス名変更工程は、
前記状態取得工程によって取得された各仮想デバイスの状態が正常か異常かを判断する状態判断工程を有し、
前記状態判断工程によって正常と判断された前記仮想デバイスと異常と判断された前記仮想デバイスとを区別可能な文字列を、前記仮想デバイス名に対して付加する工程である
ことを特徴とする請求項１〜請求項３のいずれかに記載の仮想デバイス名変更プログラム。
【請求項５】
前記状態判断工程は、前記状態取得工程によって取得された各仮想デバイスの状態が正常と判断した場合に、さらに、警告状態にあるか否かをも判断する工程であり、
前記仮想デバイス名変更工程は、前記状態判断工程によって正常と判断された前記仮想デバイスと異常と判断された前記仮想デバイスとを区別可能で、且つ、警告状態にあるか否かをも区別可能な文字列を、前記仮想デバイス名に対して付加する工程である
ことを特徴とする請求項４に記載の仮想デバイス名変更プログラム。
【請求項６】
前記情報処理装置は、複数の前記仮想デバイス名を表示する際に、複数の前記仮想デバイス名を文字コード順に整列させて表示するように構成されており、
前記仮想デバイス名変更工程は、前記状態判断工程によって正常と判断された前記仮想デバイスと異常と判断された前記仮想デバイスとを区別可能な文字列を、前記仮想デバイス名の前に付加する工程であり、正常と判断された場合に付加される文字列が異常と判断された場合に付加される文字列よりも、文字コード順に整列させて表示した際に上位側に表示される文字列とされている
ことを特徴とする請求項４または請求項５に記載の仮想デバイス名変更プログラム。
【請求項７】
前記仮想デバイス名の前に付加される文字列が、１桁以上の数字である
ことを特徴とする請求項６に記載の仮想デバイス名変更プログラム。
【請求項８】
前記仮想デバイス名変更工程は、前記状態取得工程によって取得された複数の前記仮想デバイスの状態の内、少なくとも１つの前記仮想デバイスの状態に変化があった場合に実行される工程である
ことを特徴とする請求項１〜請求項７のいずれかに記載の仮想デバイス名変更プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に登録された複数の仮想デバイスの中から、利用者がより容易に１つの仮想デバイスを選択できるようにするための仮想デバイス名変更プログラムに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ等の情報処理装置は、複数のプリンタを利用可能な環境で使用されることが多くなっている。例えば、複数の情報処理装置および複数のプリンタがネットワークを介して相互に接続されたシステムにおいては、各情報処理装置から複数のプリンタを利用することができる。そして、このように情報処理装置が複数のプリンタを出力先として利用する場合、情報処理装置には、各プリンタに対応する複数の仮想デバイスが登録される。
【０００３】
ところで、複数の仮想デバイスが情報処理装置に登録されている場合、利用者は複数の仮想デバイス名が列挙されるリストの中から、出力先となる仮想デバイスを選択することができる。ただし、リスト中から１つの仮想デバイスを選択しても、選択した仮想デバイスに対応するプリンタの電源が入っていなかったり、用紙切れが発生していたりすると、そのプリンタへの印刷出力はできない。
【０００４】
このような場合、利用者は、あらためて別の仮想デバイスを選択することにより、別のプリンタへの印刷出力を行うことはできたが、出力先を変更する分だけ余計な操作を行わざるを得ない、という問題はあった。また、出力先を変更した場合でも、変更後の出力先となるべきプリンタの電源が入っていなかったり、用紙切れが発生していたりする可能性もあるため、その場合、何度も面倒な操作を強いられる、という問題もあった。
【０００５】
こうした問題に対し、従来、プリンタからステータス情報を取得し、取得したステータス情報に基づいて、デフォルトプリンタの切り替え処理を行う技術は、既に提案されていた（例えば、下記特許文献１参照）。このような技術を利用すれば、電源が入っていないプリンタや、用紙切れが発生しているプリンタがデフォルトプリンタになっている場合には、デフォルトプリンタが別のプリンタに切り替えられるので、デフォルトプリンタへの印刷出力に関しては、印刷出力ができなくなる可能性を低くすることができる。
【特許文献１】特開２００５−８５１３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の技術でも、デフォルトの仮想デバイス以外に利用したい仮想デバイスがある場合に、その仮想デバイスに対応するプリンタが印刷可能な状態にあるか否かについては、その仮想デバイスを選択してみないとわからなかった。
【０００７】
特に、いくつかの仮想デバイスのどれを出力先として選択しても構わない場合、利用者の立場からすれば、どれでもよいから印刷可能な状態にある仮想デバイスを選択したいと考えるのは当然である。しかし、そのような場合でも、どれか１つの仮想デバイスを選択してみるまでは、その仮想デバイスが印刷可能な状態にあるか否かを判別できなかった。
【０００８】
そのため、デフォルトの仮想デバイス以外に、出力先の候補となるいくつかの仮想デバイスがあっても、その中に印刷不能な状態にあるものが混在している場合には、結局、１つずつ順に仮想デバイスを選択して、印刷可能な状態にある仮想デバイスを探さざるを得なかった。
【０００９】
本発明は、上記問題を解決するためになされたものであり、その目的は、情報処理装置に複数の仮想デバイスが登録されている場合に、印刷可能な状態にある仮想デバイスをより容易に選択できるようにするために利用される仮想デバイス名変更プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
以下、本発明において採用した特徴的構成について説明する。
本発明の仮想デバイス名変更プログラムは、通信可能なプリンタが仮想デバイスとして登録されており、複数の仮想デバイス名を表示して、その中の１つを利用者に任意に選択させることにより、複数の前記仮想デバイスの中から印刷データの送信先となる前記仮想デバイスを選択可能で、選択された前記仮想デバイスに対して印刷データを送信することにより、前記仮想デバイスに対応するプリンタへ前記印刷データを送信可能な情報処理装置に、複数の前記仮想デバイスの状態を取得する状態取得工程と、前記状態取得工程によって取得された複数の前記仮想デバイスの状態に基づいて、複数の前記仮想デバイス名の中から選ばれる少なくとも１つの仮想デバイス名を、前記状態に応じて決まる仮想デバイス名に変更する仮想デバイス名変更工程とを実行させるためのプログラムである。
【００１１】
このような仮想デバイス名変更プログラムに従って上記各工程を情報処理装置に実行させれば、状態に応じて仮想デバイス名が変更されるので、利用者は、複数の仮想デバイス名が表示された際に、仮想デバイス名を見て所望の状態にある仮想デバイスを選ぶことができる。
【００１２】
したがって、例えば、デフォルトの仮想デバイス以外に、出力先の候補となるいくつかの仮想デバイスがあり、その中に印刷不能な状態にあるものが混在していたとしても、利用者は、仮想デバイス名を見るだけで印刷可能な状態にある仮想デバイスを選択できるようになる。
【００１３】
ところで、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、前記状態取得工程によって取得された各仮想デバイスの状態を表す文字列を、前記仮想デバイス名に対して付加する工程であると好ましい。
【００１４】
ここで、仮想デバイスの状態を表す文字列としては、仮想デバイスの状態を表していることを利用者が理解できるような文字列であればよく、例えば、「正常」、「用紙少」、「トナー少」、「用紙切れ」、「トナー切れ」、「電源ＯＦＦ」、「オフライン」等の文字列を採用することができる。あるいは、仮想デバイスの状態に対応付けて取り決めたコード番号のような数字であってもよく、例えば、００（＝正常；ただし、括弧内は数字が表す意味；以下同様）、５０（＝用紙少）、５１（＝トナー少）、９０（＝用紙切れ）、９１（＝トナー切れ）、９２（＝電源ＯＦＦ）、９３（＝オフライン）等の数字を採用することができる。あるいは、仮想デバイスの状態に対応付けて取り決めた英文字や記号等を、仮想デバイスの状態を表す文字列としてもよい。
【００１５】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、利用者は、複数の仮想デバイス名が表示された際に、仮想デバイスの状態を表す文字列を見て、所望の状態にある仮想デバイスを選ぶことができる。なお、上記のような各文字列と仮想デバイスの各状態との対応付けは、あらかじめ取り決められた変更不能な対応付けであってもよいが、この対応付けそのものを利用者が任意に取り決めることができるようになっていてもよい。この場合、例えば、上述した例では「９０＝用紙切れ」、「９１＝トナー切れ」、「９２＝電源ＯＦＦ」と取り決めてあった対応付けを、利用者が任意に「９０＝電源ＯＦＦ」、「９１＝用紙切れ」、「９２＝トナー切れ」と取り決めて、各対応付けを変更できるようにする。こうすれば、電源ＯＦＦとなっている仮想デバイスの表示優先順位を、用紙切れやトナー切れよりも高くすることができるので、利用者は、仮想デバイスの表示優先順位を所望の順序に変えることができる。したがって、例えば、用紙切れを優先的に表示させたい利用者、電源ＯＦＦを優先的に表示させたい利用者、どちらにとっても、利便性の高い順序で仮想デバイス名を表示できるようになる。
【００１６】
また、本発明の仮想デバイス名変更プログラムにおいて、前記情報処理装置は、複数の前記仮想デバイス名を表示する際に、複数の前記仮想デバイス名を文字コード順に整列させて表示するように構成されているとよく、この場合、前記仮想デバイス名変更工程は、前記状態取得工程によって取得された各仮想デバイスの状態を表す文字列を、前記仮想デバイス名の前に付加する工程であると好ましい。
【００１７】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、複数の仮想デバイス名が、同じ状態にある仮想デバイス毎にまとめられた状態で表示されるので、所望の状態にある仮想デバイスを容易に選ぶことができる。
【００１８】
より具体的な例を交えて説明すれば、上述のような「正常」、「用紙切れ」、「オフライン」等の文字列が仮想デバイス名の前に付加される例では、情報処理装置が複数の仮想デバイス名を文字コード順に整列させて表示すると、「正常」が付加されたグループ、「用紙切れ」が付加されたグループ、「オフライン」が付加されたグループは、各グループ毎にまとめて表示されるようになる。これは、００、９０、９３といった数字が仮想デバイス名の前に付加される例でも、同様の結果となる。したがって、様々な状態にある仮想デバイスが混在する状態で表示されるものに比べ、所望の状態にある仮想デバイスがまとめて表示されている部分を容易に見つけることができ、所望の状態にある仮想デバイスを容易に選ぶことができる。
【００１９】
また、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、前記状態取得工程によって取得された各仮想デバイスの状態が正常か異常かを判断する状態判断工程を有するとよく、この場合、前記仮想デバイス名変更工程は、前記状態判断工程によって正常と判断された前記仮想デバイスと異常と判断された前記仮想デバイスとを区別可能な文字列を、前記仮想デバイス名に対して付加する工程であると好ましい。
【００２０】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、利用者は、複数の仮想デバイス名が表示された際に、仮想デバイス名を見て仮想デバイスの状態が正常か異常かを知ることができ、所望の状態にある仮想デバイスを選ぶことができる。
【００２１】
より具体的な例を交えて説明すれば、上述のような数字は、仮想デバイスの状態が正常か異常かを表す文字列の例であり、詳しくは、００（＝正常）、５０（＝用紙少）、５１（＝トナー少）は、いずれも正常に分類される数字である。また、９０（＝用紙切れ）、９１（＝トナー切れ）、９２（＝電源ＯＦＦ）、９３（＝オフライン）は、いずれも異常に分類される数字である。すなわち、各数字は、先頭の桁が０または５の場合は正常を示し、先頭の桁が９の場合は異常を示している。このような数字を付加すれば、利用者は、複数の仮想デバイス名が表示された際に、仮想デバイス名に付加された数字の先頭桁を見て、仮想デバイスの状態が正常か異常かを知ることができ、所望の状態にある仮想デバイスを選ぶことができる。
【００２２】
さらに、本発明の仮想デバイス名変更プログラムにおいて、前記状態判断工程は、前記状態取得工程によって取得された各仮想デバイスの状態が正常と判断した場合に、さらに、警告状態にあるか否かをも判断する工程であるとよく、この場合、前記仮想デバイス名変更工程は、前記状態判断工程によって正常と判断された前記仮想デバイスと異常と判断された前記仮想デバイスとを区別可能で、且つ、警告状態にあるか否かをも区別可能な文字列を、前記仮想デバイス名に対して付加する工程であると好ましい。
【００２３】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、利用者は、複数の仮想デバイス名が表示された際に、仮想デバイス名を見て仮想デバイスの状態が正常か異常かを知ることができ、さらに、正常なものについては、警告状態にあるか否かをも知ることができ、所望の状態にある仮想デバイスを選ぶことができる。
【００２４】
これについても、より具体的な例を交えて説明すれば、先に説明した数字の内、００（＝正常）、５０（＝用紙少）、５１（＝トナー少）は、いずれも正常に分類される数字の例であるが、この中で、先頭の桁が０の場合は警告状態になく、５の場合は警告状態にあることを示している。このような数字を付加すれば、利用者は、複数の仮想デバイス名が表示された際に、仮想デバイス名に付加された数字の先頭桁を見て、仮想デバイスの状態が警告状態にあるか否かを知ることができ、所望の状態にある仮想デバイスを選ぶことができる。
【００２５】
また、本発明の仮想デバイス名変更プログラムにおいて、前記情報処理装置は、複数の前記仮想デバイス名を表示する際に、複数の前記仮想デバイス名を文字コード順に整列させて表示するように構成されているとよく、この場合、前記仮想デバイス名変更工程は、前記状態判断工程によって正常と判断された前記仮想デバイスと異常と判断された前記仮想デバイスとを区別可能な文字列を、前記仮想デバイス名の前に付加する工程であり、正常と判断された場合に付加される文字列が異常と判断された場合に付加される文字列よりも、文字コード順に整列させて表示した際に上位側に表示される文字列とされていると好ましい。
【００２６】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、複数の仮想デバイス名が表示された際、正常な状態にある仮想デバイス名の表示順が上位となるので、利用者は、正常な状態にある仮想デバイスを容易に選ぶことができる。
【００２７】
なお、先に例示した数字は、仮想デバイスが正常な状態にある場合、先頭桁が０または５となっており、一方、仮想デバイスが異常な状態にある場合、先頭桁が９となっている。これは、正常と判断された場合に付加される文字列が異常と判断された場合に付加される文字列よりも、文字コード順に整列させて表示した際に上位側に表示される文字列とされている一例であり、この一例の場合は、前記仮想デバイス名の前に付加される文字列が、１桁以上の数字とされている。
【００２８】
また、数字以外の文字列の例としては、例えば、仮想デバイスが正常かつ警告無しの状態となっている場合に文字列の先頭が「Ａ」とされ、仮想デバイスが正常かつ警告ありの状態となっている場合に文字列の先頭が「Ｂ」とされ、仮想デバイスが異常な状態となっている場合に文字列の先頭が「Ｃ」とされる例を挙げることができる。
【００２９】
また、本発明の仮想デバイス名変更プログラムにおいて、前記仮想デバイス名変更工程は、前記状態取得工程によって取得された複数の前記仮想デバイスの状態の内、少なくとも１つの前記仮想デバイスの状態に変化があった場合に実行される工程であると好ましい。
【００３０】
このように構成された仮想デバイス名変更プログラムに従った工程を情報処理装置に実行させれば、少なくとも１つの仮想デバイスの状態に変化があれば、仮想デバイス名が変更されるので、仮想デバイス名を最新の状態を反映したものに変更することができる。
【発明を実施するための最良の形態】
【００３１】
次に、本発明の実施形態について一例を挙げて説明する。
［システム全体の構成］
図１は、パーソナルコンピュータ１（以下、ＰＣ１という）を備えたシステムの概略構成を示すブロック図である。このシステム内に含まれるＰＣ１が、本発明の仮想デバイス名変更プログラムに従った各工程を実行する情報処理装置に相当する。
【００３２】
ＰＣ１は、複数のプリンタと通信可能で、図１には、それら複数のプリンタの内、ＰＣ１との接続形態が異なる２つのプリンタ２，３が図示してある。具体的には、プリンタ２は、ローカルプリンタとも呼ばれる接続形態のプリンタであり、プリンタケーブル４を介してＰＣ１に直結されている。一方、プリンタ３は、ネットワークプリンタとも呼ばれる接続形態のプリンタであり、ＬＡＮケーブル５を介してＰＣ１と通信可能になっている。
【００３３】
なお、ＰＣ１は、プリンタ２，３以外のプリンタとも通信可能であるが、それらのプリンタは、上記プリンタ２，３のいずれかと同等な接続形態になっているので、図１においては図示を省略する。ただし、後述する仮想デバイス名変更処理の説明の中では、ＰＣ１から５つのプリンタを利用可能で、その５つのプリンタに対応する５つの仮想デバイスがＰＣ１に登録されているものとして説明を行う。
【００３４】
さて、以上のようなシステムの内、ＰＣ１は、図１に示すように、ＣＰＵ１０、ＲＯＭ１１、ＲＡＭ１２、ハードディスク装置１３（以下、ＨＤＤ１３という）、操作部１４、表示部１５、プリンタポートインターフェース１６（以下、プリンタポートＩ／Ｆ１６という）、およびＬＡＮ（Local Area Network）インターフェース１７（以下、ＬＡＮ  Ｉ／Ｆ１７という）などを備えている。
【００３５】
ＣＰＵ１０は、ＲＯＭ１１やＲＡＭ１２に記憶されたプログラムに従って、ＰＣ１各部に対する制御および各種演算を実行する装置で、後述する仮想デバイス名変更処理は、このＣＰＵ１０によって実行される。
【００３６】
ＲＯＭ１１は、ＰＣ１の電源スイッチを切っても記憶内容を保持可能な記憶装置で、ＢＩＯＳ（Basic Input Output System）や通常であれば更新されない読み出し用のデータ等を記憶している。
【００３７】
ＲＡＭ１２は、ＣＰＵ１０から直接アクセスされるメインメモリ等として利用される記憶装置である。このＲＡＭ１２には、ＯＳ（Operating System）や各種アプリケーションなどのソフトウェアがＨＤＤ１３から読み込まれ、また、ＣＰＵ１０による各種演算の結果やＨＤＤ１３から読み込まれたデータもＲＡＭ１２に記憶されるようになっている。後述する仮想デバイス名変更処理を実行する際には、ＨＤＤ１３からＲＡＭ１２に仮想デバイス名変更プログラムが読み込まれ、ＲＡＭ１２に記憶された仮想デバイス名変更プログラムに従って、ＣＰＵ１０が仮想デバイス名変更処理を実行することになる。
【００３８】
ＨＤＤ１３は、ＯＳ、各種アプリケーションプログラム、および各種データファイルを保存しておくための装置で、上記仮想デバイス名変更プログラムもＨＤＤ１３に保存されている。
【００３９】
操作部１４は、利用者からの各種指示を入力するための入力装置であり、例えば、キーボードや各種ポインティングデバイス（例えば、マウス）等によって構成される。
表示部１５は、各種情報を利用者に提示するための出力装置であり、例えば、カラー画像を表示可能な液晶ディスプレイ等によって構成される。
【００４０】
プリンタポートＩ／Ｆ１６は、プリンタを接続可能なインターフェースで、例えば、ＵＳＢ（Universal Serial Bus）インターフェースのようなシリアルインターフェース、もしくは、ＩＥＥＥ１２８４インターフェースのようなパラレルインターフェース等によって構成される。
【００４１】
ＬＡＮ  Ｉ／Ｆ１７は、ＬＡＮケーブルを介してネットワーク上のプリンタやその他の周辺機器と通信を行うためのインターフェースである。
なお、本実施形態において、ＰＣ１には、ＯＳとしてＷｉｎｄｏｗｓ（登録商標）が搭載されている。Ｗｉｎｄｏｗｓ（登録商標）が備える各種機能そのものは公知なので、ここでの詳細な説明は省略するが、以下の説明においては、ＰＣ１が、Ｗｉｎｄｏｗｓ（登録商標）によって提供される各種機能を有するとの前提で説明を続ける。
【００４２】
プリンタ２は、ＣＰＵ２０、ＲＯＭ２１、ＲＡＭ２２、ＨＤＤ２３、操作キー２４、表示パネル２５、プリンタポートＩ／Ｆ２６、ＬＡＮ  Ｉ／Ｆ２７、不揮発性ＲＡＭ２８、印字部２９などを備えている。
【００４３】
ＣＰＵ２０は、ＲＯＭ２１に記憶されている制御プログラムに従ってプリンタ２各部の制御および各種演算を実行する装置である。
ＲＯＭ２１は、プリンタ２の電源スイッチを切っても記憶内容を保持可能な記憶装置で、上記制御プログラムの他、通常であれば更新されない読み出し用の各種データを記憶している。
【００４４】
ＲＡＭ２２は、ＣＰＵ２０から直接アクセスされるメインメモリ等として利用される記憶装置で、ＣＰＵ２０が処理中に算出する各種データなどが一時的にＲＡＭ２２に記憶されるようになっている。
【００４５】
ＨＤＤ２３は、ＲＡＭ２２だけでは記憶しきれない大きなサイズのデータを記憶するための記憶装置である。
操作キー２４は、利用者がマニュアル操作でプリンタ２に対して指令を与える場合に操作する入力装置である。
【００４６】
表示パネル２５は、小型液晶ディスプレイによって構成された装置で、プリンタ２の設定や状態などの情報を表示できるようになっている。
プリンタポートＩ／Ｆ２６は、ＰＣを接続可能なインターフェースで、ＰＣ１側と同じ規格のインターフェース、例えば、ＵＳＢ（Universal Serial Bus）インターフェースのようなシリアルインターフェース、もしくは、ＩＥＥＥ１２８４インターフェースのようなパラレルインターフェース等によって構成される。
【００４７】
ＬＡＮ  Ｉ／Ｆ２７は、ＬＡＮケーブルを介してネットワーク上のＰＣと通信を行うためのインターフェースである。
不揮発性ＲＡＭ２８は、プリンタ２に関する可変設定等、電力供給が断たれたときにも消失させたくないデータを記憶する記憶装置である。
【００４８】
印字部２９は、シート状の媒体（例えば記録用紙）を給紙部から排紙部へと搬送する搬送機構、この搬送機構による搬送経路の途中で前記媒体に対して画像を記録する記録機構などによって構成される。
【００４９】
なお、プリンタ３は、ＣＰＵ３０、ＲＯＭ３１、ＲＡＭ３２、ＨＤＤ３３、操作キー３４、表示パネル３５、プリンタポートＩ／Ｆ３６、ＬＡＮ  Ｉ／Ｆ３７、不揮発性ＲＡＭ３８、印字部３９などを備えている。これらの構成は、プリンタ２が備える構成と同等なものばかりなので、詳細な説明については省略する。
【００５０】
［仮想デバイス名変更処理］
次に、ＰＣ１が実行する仮想デバイス名変更処理について、図２のフローチャートに基づいて説明する。この仮想デバイス名変更処理は、どのようなタイミングで開始されるようになっていても構わないが、本実施形態においては、ＰＣ１の起動に伴って処理を開始する常駐プロセスとして実行されることを想定している。
【００５１】
なお、以下の説明においては、図３に示した５つの仮想デバイスがＰＣ１にインストールされている場合を例に挙げて説明を続ける。ＰＣ１においてプリンタドライバがインストールされると、ＰＣ１のレジストリ（ＯＳが管理する記憶領域）には、プリンタドライバ名や、プリンタドライバのプログラムを格納したファイルのファイル名などが登録され、これにより、ＰＣ１に仮想デバイスがインストールされたことになる。そして、以後、アプリケーションが印刷データの出力を行う際には、ＰＣ１に登録された仮想デバイスを出力先に指定して、その仮想デバイスに対応するプリンタへの印刷出力を実行することができるようになる。出力先となる仮想デバイスを利用者が選択する際、利用者は仮想デバイス名を見て所望の仮想デバイスを選択することになるが、ここで利用者が見ることになる仮想デバイス名は、レジストリに登録されたプリンタドライバ名そのものである。
【００５２】
また、上記５つの仮想デバイスの状態（すなわち、各仮想デバイスに対応するプリンタの状態）は、図３中に示した通りの状態になっているものとして、以下の説明を続ける。
さて、仮想デバイス名変更処理を開始すると、ＰＣ１は、まず、カウンタｉを１で初期化し（Ｓ２０１）、ｉが仮想デバイス数より大きいかどうかを調べる（Ｓ２０２）。本実施形態においては、仮想デバイス数が５である場合を想定しており、Ｓ２０２の処理では、カウンタｉに格納された値が５より大きいかどうかを比較をすることになるので、Ｓ２０１の処理によるカウンタｉの初期化直後は、Ｓ２０２の処理では否定判断がなされることになり（Ｓ２０２：ＮＯ）、その場合は、Ｓ２０３の処理へと移行する。
【００５３】
Ｓ２０３の処理では、カウンタｉに格納された値に基づいて、図３中に示したｉ番目の仮想デバイスの状態が変わったかどうかの判定を行う（Ｓ２０３）。Ｓ２０３の処理において、仮想デバイスの状態はどのような方法で取得してもよいが、例えば、ＰＣ１において仮想デバイスの状態に相当する情報を仮想デバイスに対応するプリンタから取得するための常駐プロセスを稼働させておき、上記Ｓ２０２の処理の中で、その常駐プロセスとプロセス間通信を行うことにより、仮想デバイスの状態を取得するようにすればよい。あるいは、そのような常駐プロセスが、仮想デバイスの状態に相当する情報をプリンタから取得する毎に、その情報をファイルに書き出すように構成されていれば、そのファイルから情報を読み込んでもよい。あるいは、そのような常駐プロセスと同様の処理を上記Ｓ２０３の処理の中で実行することにより、Ｓ２０３の処理の中で仮想デバイスに対応するプリンタから直接情報を取得するようにしてもよい。これらの方法の内、どのような方法で仮想デバイスの状態を取得するかについては、システムの規模、処理速度、利便性、実装に必要なコスト等を勘案して、任意に好適なものを採用すればよい。
【００５４】
Ｓ２０３の処理において、ｉ番目の仮想デバイスの状態が変わっていた場合（Ｓ２０３：ＹＥＳ）、図３中に示したｉ番目の仮想デバイスを対象にして、対象となる仮想デバイスの仮想デバイス名を元の仮想デバイス名で初期化する（Ｓ２０４）。例えば、カウンタｉに格納された値が２の場合、初期化後の仮想デバイス名は「ＹＹＹＹ４８００ＣＸ」となる。
【００５５】
続いて、ＰＣ１は、ｉ番目の仮想デバイスの状態に基づいて、仮想デバイス名の前に状態を示す記号を付加する（Ｓ２０５）。このＳ２０５の処理において、仮想デバイス名の前に付加される記号は、図４に示すような文字列となる。これらの記号は、各記号とも２桁の数字によって状態を示しており、先頭桁が「０」または「５」の場合は正常な状態、先頭桁が「９」の場合は異常な状態であることを示している。また、先頭桁が「０」または「５」の場合は、どちらも正常な状態ではあるものの、先頭桁が「５」の場合は、警告状態にあることを示している。さらに、先頭桁が「５」または「９」の場合は、その原因に応じて末尾桁の数値が変わるとともに、その原因を具体的に表記した文字列（例えば、用紙少）も付加されている。
【００５６】
以上のような記号は、ｉ番目の仮想デバイスの状態に基づいて、いずれか１つの記号が仮想デバイス名の前に付加される。その結果、図３に示したような状態にある各仮想デバイスに対応する仮想デバイス名は、図５に示す「変更後の仮想デバイス名」のように変更されることになる。例えば、カウンタｉに格納された値が２の場合、変更後の仮想デバイス名は「９０  用紙切れ−ＹＹＹＹ４８００ＣＸ」となる。
【００５７】
なお、Ｓ２０５の処理を終えたら、Ｓ２０６の処理へと移行する。また、Ｓ２０３の処理において、ｉ番目の仮想デバイスの状態が変わっていなかった場合は（Ｓ２０３：ＮＯ）、上記Ｓ２０４〜Ｓ２０５の処理をスキップして、Ｓ２０６の処理へと移行する。Ｓ２０６の処理では、ＰＣ１は、カウンタｉに１を加えて（Ｓ２０６）、Ｓ２０２の処理へと戻る。これにより、Ｓ２０２〜Ｓ２０６のループ処理を、仮想デバイス数分だけ繰り返すことになる。そして、Ｓ２０６〜Ｓ２０８のループ処理を、仮想デバイス数分だけ繰り返した後、再びＳ２０６の処理へ戻ると、その時は、カウンタｉの値が仮想デバイス数より大きくなる。したがって、Ｓ２０６の処理では肯定判断がなされることになり（Ｓ２０６：ＹＥＳ）、その場合は、すべての仮想デバイスに対する処理が終わったということになるので、Ｓ２０１の処理へと戻る。
【００５８】
以後は、再びＳ２０２〜Ｓ２０６のループ処理を最初からやり直し、Ｓ２０３の処理により、仮想デバイスの状態に変化があったか否かの監視を行うことになり、状態に変化があるたびに、Ｓ２０４〜Ｓ２０５の処理が実行されることになる。
【００５９】
さて、以上説明したような仮想デバイス名変更処理が行われる結果、ＰＣ１に登録されている仮想デバイス名は、図５に示した通りに変更され、仮想デバイスを利用者に選択させる際には、図５に示した「変更後の仮想デバイス名」が表示されるようになる。
【００６０】
より具体的には、例えば、アプリケーションの印刷機能を利用する際、利用者が所定の操作を行うと、ＰＣ１の表示部１５には、図６に示すような印刷ダイアログ５１が表示される。この印刷ダイアログ５１内には、使用する仮想デバイスを選択するためのリストボックス５３が設けられている。印刷ダイアログ５１が表示された最初の時点において、リストボックス５３内には、その時点で選ばれている仮想デバイス名１つが表示されている。
【００６１】
ここで利用者が別の仮想デバイスを選択したい場合、利用者はポインティングデバイスを使ってリストボックス５３の右端にあるマークをクリックする操作（または、当該操作と同等とみなされるキーボード操作等でもよい）を行う。すると、リストボックス５３の近傍（例えば、リストボックス５３の直下）には、図７に示すように、リスト５５が表示される。
【００６２】
このリスト５５内には、他の選択肢となる複数の仮想デバイス名が列挙される。このとき、リスト５５内では、ＯＳであるＷｉｎｄｏｗｓ（登録商標）の仕様により、仮想デバイス名が文字コード順に列挙されることになるが、図５に示したように、仮想デバイス名は、元の仮想デバイス名の先頭に図４に示した記号が付加された名前に変更されている。そのため、図７に示したリスト５５内において、先頭に００が付加された正常な仮想デバイスの仮想デバイス名については、最も上位に列挙されることになる。
【００６３】
また、その次に、先頭に５ｘ（ただし、ｘは０〜１のいずれか）が付加された警告状態の仮想デバイスの仮想デバイス名が列挙され、最後に、先頭に９ｘ（ただし、ｘは０〜３のいずれか）が付加された異常状態の仮想デバイスの仮想デバイス名が列挙される。したがって、利用者は、列挙された仮想デバイス名を上位側から順に見てゆくだけで、容易に正常な状態にある仮想デバイスに対応する仮想デバイスを選択することができる。
【００６４】
［効果］
以上説明したように、上記ＰＣ１においては、上記仮想デバイス名変更処理を実行することにより、状態に応じて仮想デバイス名が変更されるので、利用者は、複数の仮想デバイス名が表示された際に、仮想デバイス名を見て所望の状態にある仮想デバイスを選ぶことができる。
【００６５】
したがって、例えば、デフォルトの仮想デバイス以外に、出力先の候補となるいくつかの仮想デバイスがあり、その中に印刷不能な状態にあるものが混在していたとしても、利用者は、仮想デバイス名を見るだけで印刷可能な状態にある仮想デバイスを選択できるようになる。
【００６６】
また、変更後の仮想デバイス名には、仮想デバイスの状態を表す数字および仮想デバイスの状態を表す文字列が付加されるので、それら数字および文字列のいずれかを見るだけで、仮想デバイスの状態を知ることができる。しかも、仮想デバイスの状態を表す数字については、仮想デバイス名の先頭に付加されるので、変更後の仮想デバイス名は、同じ状態にある仮想デバイス毎にまとめられた状態で表示される。したがって、様々な状態にある仮想デバイスが混在する状態で表示されるものに比べ、所望の状態にある仮想デバイスがまとめて表示されている部分を容易に見つけることができ、所望の状態にある仮想デバイスを容易に選ぶことができる。
【００６７】
また、上記仮想デバイスの状態を表す数字は、より正常な状態にあるほど小さい値の数字とされていて、ＰＣ１は、ＯＳの機能により、仮想デバイス名を文字コード順に整列させて表示するので、正常な状態にある仮想デバイスが上位側に列挙されるとともに、異常な状態にある仮想デバイスは下位側に列挙されるので、単に同じ状態にある仮想デバイスがまとめて表示されるだけのものとも異なり、上位側から仮想デバイス名を見ることにより、より簡単に正常な状態にある仮想デバイスを選択することができる。
【００６８】
また、上記仮想デバイスの状態を表す数字は、先頭桁の値を見るだけで、正常か異常か、正常であっても警告状態にあるか否かを、利用者が識別できるような値になっているので、仮想デバイス名を見て仮想デバイスの状態が正常か異常かを知ることができ、さらに、正常なものについては、警告状態にあるか否かをも知ることができる。
【００６９】
さらに、上記ＰＣ１においては、少なくとも１つの仮想デバイスの状態に変化があれば、仮想デバイス名が変更されるので、仮想デバイス名を最新の状態を反映したものに変更することができる。
【００７０】
［変形例等］
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
【００７１】
例えば、上記実施形態においては、変更後の仮想デバイス名として、仮想デバイスの状態を表す数字（００，５０，５１，９０，９１，９２，９３）および仮想デバイスの状態を表す文字列（正常、用紙少、トナー少、用紙切れ、トナー切れ、電源ＯＦＦ、オフライン）の双方を付加した例を示したが、これらはいずれか一方を付加してもよい。
【００７２】
具体的には、仮想デバイスの状態を表す数字だけを付加してもよく、この場合でも、このような数字を仮想デバイス名の前に付加すれば、仮想デバイスを選択する際には、同じ状態にある仮想デバイス名毎にグループ化された状態で、複数の仮想デバイス名が列挙されるので、利用者は所望の状態にある仮想デバイスを容易に選択できるようになる。ただし、この場合は、利用者が数字を見て仮想デバイスの状態を判断することになる。
【００７３】
また、正常、用紙少、トナー少、用紙切れ、トナー切れ、電源ＯＦＦ、オフラインといった仮想デバイスの状態を表す文字列だけを付加してもよく、この場合でも、このような文字列を仮想デバイス名の前に付加すれば、仮想デバイスを選択する際には、同じ状態にある仮想デバイス名毎にグループ化された状態で、複数の仮想デバイス名が列挙される。ただし、これらの文字列を付加した場合、同じ状態にある仮想デバイス名はまとまるものの、各グループがどのような順序で並ぶかは、付加した文字列の文字コードによって変わるので、状態をわかりやすく示す文字列だけを付加しても、所望の順序で整列させることはできない可能性がある。
【００７４】
この点、先頭に数字を付加することにより、仮想デバイス名を所望の順序で整列させるとともに、その後に、状態を示す文字列を付加することにより、数字よりもわかりやすく状態を示せば、整列順序の最適化とわかりやすさを双方とも改善できる。
【００７５】
なお、先頭に数字を付加することにより、仮想デバイス名を所望の順序で整列させる場合には、正常、用紙少、トナー少、用紙切れ、トナー切れ、電源ＯＦＦ、オフラインといった仮想デバイスの状態を表す文字列を、元の仮想デバイス名の後に付加してもよく、後に付加した場合でも、整列順には特に影響がない。また、整列順序にこだわらないのであれば、仮想デバイスの状態を表す数字や文字列は、どこに付加してあってもよく、この場合でも、仮想デバイス名を見るだけで仮想デバイスに対応する仮想デバイスの状態を知ることができる、という効果がある。
【００７６】
また、上記実施形態では、仮想デバイス名の前に付加される文字列として、図４に例示したような２桁の数字を利用する旨を説明したが、このような数字（あるいは数字の代わりとなる文字や記号）からなる文字列と仮想デバイス各状態との対応付けは、あらかじめ取り決められた変更不能な対応付けであってもよいし、利用者が任意に取り決めることができる変更可能な対応付けであってもよい。この対応付けを変更できれば、利用者は、仮想デバイスの表示優先順位を所望の順序に変えることができる。したがって、例えば、用紙切れを優先的に表示させたい利用者は、より小さい数字（あるいは、より小さい文字コードを持つ文字や記号；以下同様）を用紙切れに対応付ける一方、電源ＯＦＦを優先的に表示させたい利用者は、より小さい数字を電源ＯＦＦに対応付けることにより、各利用者にとって利便性の高い順序で仮想デバイス名を表示できるようになる。
【００７７】
さらに、上記実施形態では、仮想デバイス名の前に付加される文字列の先頭桁に、「０」、「５」、「９」という数字を用いることで、正常かつ警告無しの仮想デバイス、正常かつ警告ありの仮想デバイス、異常な仮想デバイスを、大きく３つのグループに区分していたが、このようなグループの区分をすることができれば、「０」、「５」、「９」以外の文字を利用してもよいことは、もちろんである。例えば、「０」、「５」、「９」に代えて「１」、「２」、「３」を用いてもよいし、数字以外の文字（例えば、「Ａ」、「Ｂ」、「Ｃ」）などを用いてもよい。あるいは、機能的に見て「０」、「５」、「９」に相当する部分が２文字以上であってもよく、例えば、仮想デバイスが正常かつ警告無しの状態となっている場合に文字列の先頭２文字が「０Ａ」とされ、仮想デバイスが正常かつ警告ありの状態となっている場合に文字列の先頭２文字が「０Ｂ」とされ、仮想デバイスが異常な状態となっている場合に文字列の先頭２文字が「１Ｃ」などとされてもよい。この場合、「０Ａ」と「０Ｂ」とは先頭から２文字目でソートされ、「０Ａ」および「０Ｂ」と「１Ｃ」とは先頭から１文字目でソートされることになるが、これでも仮想デバイス名に対し、「０」、「５」、「９」という整列順同様、「０Ａ」、「０Ｂ」、「１Ｃ」という整列順を付与することができる。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施形態として例示した仮想デバイス名変更処理を実行するＰＣと、プリンタとを備えてなるシステムのハードウェア構成を示すブロック図。
【図２】仮想デバイス名変更処理のフローチャート。
【図３】仮想デバイス名と仮想デバイスの状態を例示した説明図。
【図４】仮想デバイスの状態と仮想デバイス名に付加される記号を例示した説明図。
【図５】元の仮想デバイス名と変更後の仮想デバイス名を例示した説明図。
【図６】印刷ダイアログを例示した説明図。
【図７】印刷ダイアログ中のリストボックスを展開した状態を例示した説明図。
【符号の説明】
【００７９】
１・・・パーソナルコンピュータ（ＰＣ）、２，３・・・プリンタ、４・・・プリンタケーブル、５・・・ＬＡＮケーブル、１０，２０，３０・・・ＣＰＵ、１１，２１，３１・・・ＲＯＭ、１２，２２，３２・・・ＲＡＭ、１３，２３，３３・・・ハードディスク装置（ＨＤＤ）、１４・・・操作部、１５・・・表示部、１６，２６，３６・・・プリンタポートインターフェース（プリンタポートＩ／Ｆ）、１７，２７，３７・・・ＬＡＮインターフェース（ＬＡＮ  Ｉ／Ｆ）、２４，３４・・・操作キー、２５，３５・・・表示パネル、２８，３８・・・不揮発性ＲＡＭ、２９，３９・・・印字部、５１・・・印刷ダイアログ、５３・・・リストボックス、５５・・・リスト。
【図１】
2007200254.tif 000003
【図２】
2007200254.tif 000004
【図３】
2007200254.tif 000005
【図４】
2007200254.tif 000006
【図５】
2007200254.tif 000007
【図６】
2007200254.tif 000008
【図７】
2007200254.tif 000009