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

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

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

複合 USB 大容量記憶装置デバイスのデバイス オブジェクト ツリー

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

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

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

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

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

  5. パーティション マネージャーは、ディスク パーティションごとに FDO を作成します。