.NetFrameworkでのプリンタ切断検知
現在アプリからプリンタに出力するアプリがあります
接続切断検知についてなのですが
LocalPrintServerクラスのGetPrintQueueメソッドからプリンタの状態を取得しているのですが
取得した状態のうち
IsOfflineプロパティが常にfalseになってしまいます
USBケーブルを抜き差しすると、デバイスとプリンターのアイコンが
抜いているときはハーフグレーになるのでOSはプリンタが切れたことを検知しているみたいなのですが
プログラム上からは常にオンライン(IsOffline=false)となってしまいます(カバーオープンや紙切れは検知するのですが・・・・)
プリンタの接続状態は他に、どのような方法で検知すればいいのでしょうか
今の環境はWindows7/.NetFramework4.5なのですが、Windows8.1やWindows10でも使用できる方法が知りたいです
業務用のプリンタなので最初はそういう仕様なのかと思いましたが、
デバイスとプリンター上からはちゃんと検知しているので何か標準的な方法が他にあったりするのでしょうか