次の方法で共有


プリンター インストールとプラグ アンド プレイ マネージャー

プラグ アンド プレイ マネージャーは、マシンのすべてのプラグ アンド プレイ イベントを処理し、すべてのデバイスに対して汎用的です。 プラグ アンド プレイ マネージャーについては、「プラグ アンド プレイ」に記載されています。 「プラグ アンド プレイの概要」では、プラグ アンド プレイのインストールの概要と、さまざまなカーネルモード コンポーネントとユーザーモード コンポーネントの相互作用について説明します。

Windows 98/Me と Windows 2000 以降でのプリンターのインストールの違い

Windows 2000 以降のプラグ アンド プレイ アーキテクチャは、Windows 95/98/Me のアーキテクチャとは異なります。 最も大きな違いは次のとおりです。

  • Windows 2000 以降に付属のドライバーは、オペレーティング システムのインストール時にインストールされる driver.cab ファイルに含まれています。 このファイルにはすべての種類のデバイスのすべてのプラグ アンド プレイ インボックス ドライバーが含まれているため、ユーザーは通常、ドライバーをインストールするために元のインストール メディアを必要としません。

  • 特定のドライバーをインストールする際に、ユーザーの介入はほとんどまたはまったく必要ありません。 Microsoft によってデジタル署名された Windows 2000 以降のドライバーが driver.cab に含まれている場合や既にマシンにインストールされている場合、プラグ アンド プレイによってドライバーの署名が検証され、ユーザーの介入なしにドライバーがインストールされます。 この種類のインストールは、サーバー側インストールと呼ばれます。 ドライバーがシステムで使用できない場合、または署名されていない場合、またはドライバーをインストールするために (ユーザー インターフェイス要素を介した) ユーザーとの対話が必要な場合、プラグ アンド プレイはクライアント側インストールに戻ります。 ほとんどの場合、新しいプラグ アンド プレイデバイスが接続された状態でマシンを起動すると、ユーザーがログオンした時点でデバイスがインストールされ、使用する準備が整います。

ユーザーがインストールするドライバーを選択できるようにする必要がある場合は、INF ControlFlags セクションで InteractiveInstall ディレクティブを使用できます。 このディレクティブは、次の 2 つの状況でのみ使用できます。

  1. ハードウェア ID が正しく定義されていないデバイスをインストールする場合。 これは、ハードウェア デバイスのハードウェア ID が破損している場合、またはハードウェア設計のミスでハードウェア ベンダーが同じハードウェア ID を 2 つの異なるデバイスに割り当てた場合に発生する可能性があります。

  2. 汎用クラス インストーラーを使用できないデバイスのドライバー、またはオペレーティング システムに付属のドライバーをインストールする場合。

ハードウェア ID または互換性 ID が InteractiveInstall ディレクティブと共に記載されている場合、それらの ID に一致するプリンターのインストールがセットアップによってクライアント側に先送りされるため、管理者がログオンするまでインストールが延期されます。 管理者は、正しいドライバー ファイルをインストールするように求められます。 これは、2 つのプリンター ドライバーが同じデバイス ID を共有している一方で異なるドライバーを必要としている場合に便利です。

Windows 2000 以降とは異なり、Windows 95/98/Me のプラグ アンド プレイでは、ハードウェア ID (ランク 0) が一致する場合にのみ、ユーザーの介入なしにデバイスがインストールされます。 プラグ アンド プレイ デバイスのドライバーと互換性 ID (ランク 1) が一致する一方でハードウェア ID が一致しない場合、ユーザーはインストール メディアから適切なドライバーを選択するように求められます。 (つまり、ドライバーをインストールするには、ユーザーがインストール メディアを保有している必要があります)。

また、Windows 95/98/Me では、ドライバーが複数のデバイス (または複数のバス上の類似のデバイス) 用に書き込まれるときに、INF ファイルに互換性 ID のみが記載されている場合、ユーザーは常にインストールを求められます。ただし、INF ファイルにすべてのハードウェア ID と共に重複するドライバー エントリが記載されている場合を除きます。

重複するインストールの検出

セットアップでプリンター クラス インストーラーを呼び出してプリンターをインストールすると、クラス インストーラーは、プリンターが既に手動でインストールされているかどうかを判断します。 これは、現在インストールされているプリンターのドライバー名およびポート名と INF ファイルに記載されている名前との完全一致を探すことによって行われます。 ドライバーとポート名がこれらの 2 つのパラメーターと一致するインストール済みの印刷キューがクラス インストーラーによって検出された場合、2 つ目の印刷キューはインストールされず、代わりに devnode エントリに関連付けられます。 これにより、同じデバイスに対して 2 つ目の印刷キューを作成できなくなります。

いくつかの一般的なプリンター モデルでは、同じハードウェア ID を共有しています (HP DeskJet シリーズなど)。 Windows 95/98/Me では、DeskJet モデルをユーザーが手動でインストールし、これが後でプラグ アンド プレイによって検出された場合、ユーザーが適切なドライバーを選択すると 2 つ目の印刷キューがインストールされます。 ユーザーがドライバーを選択しない場合は、コンピューターが再起動されるたびにドライバーを選択するように求められます。

Windows 2000 以降では、ハードウェア ID互換性 ID の両方が一致するすべてのプリンターを記載することで、この動作を回避します。 複数の一致が見つかった場合、クラス インストーラーは、同じハードウェア ID が一致する印刷キューが既に存在するかどうかを確認します。 存在する場合、プラグ アンド プレイ マネージャーは 2 つ目のキューをインストールしません。 存在しない場合、ハードウェア ID の一致は互換性 ID の一致にダウングレードされます。 これらのハードウェア ID が INF ファイルの InteractiveInstall エントリ (「INF ControlFlags セクション」を参照) にも記載されている場合、ユーザーは、ドライバーを選択するように求められます。