WDM プリンタINFファイル解析一般のソースを表示
新しいページはコチラ
移動:
案内
,
検索
== '''概要''' == WDM プリンタインストールの解析記事です。最近はPrinterってPDFに出力するだけだったりすることも多いですが、そういったプリンタのインストールってどんな感じの動きをするのかを知るのがこの記事になります。管理人程度の知識ではさほど解析できないと思いますが、まずはやってみましょう。 管理人はNuance社製Paperportというアプリケーションを持っているので、それがどういう仕組みになっているのかを確認してみます。Paperportは亡くなった技術ですので、Paperportを入手して、一緒に確かめることは難しいと思います。 PaparPortは印刷してPDF化する仕組みをもったアプリで主にjpg画像をpdfに変換する機能やOCR機能で読み取れた文字を画像の文字列部分に文字情報をOverlapすることができるツールです。ほかにもIMGやPDFの簡単な編集といった機能をもっていてPDFの積み重ね機能も含めて文書管理としての機能を体現しています。 === ''' 印刷機能 ''' === Nuance PaperPortで、印刷機能のインストールがどんな感じになっているかを確認してみようと思います。 PaperPort Image Printerという名前で、他の機能とは完全に分離されていますが、ディレクトリには以下のようなファイル群がある。 <syntaxhighlight2 lang="txt"> ImagprnMigrate.exe ImgPrnSetupLib.dll Nuan.gpd NuanImageConvert.exe nuanoemuires.dll NuanPrint.inf NuanPrn.ini nuanui.dll NuanUNI.dll </syntaxhighlight2> この中のNuanPrint.infがインストールするときに実行するインストールファイルとなる。このファイルを右クリックして表示される[インストール]を選択する方法も多いですが、コマンドラインからインストールを起動する方法もあります。Windows10の管理人PCではどうやって起動するのがよいのかはわかっていません。まずはコマンドラインについてみてみましょう。 <syntaxhighlight2 lang="txt"> rundll32 printui.dll,PrintUIEntry /if /b "プリンタ名" /f NuanPrint.inf /r "lpt1:" /m "プリンタデバイス名" </syntaxhighlight2> 上記のような感じのコマンドでインストールする方法があるらしい。上記のコマンドは、なかなかお目にかかるものではないです。なんじゃこれ!って感じ。ヘルプを出してみましょう。 <syntaxhighlight2 lang="txt"> rundll32 printui.dll,PrintUIEntry /? </syntaxhighlight2> と、こんな感じにすると、違うウィンドウが起動して各種オプションに関する説明が得られます。 <syntaxhighlight2 lang="txt"> 使用法: rundll32 printui.dll,PrintUIEntry [オプション] [@コマンドファイル] /a[ファイル] バイナリ ファイル名 /b[名前] 基本プリンター名 /c[名前] UNC コンピューター名 (リモート コンピューターで実行される場合) /dl ローカル プリンターを削除します /dn ネットワーク プリンター接続を削除します /dd プリンター ドライバーを削除します /e 印刷設定を表示します /f[ファイル] inf ファイルまたは出力ファイル /F[ファイル] /f で指定された INF ファイルが依存する INF ファイルの場所です /ga コンピューターごとのプリンター接続を追加します (接続はログオン時にユーザーに伝達されます) /ge コンピューターごとのプリンター接続を列挙します /gd コンピューターごとのプリンター接続を削除します (接続はユーザー ログオン時に削除されます) /h[アーキテクチャ] ドライバー アーキテクチャが x86、x64 または Itanium のうちの 1 つです。 /ia inf ファイルを使ってプリンター ドライバーをインストールします /id プリンター ドライバーの追加ウィザード使ってプリンター ドライバーをインストールします /if inf ファイルを使ってプリンターをインストールします /ii inf ファイルとプリンターの追加ウィザード使ってプリンターをインストールします /il プリンターの追加ウィザード使ってプリンターをインストールします /im プリンターの追加ウィザードで、ネットワーク プリンターをスキップしてプリンターをインストールします /in ネットワーク プリンター接続を追加します /ip ネットワーク プリンターのインストール ウィザードを使用してプリンターをインストールします /j[プロバイダー] プロバイダー名を印刷します /k 指定されたプリンターでテスト ページを印刷します (プリンターのインストール時にはこのコマンドは使えません) /l[パス] プリンター ドライバー ソース パス /m[モデル] プリンター ドライバー モデル名 /n[名前] プリンター名 /o プリンター キューを表示します /p プリンターのプロパティを表示します /q QUIET モード、エラー メッセージを表示しません /r[ポート] ポート名 /s サーバー プロパティを表示します /Ss プリンターの設定をファイルに保存します /Sr ファイルからプリンターの設定を復元します コマンドの最後に追加されるプリンター設定オプション フラグの保存または復元: 2 PRINTER_INFO_2 7 PRINTER_INFO_7 c 色のプロファイル d プリンター データ s セキュリティ記述子 g グローバル デバイス モード m 最小限の設定 u ユーザー デバイス モード r 名前の競合を解決する f 名前を強制する p ポートを解決する i ドライバー名の競合 /u ドライバーが既にインストールされている場合は、それを使います /t[#] 開始するインデックス ページ (0 から始まります) /v[バージョン] ドライバーのバージョンは "Type 2 - カーネル モード" と "Type 3 - ユーザー モード" のどちらかです /w 指定されたドライバーが inf ファイルにない場合にユーザーに確認します /y 通常使うプリンターに設定します /Xg プリンター設定を取得します /Xs プリンター設定を設定します /z このプリンターを自動共有にしません /Y プリンター名を自動生成しません /K /h オプションで 2、3、4 の値をそれぞれ x86、x64、Itanium として認識するように変更し、/v オプションで 3 の値を "Type 3 - ユーザー モード" として認識するように変更します /Z このプリンターを共有にします。/if オプションと組み合わせる必要があります /? このヘルプを表示します @[ファイル] コマンド ライン引数ファイル /Mw[メッセージ] コマンドを実行する前に警告メッセージを表示します /Mq[メッセージ] コマンドを実行する前に確認メッセージを表示します /W[フラグ] ウィザード用のフラグとスイッチを指定します (APW および APDW) r ウィザードの最終ページでウィザードを再実行できるようにします /G[フラグ] グローバルのフラグとスイッチを指定します w セットアップ時にドライバー警告 UI を表示しません (Super Quiet モード) /R 既存のドライバーを選択したドライバーに強制的に置き換えます 例: サーバー プロパティの実行: rundll32 printui.dll,PrintUIEntry /s /t1 /c\\machine プリンター プロパティの実行: rundll32 printui.dll,PrintUIEntry /p /n\\machine\printer ローカルでプリンターの追加ウィザードの実行: rundll32 printui.dll,PrintUIEntry /il \\machine でプリンターの追加ウィザードを実行: rundll32 printui.dll,PrintUIEntry /im /c\\machine キュー表示の実行: rundll32 printui.dll,PrintUIEntry /o /n\\machine\printer inf インストールの実行: rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f c:\infpath\infFile.inf /r "lpt1:" /m "Brother DCP-128C" inf インストールの実行 (inf に依存)。例では、prnbr002.inf は ntprint.inf に依存します。 rundll32 printui.dll, PrintUIEntry /ia /m "Brother DCP-128C" /K /h x64 /v 3 /f "c:\infpath\prnbr002.inf" /F "c:\infpath\ntprint.inf" inf を使ったプリンターの追加ウィザードの実行: rundll32 printui.dll,PrintUIEntry /ii /f c:\infpath\infFile.inf 付属のプリンター ドライバーを使ったプリンターの追加: rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /r "lpt1:" /m "Brother DCP-128C" コンピューターごとのプリンター接続の追加 (接続はログオン時にユーザーに伝達されます): rundll32 printui.dll,PrintUIEntry /ga /c\\machine /n\\machine\printer /j"LanMan Print Services" コンピューターごとのプリンター接続の削除 (接続はユーザー ログオン時に削除されます): rundll32 printui.dll,PrintUIEntry /gd /c\\machine /n\\machine\printer コンピューターごとのプリンター接続の列挙: rundll32 printui.dll,PrintUIEntry /ge /c\\machine inf を使ったプリンター ドライバーの追加: rundll32 printui.dll,PrintUIEntry /ia /c\\machine /m "Brother DCP-128C" /h "x86" /v "Type 3 - User Mode" /f c:\infpath\infFile.inf inf を使ったプリンター ドライバーの追加: rundll32 printui.dll,PrintUIEntry /ia /K /c\\machine /m "Brother DCP-128C" /h "x86" /v 3 付属のプリンター ドライバーの追加: rundll32 printui.dll,PrintUIEntry /ia /c\\machine /m "Brother DCP-128C" /h "Intel" /v "Type 3 - Kernel Mode" プリンター ドライバーの削除: rundll32 printui.dll,PrintUIEntry /dd /c\\machine /m "Brother DCP-128C" /h "x86" /v "Type 3 - User Mode" プリンター ドライバーの削除: rundll32 printui.dll,PrintUIEntry /dd /K /c\\machine /m "Brother DCP-128C" /h "x86" /v 3 通常使うプリンターとして設定: rundll32 printui.dll,PrintUIEntry /y /n "printer" プリンター コメントの設定: rundll32 printui.dll,PrintUIEntry /Xs /n "printer" comment "My Cool Printer" プリンター設定の取得: rundll32 printui.dll,PrintUIEntry /Xg /n "printer" プリンター設定の結果をファイルに保存: rundll32 printui.dll,PrintUIEntry /f "results.txt" /Xg /n "printer" プリンター設定コマンドの設定の使用法: rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ? すべてのプリンター設定をファイルに保存: rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat" すべてのプリンター設定をファイルから復元: rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" レベル 2 のプリンター情報をファイルに保存 : rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat" 2 プリンター セキュリティ記述子をファイルから復元: rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" s プリンター グローバル デバイス モードとプリンター データをファイルから復元: rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" g d 最小設定をファイルから保存とポート名の解決: rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" m p プリンターのクライアント サイド レンダリングの有効化: rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ClientSideRender enabled プリンターのクライアント サイド レンダリングの無効化: rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ClientSideRender disabled </syntaxhighlight2> 上記の内、通常のプリンタインストールでよく使うオプションは */if :inf ファイルを使ってプリンターをインストール。 */b [名前] : 基本プリンター名。 */f [ファイル] :inf ファイルまたは出力ファイル */r [ポート] :ポート名 */m [モデル] :プリンター ドライバー モデル名
WDM プリンタINFファイル解析一般
に戻る。
個人用ツール
216.73.216.222
このIPアドレスのトーク
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ