次の方法で共有


USB 汎用親ドライバー (Usbccgp.sys)

この記事では、複合デバイス用にマイクロソフトが提供する USB 汎用親ドライバー (Usbccgp.sys) と呼ばれる独立したドライバーについて説明します。

多くの USB デバイスでは、複数の USB インターフェイスが公開されています。 USB の用語では、これらのデバイスは複合デバイスと呼ばれます。 Windows オペレーティング システムには、複合デバイスの各インターフェイスを個別のデバイスとして公開する汎用の親機能が USB バス ドライバー (Usbhub.sys) に含まれています。 この機能は、USB 汎用親ドライバー (Usbccgp.sys) と呼ばれる 独立したドライバーに転送することで合理化され、改善されています。 デバイス ベンダーは、汎用の親ドライバーの機能を使用して、一部のインターフェイスに対するマイクロソフト提供のドライバー サポートを選択的に使用できます。

一部の複合デバイスのインターフェイスは独立して動作します。 たとえば、電源ボタンを備えた複合 USB キーボードには、キーボード用の 1 つのインターフェイスと電源ボタン用の別のインターフェイスがある場合があります。 USB 汎用親ドライバーは、これらの各インターフェイスを個別のデバイスとして列挙します。 オペレーティング システムは、キーボード インターフェイスを管理するためにマイクロソフトが提供するキーボード ドライバーを読み込み、電源キー インターフェイスを管理するためにマイクロソフトのパワー キー ドライバーを読み込みます。

ネイティブ Windows ドライバーがデバイスのインターフェイスをサポートしていない場合は、デバイスのベンダーがインターフェイス用のドライバーと INF ファイルを提供する必要があります。 INF ファイルには、インターフェイスのデバイス ID と一致する INF DDInstall セクションが必要です。 INF ファイルは、複合デバイス自体のデバイス ID と一致してはなりません。これは、汎用の親ドライバーのロードを妨げるためです。 オペレーティング システムが USB 汎用親ドライバーを読み込む方法の詳細については、「USB 複合デバイスの列挙」を参照してください。

一部のデバイスは、特定の機能を実行するために連携してインターフェイスをインターフェイス コレクションにグループ化します。 インターフェイスがインターフェイス コレクションにグループ化されている場合、汎用の親ドライバーは、個々のインターフェイスではなく、各コレクションをデバイスとして扱います。 汎用親ドライバーがインターフェイス コレクションを管理する方法の詳細については、「USB 複合デバイス上のインターフェイス コレクションの列挙」を参照してください。

Windows が複合デバイスのインターフェイス用のクライアント ドライバーを読み込んだ後、汎用の親ドライバーはクライアント ドライバーからのデータ フローを多重化し、これらの個別の対話を複合デバイスの単一のデータ ストリームに結合します。 汎用の親は、複合デバイス全体とそのすべてのインターフェイスの電源ポリシーの所有者です。 また、同期とプラグ アンド プレイ要求も管理します。

マイクロソフトが提供するドライバーが一部のインターフェイスをサポートしているが、その他のインターフェイスはサポートしていない場合、汎用の親ドライバーを使用すると、複合ハードウェアのベンダーのタスクを簡素化できます。 このようなデバイスのベンダーは、サポートされていないインターフェイス用のドライバーのみを提供する必要があります。これは、汎用の親ドライバーにより、サポートされているインターフェイス用のマイクロソフト提供のドライバーの使用が容易になるためです。

次のセクションでは、汎用親ドライバーの機能について説明します。