USB 大容量記憶装置のデバイス オブジェクトの例

次の図は、スマートメディアスロットとコンパクトフラッシュスロットの両方を含む複合 USB 大容量記憶装置用に作成されたデバイスオブジェクトを示しています。

スマートメディアスロットとコンパクトフラッシュスロットの両方を含む複合 USB 大容量記憶装置用に作成されたデバイスオブジェクト。

複合 USB マス Storage デバイス用のデバイスオブジェクトツリー

図の一番下から、次の一覧に、各デバイスオブジェクトまたはデバイスオブジェクトスタックとそれに関連付けられているドライバーを示します。

  1. PCI バスドライバーは、USB ホストコントローラーを列挙します。 システムによって、ポートドライバー、 usbport.sys、およびそれに付随するミニポートが読み込まれます (図には示されていません)。 次に、 usbport.sys によって、ホストコントローラーの FDO が作成されます。

  2. ポートドライバーは、ルートハブから開始して、システム内の USB ハブを列挙します。 usbhub.sys ドライバーは、すべての USB ハブを管理します。 この図はハブデバイスオブジェクトの1つのレベルのみを示していますが、USB ではハブデバイスのデイジーチェーンが許可されているため、ツリー内に多数のハブデバイスオブジェクトが存在する可能性があります。 ハブドライバは、USB 大容量記憶装置を検出して列挙し、そのデバイス用の PDO を作成します。

  3. Windows は、usb 記憶域ポートドライバー usbstor.sys を提供します。このドライバーは、usb スタックとネイティブ Windows 記憶域クラスドライバーの間のインターフェイスとして機能します。 USB ストレージポートドライバーは、独自の機能デバイスオブジェクト (FDO) を作成します。 USB ストレージポートドライバーは、物理記憶装置を最大16個の論理ユニットに分割できます。 図に示されている例では、USB 記憶装置にコンパクトフラッシュデバイスとスマートメディアデバイス用の個別のスロットがあります。 したがって、この例では、USB ストレージポートドライバーによって2つの独立した Dos が作成されます。1つはコンパクトフラッシュデバイス用で、もう1つはスマートメディアデバイス用です。

  4. USB ストレージポートドライバーの上にあるスタックは、ネイティブディスククラスドライバーによって通常の方法で管理されます。 ディスククラスドライバーは、ディスク全体 (パーティション 0) の PDO と FDO を作成し、ディスク上の各パーティションに対して PDOs を作成します。

  5. パーティションマネージャーによって、各ディスクパーティションの FDO が作成されます。