ネットワーク プリント サーバーからプリンター ドライバーをインストールする方法

文書翻訳 文書翻訳
文書番号: 203604
すべて展開する | すべて折りたたむ

概要

Microsoft Windows NT テクノロジに基づくプリント サーバー プリンター ドライバー ファイル、Windows 95、Windows 98、Windows 98 秒 Edition (SE)、および Windows Millennium Edition クライアントを利用できます。この資料では識別、ダウンロード、およびクライアント コンピューターにプリンター ドライバーのインストールをインストールする方法について説明します。

詳細

Windows 95 およびそれ以降のバージョンのオペレーティング ・ システムのポイント アンド プリントをサポートします。ポイント アンド プリントはでユーザー設定して適切なプリンター ドライバーを提供することがなくネットワーク プリンターに印刷するための機能です。以後この資料の Windows 95、Windows 98、Windows 98 SE、および Windows Me にまとめて、Windows 95 クライアントとして参照されます。

ポイント アンド プリント機能を Windows 95 クライアントの使用方法の詳細については、Knowledge Base の次の資料に「接続して、共有プリンター」を参照してください。
141839 ポイント アンド プリントを使用して、ネットワーク プリンターを設定する方法
ポイント アンド プリントが可能なドライバー ファイルが Windows 95 クライアント プリンター ドライバーのインストール、サーバー上のプリンター共有にインストールされているため。これを行う方法の詳細については、「サポート技術情報」資料を参照するには、次の文書番号をクリックしてください。
142667 Windows NT 4.0 または Windows 2000 での Windows 95 プリンター ドライバーの共有方法
プログラム的な方法で Windows 95 ベースのオペレーティング システムを実行しているクライアント コンピューター上のプリンターのインストールを自動化することができます。次の手順は、Windows 95 のポイントと印刷のインストール プロセスに類似した方法で、プリンター ドライバー ファイルをインストールします。

プリント サーバーからプリンター ドライバー ファイルをインストールするには、次の手順を実行します。
  1. プリンター共有への UNC パスを使用してプリント サーバーにプリンターを識別します。
  2. 呼び出すことによって、プリント サーバーからドライバーのインストールに関する情報を取得、 GetPrinterDriver 関数が文字列を適切な環境です。
  3. ドライバーのインストールが既にインストールされているかどうかを参照してくださいし、の競合を解決するには、次のように確認してください。
  4. ドライバーのインストール用のドライバー ファイルを呼び出すことでインストールする場所を決定する、 GetPrinterDriverDirectory 関数です。
  5. プリント サーバー上のドライバー ファイルの場所を確認します。
  6. ドライバー ファイル、プリント サーバーの共有から、ローカルのインストール フォルダーにコピーします。以前に取得した DRIVER_INFO 構造体のすべてのドライバー ファイルの一覧を提供します。
  7. プリンター ドライバーの情報をローカル コンピューターに適した可能性がありますように変更します。
  8. 呼び出すことにより、ドライバーのインストールをインストール、 AddPrinterDriver 関数です。

ステップ 1: ターゲット プリンターを識別します。

通常プリンター何らかの方法でユーザーがユーザー インターフェイスに入力される名前によってまたはリストから選択して指定します。プログラム用に、プリンターの UNC 名リストまたはプログラムがアクセスするデータベースに格納できます。また、プリンターの UNC 名を使用して、アルゴリズムで指定できます、 EnumPrinters ネットワーク上でアクセス可能なプリンターを検索する関数です。

、どのような方法には、サーバーの名前と、プリンターの名前の両方のプリンターを識別する UNC パスが含まれます。

手順 2: プリンター ドライバーに関する情報

ドライバーのインストール プロセスを開始するには、プログラム、ドライバー ファイルの一覧と、ドライバーのインストールにドライバー ファイルの構成を確認する必要があります。この情報は、プリント サーバーで呼び出すことによって提供されます、 GetPrinterDriver 初期化関数は、 DRIVER_INFO_3 共有プリンターのドライバー インストール情報をバッファーします。

呼び出すには GetPrinterDriver 関数は、プリンターへのハンドルが必要です。このハンドルを取得してから、 OpenPrinter 手順 1 で指定したプリンターの UNC 名を使用する関数です。Windows 95 では、2 番目のパラメーターに基づくクライアントの場合 GetPrinterDriver 常に環境の 1 つだけのバージョンの Windows 95 のため NULL に次のようにします。A DRIVER_INFO_3 このバッファー定義を使用してすべての Windows 95 およびそれ以降のオペレーティング システムにドライバーをインストールするため Windows 95 クライアントのバッファーを要求する必要があります。正しくは、呼び出し元のバッファーの割り当てを入力 Windows スプーラー関数を呼び出す方法の詳細については、Knowledge Base の次の資料を参照してください。
158828 [Howto]: 正しく Win32 スプーラーの列挙型 Api を呼び出す方法

手順 3: 以前のプリンター ドライバーのインストールを確認

Windows 95 クライアントで、プリント サーバー上で識別されるドライバーのインストールが既にインストールされている可能性がありますは。既にインストールされている場合は、ドライバー ファイルを再インストールする必要はありません。ポイント アンド プリントのインストールはこのような競合が発生すると、既存のドライバーを保持または置換に提供することによって競合を解決するには、ダイアログ ボックスが発生します。推奨される操作は、既存のドライバー ファイルがあるため、既存のプリンターのインストールをクライアントで使用する前提にです。

そのドライバー ファイルを上書きする必要があるためプリンター ドライバーは複雑なトピックです。使用されている場合、ドライバー ファイルを上書きできません。使用からドライバーのインストールを解放するには、プリンターのインストール プリンター ドライバーをすることができますありません。プリンター ドライバーを追加する方法についても説明しますが、プリンター ドライバーを置き換える方法については説明しません。

手順 4: 先のプリンター ドライバー ファイルを取得します。

は、 AddPrinterDriver 関数は、ドライバー ファイルは、Windows 95 クライアントの特定の位置を検索します。プリンター ドライバー ファイルをこの場所にコピーしてください。プリンター ドライバー ファイルのパスは、によって提供される、 GetPrinterDriverDirectory 関数です。この関数の pName パラメーターに、NULL ポインター値を渡すことが、ローカル プリンター ドライバー フォルダーを返すには AddPrinterDriver ドライバー ファイルを指定できます。

手順 5: サーバー上のプリンター ドライバー ファイルを検索します。

通常、プリント サーバー上のプリンター ドライバー ファイルの場所を呼び出すことでありますが GetPrinterDriverDirectory 関数は、pName パラメーターでサーバー名を渡します。残念ながら、Windows 95 クライアントでは、この関数のリモートまたはサーバー部分は実装されていません。PName パラメーターが NULL ポインター値は、常に渡す必要があり、ローカルのプリンター ドライバー ディレクトリ常に返します。ので、 GetPrinterDriverDirectory 関数は、サーバーのドライバーのフォルダーにネットワーク パスを返すことはできません、ネットワーク パスに、アプリケーションをビルドする必要があります。

マイクロソフト Windows NT と Windows 2000 プリント サーバーでは、$ の印刷共有上のディレクトリ ・ ツリーで、プリンター ドライバー ファイルが共有されます。この共有はユーザーのネットワークの参照動作時に表示されないよう非表示です。Windows 95 プリンター ドライバーのファイル共有、Windows 4.0 環境で Win40 をという名前フォルダーの下にあります。ドライバー ファイルは、0 (ゼロ) という名前のサブフォルダーにあります。Windows 95 プリンター ドライバーのドライバーのアーキテクチャ リビジョンは 0 です。

Windows 95 ベースのクライアントは、サーバー上のプリンター ドライバー ファイルへのネットワーク パスのことです、\\<server></server>\print$\win40\0 フォームの場所 <server></server> プリント サーバーの名前のプレース ホルダーです。

手順 6: プリンター ドライバー ファイルをコピーします。

すべてのプリンター ドライバーのインストールで使用されるファイルの一覧が表示されます、 DRIVER_INFO_3 手順 2 で取得した構造です。サーバーからローカル Windows 95 クライアント プリンター ドライバー フォルダーにドライバー ファイルをコピーするには、だけで、ファイル名、ドライバーのすべての関連する文字列フィールドにら DRIVER_INFO_3。

抽出された各ファイル名については、完全な UNC ネットワーク ソース ファイルへのパス、手順 5 を特定のネットワーク パスを使用して、形成します。同じファイル名を使用すると、ファイル名と手順 4 で取得したローカル プリンター ドライバー フォルダーを使用して、ローカルの受け側パスを形成します。

Windows 95 クライアントの場合は、ファイル名だけをプリント サーバーから返される構造体を格納します。ただし、他のクライアント オペレーティング システムに、完全なパスをドライバーのファイル名フィールドに指定あります。これらのパスは、ファイル名の前に、フォームのソースと宛先パスから削除する必要があります。

なお、 pDependentFiles メンバ DRIVER_INFO_3 各ファイル名を示す文字列、0 (NULL) の終端を分割することによって複数のファイル名が表示されます。ファイルでこのメンバーのリストの末尾は、二重の NULL 終端文字によって示されます。

Win32 を使用します。 ファイル コピー 各ドライバー ファイルをサーバーからローカル コンピューターにコピーします。

このプロセスにエラー処理を構築する必要があります。処理する必要があります一部エラーの場合の例は次のとおりです。
  • 元のネットワーク パスは使用できない可能性があります。
  • ドライバーの情報が示されていますが、元のファイルは存在しません。
  • ローカルのファイル名は既に存在可能性があります。
ローカル コンピューター上のプリンター ドライバーのファイルの前のインスタンスはべき特殊なケースです。これにはこのケースを処理するためには、3 つのオプションがあります。
  • ファイルをコピーし、ドライバーのインストールが失敗します。
  • ファイルを上書きしようとしてください。
  • ファイルをコピーし、サーバーにあるファイルの代わりに既にインストールされているファイルを使用するには、次のように進みます。
これ以上の場合の手順 3 で説明した、重複しているプリンター ドライバーのインストール、別の問題であることに注意してください。

多くの場合、同じ名前のファイルは実際はプリンター ドライバーのインストール間で共有できるファイルと同じことがあります。オペレーティング システムに付属する多くのプリンター ドライバーは、一般的なドライバー ファイルを共有します。UniDrv.dll と Pscript.dll は、このようなドライバー ファイルの例を示します。代わりに、ドライバー ファイル、同じ名前の正当なファイル名の競合があります。

この競合を解決するには、1 つの方法は、システムに既存のドライバー ファイルを使用することです。この方法のみ、新しいプリンターのインストールを確認していない既存プリンター インストールをドライバー ファイルの非互換性により低下します。

手順 7: ローカル プリンター ドライバーの情報を変更します。

必要な場合は、Windows 95 クライアントでこのインストールのドライバー情報に変更します。ほとんどの場合、プリント サーバーから取得される情報できるはずです。

ローカル インストールに変更する可能性がありますいくつかのことには、ドライバーのインストール、既定のデータ型の名前が含まれます。

ファイル名にも注意してください、 DRIVER_INFO_3 構造体の完全なパス情報を Windows 95 以外のクライアントでもあります。これらの完全なパスを呼び出す前に、ドライバー情報で、ファイル名から削除する必要があります、 AddPrinterDriver 関数です。

手順 8: プリンター ドライバーをインストールします。

後のドライバー ファイルが、ローカル プリンター ドライバー フォルダーと、適切なコピーします。 DRIVER_INFO_3 バッファーが準備ができて、掲載 AddPrinterDriver プリンター ドライバーをインストールするのには呼び出しは成功します AddPrinterDriver 参照することができます、プリンター ドライバーのインストールをインストールする、 pName メンバー、 DRIVER_INFO_3 構造体です。場合は、 AddPrinterDriver 関数が失敗した、呼び出しが GetLastError 原因を診断しようとする関数です。重複するドライバーのインストール名または不足しているコンポーネントで参照されている関数の失敗の一般的な原因のですが DRIVER_INFO_3 バッファーです。


プリンター ドライバーのインストールを使用します。

このプリンター ドライバーを使用してプリンターをインストールするには、プリンター ドライバーのインストール名 (pName) 文字列からを使用して、 DRIVER_INFO_3 構造に新しいプリンターを使用するには、プリンター ドライバーの名前します。プリンター ドライバーのインストール名を指定する、 PRINTER_INFO_2 構造体 pDriverName お問い合わせの際にメンバー AddPrinter.

最後に、この話題は、Windows 95 クライアントでのみ、プログラムのコードを実行することを想定しています。プラットフォームですのでこの前提は、ポイントと印刷のプリンター ドライバーを個別にダウンロードする必要があります。クライアント プラットフォームの違いと見なされる場合、プロセス Windows NT クライアントで使用できます。これらの違いは、完全なファイル名のパスには、 DRIVER_INFO_3 構造、さまざまなマイクロプロセッサの種類、構造の異なるレベルの適切な使用とサーバーのプリンター ドライバーでドライバー ファイルの場所に関する環境を共有しています。しかし、Windows NT や Windows 2000 にプリンター ドライバーの追加クライアントをこの方法では不要です。NT プリンター接続プリンターと印刷ジョブの管理の優れた手段を提供を 1 回の呼び出しでクライアントを簡単に追加できるため、これらのクライアントでは、NT プリンター接続を使用する必要があります。 AddPrinterConnection 手順 1 で見つかったプリンターの UNC パスを使用します。

関連情報

詳細については、以下のトピックでは、プラットフォーム SDK を参照してください。
DRIVER_INFO_3
.aspx の http://msdn.microsoft.com/en-us/library/ms535710 (VS.85)

GetPrinterDriver
.aspx の http://msdn.microsoft.com/en-us/library/ms535750 (VS.85)

GetPrinterDriverDirectory
.aspx の http://msdn.microsoft.com/en-us/library/ms535642 (VS.85)

ファイル コピー
.aspx の http://msdn.microsoft.com/en-us/library/aa363851 (VS.85)

AddPrinterDriver
.aspx の http://msdn.microsoft.com/en-us/library/ms535512 (VS.85)

PRINTER_INFO_2
http://msdn.microsoft.com/en-us/library/bb401711.aspx

AddPrinter
.aspx の http://msdn.microsoft.com/en-us/library/ms535500 (VS.85)

AddPrinterConnection
.aspx の http://msdn.microsoft.com/en-us/library/ms535726 (VS.85)

OpenPrinter
http://msdn.microsoft.com/en-us/library/aa907473.aspx

EnumPrinters
.aspx の http://msdn.microsoft.com/en-us/library/dd162692 (VS.85)

EnumPrinterDrivers
.aspx の http://msdn.microsoft.com/en-us/library/ms535713 (VS.85)

GetLastError
http://msdn.microsoft.com/en-us/library/aa911366.aspx

Win32 のエラー コード
http://msdn.microsoft.com/en-us/library/cc231199.aspx

プロパティ

文書番号: 203604 - 最終更新日: 2011年7月21日 - リビジョン: 6.0
キーワード:?
kbhowto kbprint kbspooler kbfile kbgdi kbdswgdi2003swept kbmt KB203604 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:203604
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com