(※ 2017 年 1 月 5 日に Japan WDK Support Blogに公開した情報のアーカイブです。)
V4 プリンター ドライバをデバッグするときに、どのようにデバッガをアタッチすればよいか困ったことはありませんか?
明けましておめでとうございます!WDK
サポートチームの石沢です。
今回は V4
プリンタドライバのレンダリングフィルタに Visual Studio
をアタッチする方法をまとめたいと思います。
なお、ドライバパッケージの作成に関しては、まさかたさんの以下の記事を参考にしてください。今回はすでにドライバパッケージが出来上がっているものとして進めます。
プリンター用デバイスアプリのサンプルを動かしてみる
https://social.msdn.microsoft.com/Forums/ja-JP/22a2e44f-ddad-48f0-92dd-96d9ff246082/-?forum=wdksupportteamja
プリンタドライバのデバッグ方法については、基本的には A
尾さんの以下の記事が元となっているのですが、実際にレンダリングフィルタのソースコード上でブレイクするところまでやってみたいと思います。
プリンタドライバやスプーラ コンポーネントをデバッグする
https://social.msdn.microsoft.com/Forums/ja-JP/5ab77501-cf2e-4cf5-932a-2f55a426f3c9/-?forum=wdksupportteamja
具体的なデバッグまでの道のりは以下となります。
<デバッグまでの道のり>
1. V4 プリンター ドライバのインストール
2. PrintFilterPipelineSvc
サービスのタイムアウト時間の設定
3. アプリケーションからの印刷 その 1
4. PrintFilterPipelineSvc
サービスにデバッガをアタッチ
5. アプリケーションからの印刷 その 2
なお、今回動作を確認した環境は以下です。
・OS: Windows 10 x86 Enterprise
・デバッガ: Visual Studio 2015 Enterprise
では実際に進めてみましょう!
■ 1. V4
プリンター ドライバのインストール
それでは最初に皆様が作成された V4
プリンター ドライバのパッケージをインストールしましょう。
ここでは Visual Studio
の 「Printer Driver V4」テンプレートを基にして作成したドライバを使用しています。

コントロールパネルから、「デバイスとプリンターの表示」を選択し、さらの「プリンターの追加」を選択。
さらに、プリンター ドライバのパッケージからインストールするため、表示されたウィンドウの「プリンターが一覧にない場合」を選択します。

ローカル プリンターとしてインストールするため、「ローカルプリンターまたはネットワーク プリンターを手動設定で追加する」を選択して次に進みます。

次にプリンター ポートの設定ですが、ここでは、「既存のポートを使用」を選択し、「FILE: (ファイルへ出力)」を選択します。

次のウィンドウで「ディスクを使用」からドライバパッケージ内の INF
ファイルを選択して、想定通りのドライバが表示されれば OK です!
次にすすんで

後はずんずん進んで以下のウィンドウが表示されればインストール完了です。

■ 2. PrintFilterPipelineSvc
サービスのタイムアウト時間の設定
次に、アタッチ先であるPrintFilterPipelineSvc
サービスのタイムアウト時間を変更しておきましょう。
詳細については、前述の A
尾さんの記事 (プリンタ ドライバやスプーラ コンポーネントをデバッグする)
をご参考ください。
ここでは以下のようにタイムアウト時間を 10
分に設定しました。
