MB Union Functional Descriptor

共用体関数記述子

UFD を実装するモバイル ブロードバンド デバイスには、CDC デバイスに対して要求される 2/0/0 というデバイス クラス/サブクラス/プロトコルがあります。 これにより、Windows がデバイスに USBCCGP を読み込むのを防ぐことができます。 Windows が複合デバイスに USBCCGP を読み込む方法については、「USB 汎用親ドライバー (Usbccgp.sys)」を参照してください。

Windows で USBCCGP の読み込みを許可するには、デバイスが構成されていない場合に、デバイスで "CDC_WMC" という Microsoft OS と互換性のある ID を報告する必要があります。 "CDC_WMC" という互換性のある ID を検出したら、Windows は USBCCGP を読み込み、USBCCGP はデバイスの構成を 1 に設定します。 その後、USBCCGP は、Microsoft OS 互換 ID に対し、もう一度クエリを実行します。 ただし、この場合は、"CDC_WMC" という Microsoft OS と互換性のある ID をデバイスから報告すべきではありません。 デバイスは、選択した構成の関数に対して Microsoft OS と互換性のある ID を報告する場合があります。

usbhub queries for the microsoft os descriptor when the device is not configured.

Microsoft OS 記述子の USBHUB クエリ (デバイスが構成されていない場合)

the device responds with cdc-wmc, which causes windows to load usbccgp.

デバイスが "CDC_WMC" で応答すると、Windows は USBCCGP を読み込みます

usbccgp selects configuration #1 on the device.

USBCCGP は、デバイスの構成 #1 を選択します。

the device selects the configuration and morphs the list of compatible ids.

デバイスが構成を選択し、互換性のある ID の一覧を変形します。 デバイスには、Function2 に必要な CompatID2 が含まれている場合があります。

after loading, usbccgp queries for microsoft os compatible ids again.

読み込み後、Microsoft OS と互換性のある ID に対して USBCCGP クエリをもう一度実行します。

the device reports any compatible id that it has for its function.

デバイスは、デバイスの関数に対応する互換性のある ID があれば報告します。 すると、USBCCGP は、デバイスの各関数の子デバイス ノードを作成します。

MBIM 下位互換性のある関数

NCM 1.0 仕様と下位互換性のある MBIM 関数は、既定で NCM 1.0 関数として起動されます。 MBIM 下位互換性のある関数で構成されるモバイル ブロードバンド デバイスは、MBIM 関数に対して "MBIM" という Microsoft OS と互換性のある ID を報告する必要があります。 これにより、Windows 8 は NCM 1.0 関数を MBIM 関数として検出し、MBCD を関数ドライバーとして読み込むことができます。