ドライバー パッケージには、デバイスが Windows でサポートされるようにするために指定する必要があるすべてのソフトウェア コンポーネントが含まれています。 通常、ドライバー パッケージには次のコンポーネントが含まれています。
- セットアップ情報 (INF) ファイル
- カタログ ファイル
- ドライバー ファイル
- 他のファイル
ドライバー パッケージの各コンポーネントの簡単な説明を次に示します。
Windows Driver Kit (WDK) には、サンプル ドライバー パッケージが含まれています。 詳細については、「デバイス インストール ファイルのサンプル」を参照してください。
INF ファイル
すべてのドライバー パッケージには、デバイスのインストール時にデバイスのインストール コンポーネントが読み取るセットアップ情報 (INF) ファイルが含まれている必要があります。 INF ファイルはインストール スクリプトではありません。 これは、デバイスとドライバーの情報を提供する ASCII または Unicode (UTF-16 のみ) テキスト ファイルです。 セットアップ情報には、ドライバー ファイル、レジストリ エントリ、デバイス ID、 カタログ ファイル、およびデバイスにドライバー パッケージをインストールするために必要なバージョン情報が含まれます。
INF ファイルの正確な内容と形式は、INF が自身を宣言する デバイス セットアップ クラス によって異なります。 INF セクションの概要では、 INF の各種類で必要な情報について説明します。 一般に、製造元ごとの情報は INF モデル セクションにあります。 「 モデル 」セクションの項目は、モデル固有の詳細を含む INF DDInstall セクション を参照します。
InfVerif ツールは、すべてのクロスクラス INF セクションとディレクティブの構文と構造を、プリンターを除くすべてのセットアップ クラスのクラス固有の拡張機能と共にチェックします。 InfVerif ツールは、WDK の \tools ディレクトリにあります。
Windows オペレーティング システムのすべてのバージョンへのインストールには、1 つの INF ファイルを使用できます。 詳細については、「 複数のプラットフォームとオペレーティング システム用の INF ファイルの作成」を参照してください。 デバイスが国際市場で販売されている場合は、 国際 INF ファイルを作成します。 関連するロケールによっては、国際 INF ファイルが ASCII ではなく Unicode (UTF-16) ファイルである必要がある場合があります。
ドライバーの INF ファイルを作成する良い方法は、WDK が提供するサンプルのいずれかを変更することです。 ほとんどの WDK サンプル ドライバーには、サンプル ドライバーと同じディレクトリに INF ファイルが含まれています。
デバイスの INF ファイルには、少なくとも次の情報が含まれている必要があります。
- ドライバー パッケージがサポートされているオペレーティング システムのバージョンに関する情報
- ドライバー パッケージのセットアップ クラス GUID とセットアップ クラス
- ドライバー パッケージのバージョン情報
- ドライバー ファイルの名前とそのソースと宛先の場所
- ドライバー パッケージの適用性を決定するデバイス固有の情報 ( ハードウェア ID と 互換性のある ID を含む)
- カタログ (.cat) ファイルの名前
- 各ドライバー パッケージによって提供されるサービスを読み込む方法とタイミングに関する情報
デバイスがシステムの起動に関与している場合、インストール要件が異なります。 ブート ドライバーのインストールを参照してください。
INF ファイルの詳細については、「 INF ファイルの作成」を参照してください。 また、 InfVerif のドキュメント、WDK のデバイス固有のドキュメント、およびお使いのデバイス用のサンプル ドライバーと共に提供される INF ファイルも参照してください。
カタログ ファイル
ドライバー カタログ ファイルには、ドライバー パッケージ内の各ファイルの暗号化ハッシュが含まれています。 Windows では、これらのハッシュを使用して、発行後にパッケージが変更されなかったことを確認します。 カタログ ファイルが変更されないようにするには、このドライバー パッケージを使用してシステムによって信頼される デジタル署名 が必要です。
ベンダーは、テストと署名のためにドライバー パッケージを Windows Hardware Quality Lab (WHQL) に提出することで、リリース デジタル署名を取得します。 WHQL はカタログ ファイル (.cat ファイル) を返します。 詳細については、「 WHQL リリース署名」を参照してください。
ドライバーに署名する方法の詳細については、「一般公開用ドライバーの署名」および「開発およびテスト中のドライバー署名」を参照してください。
INF ファイルは、INF の INF バージョン セクションで CatalogFile ディレクティブを使用してカタログ ファイルを参照する必要があります。
ドライバー ファイル
ほとんどの場合、ドライバー パッケージには、ドライバー パッケージがインストールされている デバイスのデバイス スタック の一部である必要がある 1 つ以上のドライバー サービスが含まれています。 ドライバー サービスの詳細については、「 ドライバー モデルの選択」を参照してください。 ドライバー サービスは、デバイスの I/O インターフェイスを提供するパッケージの一部です。 通常、ドライバーはダイナミック リンク ライブラリ (DLL) です。sys ファイル名拡張子。 ブート開始ドライバーを除き、長いファイル名を使用できます。
特定のデバイスをサポートするために必要なソフトウェアは、デバイスの機能と、接続先のバスまたはポートによって異なります。 Microsoft には、多くの一般的なデバイス用のドライバーが付属しています。 これらのドライバーのいずれかがデバイスにサービスを提供できる場合は、デバイス固有の ミニドライバーのみを記述する必要があります。 ミニドライバーは、システム提供のドライバーの代わりにデバイス固有の機能を処理します。 一部の種類のデバイスでは、ミニドライバーも必要ありません。 たとえば、通常、モデムはインストール ファイルだけでサポートできます。
その他のファイル
ドライバー パッケージには、ハードウェアの調整設定、Win32 サービス、デバイス アイコン、ドライバー ライブラリ ファイルなどの他のファイルを含めることができます。 詳細については、以下を参照してください。