Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Sterownik klasy pamięci masowej używa dobrze ugruntowanego interfejsu klasy/portu SCSI do sterowania urządzeniem pamięci masowej swojego rodzaju na dowolnej magistrali, dla której system dostarcza sterownik portu pamięci masowej (obecnie SCSI, IDE, USB i IEEE 1394). Konkretna magistrala, z którą jest podłączone urządzenie magazynujące, jest przezroczysta dla sterownika klasy magazynu.
Każdy sterownik klasy magazynu obsługuje żądania we/wy z aplikacji użytkownika lub sterowników wyższego poziomu, tworząc żądania SCSI bloki (SRB) zawierające deskryptora poleceń bloki deskryptora (CDB) i wysyłając je za pośrednictwem jakichkolwiek intervening sterowników filtrów do bazowego sterownika portu magazynu.
Sterownik klasy magazynu nie dostarcza informacji o adresowaniu w SRB. Zamiast tego sterownik portu (lub jeszcze niższy sterownik) jest odpowiedzialny za wszelkie wymagane adresowanie. Sterownik portu magazynu tłumaczy SRBs na format wymagany przez podstawową kartę magistrali hosta (HBA), która może być adapterem magistrali hosta SCSI lub 1394, kontrolerem IDE lub innym podobnym sprzętem, i wydaje polecenia urządzeniu. W zestawie sterowników systemu Windows (WDK) termin "HBA" oznacza dowolny taki podstawowy adapter lub kontroler.
Do menedżera I/O i wszystkich sterowników wyższego poziomu, będących ponad sterownikiem klasy magazynu, większość sterowników klasy magazynu to standardowe sterowniki pośrednie działające w trybie jądra. W związku z tym każdy sterownik klasy musi mieć rutynę DriverEntry, rutynę AddDevice, rutynę Unload, co najmniej jedną rutynę IoCompletion, a także rutyny DispatchPnP i DispatchPower do obsługi IRP związanych z plug and play oraz zasilaniem.
Sterownik klasy magazynu musi również mieć procedurę DispatchSystemControl do obsługi procesów IRP kontroli systemu i może mieć dowolną inną standardową procedurę sterownika wyższego poziomu, taką jak procedura StartIo, określona przez projektanta sterowników. Aby uzyskać więcej informacji na temat procedur sterowania systemowego i standardowych sterowników trybu jądra, zobacz standardowe procedury sterowników.
Dla menedżera PnP, sterownik klasy pamięci masowej jest sterownikiem funkcji , czyli takim, który obsługuje pojedyncze urządzenie. Sterownik klasy magazynu może również pełnić rolę sterowników magistrali , wyliczając urządzenia podrzędne swoich urządzeń. Na przykład sterownik klasy dla partycjonowanego urządzenia multimedialnego, takiego jak dysk, zwraca listę obiektów PDO reprezentujących jego partycje. Każdy z takich PDO można traktować jako urządzenie docelowe i obsługiwać za pomocą własnego sterownika klasy.
Uwaga
Sterownik dla urządzenia SCSI, takiego jak drukarka lub skaner, należy zaimplementować zgodnie z opisem w tej sekcji. Sterownik dla takiego urządzenia SCSI korzysta z tego samego interfejsu klasy/portu SCSI do sterowania urządzeniem i ma takie same obowiązki, aby obsługiwać IRP, budować SRB i wysyłać je do podstawowego sterownika portu, jak sterownik dla urządzenia pamięci masowej.