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.
Dla wszystkich żądań, które wymagają od sterownika portu pamięci wykonania żądania na magistrali, sterownik klasy musi skonfigurować pakiet żądania wejścia/wyjścia (IRP) z blokiem żądania SCSI (SRB) zawierającym blok deskryptora poleceń SCSI (CDB). W związku z tym większość sterowników klasy pamięci masowej ma jedną lub więcej wewnętrznych procedur BuildRequest do budowania SRB. Aby uzyskać więcej informacji na temat takich procedur, zobacz Storage Class Driver's BuildRequest Routine.
Sterowniki klas magazynu przekazują również żądania IRP_MJ_SCSI do bazowego sterownika portu magazynu. Takie żądanie może pochodzić od sterowników filtrów magazynowania.
W przypadku żądań IOCTL_SCSI_PASS_THROUGH opisanych w temacie Obsługa żądań Pass-Through SCSI sterownik klasy jest odpowiedzialny za ustawienie kodu MinorFunction na IRP_MJ_DEVICE_CONTROL w lokalizacji stosu we/wy sterownika portu IRP przed przekazaniem żądania IRP_MJ_DEVICE_CONTROL do sterownika portu za pomocą usługi IoCallDriver.
Każdy sterownik klasy pamięci masowej jest odpowiedzialny za dzielenie żądań transferu (IRP_MJ_READ i/lub IRP_MJ_WRITE), które przekraczają możliwości podstawowej HBA. W związku z tym większość sterowników klas wywołuje również wewnętrzną procedurę SplitTransferRequest opisaną w procedurze SplitTransferRequest sterownika klasy magazynu lub implementuje te same funkcje w procedurach wysyłania dla żądań odczytu i zapisu.
Aby uzyskać dodatkowe informacje na temat obsługi żądań do urządzeń peryferyjnych pamięci masowej, zobacz następujące tematy:
Obsługa żądań Pass-Through SCSI
Obsługa żądań PnP do urządzeń peryferyjnych pamięci masowej
Obsługa żądań zasilania do urządzeń peryferyjnych magazynujących