WSD で接続されたプリンターに印刷すると、印刷完了後にジョブが削除されないことがある

現象
WSD で接続されたプリンターに印刷をすると、印刷完了後にジョブが削除されず、"プリンターに送信" というステータスのままキューに残ってしまうことがあります。

本事象は以下の条件がすべて成立した場合に発生することが確認されています。

(1) SetPrinterEventRate リクエストに対して PrinterEventRate が変更されたという PrinterElementsChangeEvent が届くこと
(2) WSD プリンター デバイスの電源 OFF 時にデバイスの切断が検知されないこと
(3) WSD プリンター デバイスの電源 ON 時にデバイスの接続が検知されないこと

なお、Windows 10 では同様の問題は発生しません。
原因
本事象は、WSD ポート モニターがプリンターからの JobEndStateEvent の通知を待っているが、プリンターから JobEndStateEvent の通知が受信されないために発生いたします。
回避策
本問題が発生し、印刷ジョブの削除ができなくなってしまった場合には、Print Spooler サービスを再起動するか、コンピューターを再起動してください。

また、セキュリティが強化された Windows ファイアウォールの画面にて、"ネットワーク探索 (WSD イベント受信)" をブロックすることについて検討してください。
詳細
Windows では、WSD で接続されたプリンターに印刷を行う場合には、JobEndStateEvent の Subscribe を行い、印刷が完了したかどうかの判断を行っております。

この時、WSD ポート モニターでは、SetPrinterEventRate のリクエストを発行し、プリンターからの PrinterElementsChangeEvent (PrinterEventRate) の通知が来るかどうかを確認しています。

プリンターから PrinterElementsChangeEvent (PrinterEventRate) の通知が来ない場合には、JobEndStateEvent の Subscribe を中止します。

また、JobEndStateEvent の Subscription が有効になっている場合にも、プリンター デバイスの切断や、再起動が行われたことを検知した場合には、JobEndStateEvent の Subscription が中止されます。

JobEndStateEvent の Subscribe が行われていない場合には、WSD ポート モニターはプリンターに対して定期的な Polling を行い、印刷ジョブのステータスを確認します。

注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:3173507 - 最終更新日: 06/28/2016 21:41:00 - リビジョン: 1.0

Windows 8, Windows 8 Enterprise, Windows 8 Pro, Windows 8.1, Windows 8.1 Enterprise, Windows 8.1 Pro, Windows Server 2012 Datacenter, Windows Server 2012 Essentials, Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Essentials, Windows Server 2012 R2 Standard, Windows Server 2012 Standard

  • KB3173507
フィードバック