次の方法で共有


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

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

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

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

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

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

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

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

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

  • Microsoft 提供の USB ドライバー