追記:サービスのPrint Spoolerの停止はデバイスマネージャーでデバイスのアンインストールを実行してから行って下さい。先に行うとデバイスマネージャーでプリンターが表示されません。取り急ぎ
備忘録。職場の人が印刷設定でカラーか白黒かの選択をすると、下記のようなエラー「関数アドレス 0x????????????? 保護違反が発生しました。(例外コード 0x00000505)」と表示され、白黒で印刷出来ない状況が発生。
調べた限り「Windows11にアップグレードした後、Windows10にダウングレードした場合に発生する」とされているが、職場の人のパソコンはそのような事は無かったので何が原因かは不明。
ドライバを完全に消して再インストールする
私の職場ではこの方法で解決したが、必ずしもこれで解決するとは限らない。何をするか先に書くと、プリンターのドライバ関連ファイルを一度手動で移動させて、ドライバの再インストールを行う。関連ファイルを残したままドライバの再インストールをしても、エラー発生の原因ファイルがそのまま使用されるのかエラーが出るのは変わらなかった。ドライバの再インストールが自力で出来ない場合は誰かに頼むか諦めるしかない。
まずサービスからPrint Spoolerを止める。印刷にかかわる機能のPrint Spoolerを止めないと、プリンターのドライバ関連ファイルが移動できないので注意。分かる人は飛ばして構わない。
次に、プリンター関連ファイルの場所
C: Windows\System32\spool\drivers\x64
まで移動し、「3」というフォルダの名前を変更するか、中身を丸々どこかへ切り取り貼り付けで移動する。削除でも構わないが移動だけすれば事足りるし、何かあったら元に戻せる。とにかく「3」フォルダの中を空にするのがポイント。
次にデバイスマネージャーを起動し、問題となっているプリンターを選択して「デバイスのアンインストール」を行う。
これでプリンターを一旦アンインストール出来ていると思うが、念のため
設定→デバイス→プリンターとスキャナー
から問題のプリンターがちゃんと削除出来ているか確認する。確認出来たら念のため再起動。そこまでする必要もないが、私は再起動してからも一応プリンターがアンインストール出来ているか確認した。先程止めたPrint Spoolerを再始動する意味もある。
後はプリンターのドライバーを再インストールするだけ。プリンターのドライバーインストール手順は機種によって違うので特に触れない。最初に買った時のメディア(CDなど)があるならそれを使えば良い。
Print Spoolerは再起動した時に自動で起動している筈だが、印刷が出来ない時は停止したままになっていないかチェック。