USB 大容量ストレージ デバイスののデバイス オブジェクトの例
次の図は、スマート メディア スロットとコンパクト フラッシュ スロットの両方を含む複合 USB 大容量記憶装置用に作成されたデバイス オブジェクトを示しています。
複合 USB 大容量記憶装置のデバイス オブジェクト ツリー
図の下部から、次の一覧では、各デバイス オブジェクトまたはデバイス オブジェクト スタックとそれに関連付けられているドライバーについて説明します。
PCI バス ドライバーは、USB ホスト コント ローラーを列挙します。 システムは、ポート ドライバー、 usbport.sys、および付属のミニポート (図に示されていません) を読み込みます。 次に、 usbport.sys ホスト コントローラーの FDO を作成します。
ポート ドライバーは、ルート ハブから始まる、システム内の USB ハブを列挙します。 usbhub.sys ドライバーは、すべての USB ハブを管理します。 この図はハブ デバイス オブジェクトの 1 つのレベルのみを示していますが、USB ではハブ デバイスのデイジー チェーン使用が可能であるため、ツリー内にさらに多くのハブ デバイス オブジェクトが存在する可能性があります。 ハブ ドライバーは、USB 大容量記憶装置を検出して列挙し、それに対する PDO を作成します。
Windows には、 USB スタックとネイティブ Windows 記憶域クラス ドライバーの間のインターフェイスとして機能する USB 記憶域ポート ドライバー (usbstor.sys) が用意されています。 USB 記憶域ポート ドライバーは、独自の機能デバイス オブジェクト (FDO) を作成します。 USB 記憶域ポート ドライバーは、物理記憶域デバイスを 16 個の論理ユニットに分割できます。 図に示す例では、USB ストレージ デバイスには、コンパクト フラッシュ デバイスとスマート メディア デバイス用の個別のスロットが含まれています。 したがって、この例では、USB 記憶域ポート ドライバーは、2 つの個別の PDO を作成します。1 つはコンパクト フラッシュ デバイス用、もう 1 つはスマート メディア デバイス用です。
USB 記憶域ポート ドライバーの上のスタックは、ネイティブ ディスク クラス ドライバーによって通常の方法で管理されます。 ディスク クラス ドライバーは、ディスク全体の PDO と FDO (パーティション 0) と、ディスク上の各パーティションの PDO を作成します。
パーティション マネージャーは、ディスク パーティションごとに FDO を作成します。