Freigeben über


SRB-Schnittstelle des SCSI-Ports mit dem Speicherklassentreiber

Speicherklassentreiber und andere Komponenten auf höherer Ebene kommunizieren mit dem SCSI-Porttreiber, indem sie SCSI-Anforderungsblöcke (SRBs) erstellen. Weitere Informationen zu SRBs finden Sie unter SCSI_REQUEST_BLOCK. Speicherklassentreiber übergeben die von ihnen erstellten SRBs an den SCSI-Port in einem IRP, wobei das MajorFunction-Element auf IRP_MJ_SCSI festgelegt ist. Eine Beschreibung der Schritte, die ein Speicherklassentreiber ausführen muss, um einen SRB zu erstellen, bevor er an einen Porttreiber übergeben wird, finden Sie unter BuildRequest Routine des Speicherklassentreibers.

Vor dem Weiterleiten eines SRB nach unten im Stapel legt der SCSI-Port bestimmte Werte im SRB fest, z. B. die Portnummer, den Pfad, die Zielnummer und die logische Einheitsnummer des Zielgeräts.

Im Gegensatz zu anderen Porttreibern, z. B. den vom System bereitgestellten Porttreibern für die IDE/ATAPI- und IEEE 1394-Busse, muss der SCSI-Port den Befehlsdeskriptorblock (CDB) in den SRBs, die er empfängt, vor der Weiterleitung an den zugrunde liegenden Adapter nicht in ein anderes Format übersetzen. Der SCSI-Port fügt dem SRB einfach einige zielspezifische Informationen hinzu und übergibt sie an den Miniporttreiber, wobei der CDB unverändert ist. Daher ist der SCSI-Port einfach ein Messenger, der SRBs übergibt, die CDBs enthalten.

Aus diesem Grund werden die meisten Aspekte der SRB-Schnittstelle zwischen dem Speicherklassentreiber und dem SCSI-Port in der allgemeinen Dokumentation für Speicherklassen- und Speicherminiporttreiber und deren zugehörigen Referenzmaterialien behandelt. Eine Liste der Abschnitte im Zusammenhang mit der SRB-Schnittstelle zwischen dem Speicherklassentreiber und dem SCSI-Port-Miniport-Treiberpaar finden Sie unter Schnittstelle des SCSI-Ports mit SCSI-Port-Miniporttreibern.