SCSI_PNP_REQUEST_BLOCK-Struktur (storport.h)
DieSCSI_PNP_REQUEST_BLOCK-Struktur ist eine spezielle Version einer SCSI_REQUEST_BLOCK , die für Plug-and-Play-Anforderungen (PNP) verwendet wird.
Hinweis
Der SCSI-Porttreiber und die SCSI-Miniporttreibermodelle können in Zukunft geändert oder nicht mehr verfügbar sein. Stattdessen wird empfohlen, die Modelle Storport-Treiber und Storport-Miniporttreiber zu verwenden.
Syntax
typedef struct _SCSI_PNP_REQUEST_BLOCK {
USHORT Length;
UCHAR Function;
UCHAR SrbStatus;
UCHAR PnPSubFunction;
UCHAR PathId;
UCHAR TargetId;
UCHAR Lun;
STOR_PNP_ACTION PnPAction;
ULONG SrbFlags;
ULONG DataTransferLength;
ULONG TimeOutValue;
PVOID DataBuffer;
PVOID SenseInfoBuffer;
struct _SCSI_REQUEST_BLOCK *NextSrb;
PVOID OriginalRequest;
PVOID SrbExtension;
ULONG SrbPnPFlags;
ULONG Reserved;
UCHAR Reserved4[16];
} SCSI_PNP_REQUEST_BLOCK, *PSCSI_PNP_REQUEST_BLOCK;
Member
Length
Die Größe der SCSI_PNP_REQUEST_BLOCK Struktur in Bytes.
Function
Der auszuführende Vorgang. Für die SCSI_PNP_REQUEST_BLOCK-Struktur ist dieses Element immer auf SRB_FUNCTION_PNP festgelegt.
SrbStatus
Die status der abgeschlossenen Anforderung. Der Miniporttreiber sollte diesen Wert festlegen, bevor der Storport-Treiber benachrichtigt wird, dass die Anforderung abgeschlossen wurde. Ein Miniporttreiber benachrichtigt den Storport-Treiber über den Abschluss der Anforderung, indem er die StorPortNotification-Routine mit dem Benachrichtigungstyp RequestComplete aufruft. Eine Liste möglicher status Werte finden Sie unter SCSI_REQUEST_BLOCK.
PnPSubFunction
Dieser Member wird derzeit nicht verwendet. Miniporttreiber ignorieren diesen Member.
PathId
Der SCSI-Port oder der Busbezeichner für die Anforderung. Dieser Wert ist nullbasiert.
TargetId
Der Zielcontroller oder der Gerätebezeichner auf dem Bus.
Lun
Die LUN (Logical Unit Number) des Geräts.
PnPAction
Die auszuführende Plug-and-Play-Aktion. Dieses Element kann über einen der folgenden Werte verfügen:
Wert | Bedeutung |
---|---|
StorStartDevice (0x00) | Starten Sie das Gerät. |
StorRemoveDevice (0x02) | Entfernen Sie das Gerät. |
StorStopDevice (0x04) | Beenden Sie das Gerät. |
StorQueryCapabilities (0x09) | Fragen Sie die Funktionen des Geräts ab. |
StorQueryResourceRequirements (0x0B) | Fragen Sie die Ressourcenanforderungen für das Gerät ab. |
StorFilterResourceRequirerements (0x0D) | Filtern Sie die Ressourcenanforderungen für das Gerät. |
StorSupriseRemoval (0x17) | Überraschendes Entfernen des Geräts. Dieser Wert wurde in Windows 7 hinzugefügt. |
SrbFlags
Der Miniport-Treiber sollte diesen Member ignorieren.
DataTransferLength
Der Miniport-Treiber sollte diesen Member ignorieren.
TimeOutValue
Das Intervall in Sekunden, das die Anforderung ausführen kann, bevor der Storport-Treiber feststellt, dass für die Anforderung ein Timeout aufgetreten ist.
DataBuffer
Der Miniport-Treiber sollte diesen Member ignorieren.
SenseInfoBuffer
Der Miniport-Treiber sollte diesen Member ignorieren.
NextSrb
Der Miniport-Treiber sollte diesen Member ignorieren.
OriginalRequest
Der Miniport-Treiber sollte diesen Member ignorieren.
SrbExtension
Ein Zeiger auf die SRB-Erweiterung. Ein Miniporttreiber darf diesen Member nicht verwenden, wenn er SrbExtensionSize in der HW_INITIALIZATION_DATA-Struktur auf 0 festgelegt hat. Der Storport-Treiber initialisiert nicht den Arbeitsspeicher, auf den dieses Element verweist. Der HBA kann direkt auf die Daten zugreifen, die der Miniporttreiber in die SRB-Erweiterung schreibt. Ein Miniporttreiber kann die physische Adresse der SRB-Erweiterung abrufen, indem er die StorPortGetPhysicalAddress-Routine aufruft.
SrbPnPFlags
Die PNP-Flags. Derzeit ist das einzige zulässige Flag SRB_PNP_FLAGS_ADAPTER_REQUEST, was angibt, dass die PNP-Anforderung für den Adapter und nicht für eines der Geräte auf dem Adapter gilt. Wenn dieses Flag festgelegt ist, sollte der Miniporttreiber die Werte in PathId, TargetId und Lun ignorieren.
Reserved
Ist für das System reserviert.
Reserved4[16]
Ist für das System reserviert.
Hinweise
Der Storport-Treiber sendet SCSI_PNP_REQUEST_BLOCK Anforderungen an einen Miniporttreiber, um den Miniporttreiber über Windows-Plug-and-Play-Ereignisse zu benachrichtigen, die sich auf Speichergeräte auswirken, die mit dem Adapter verbunden sind.
Der Storport-Treiber ruft HwStorBuildIo auf, um SRBs an den Miniporttreiber zu übergeben. HwStorBuildIo überprüft den Funktionsmember des SRB, um den Typ des SRB zu bestimmen. Wenn der Funktionsmember auf SRB_FUNCTION_PNP festgelegt ist, ist der SRB eine Struktur vom Typ SCSI_PNP_REQUEST_BLOCK.
Anforderungen
Anforderung | Wert |
---|---|
Header | storport.h (einschließlich Storport.h, Minitape.h, Srb.h) |