Share via


SCSI_PNP_REQUEST_BLOCK-Struktur (srb.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 sind möglicherweise geändert oder in Zukunft nicht mehr verfügbar. 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 dieser Member 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, dass die Anforderung abgeschlossen wurde, 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. Miniport-Treiber ignorieren dieses Element.

PathId

Der SCSI-Port oder Busbezeichner für die Anforderung. Dieser Wert ist nullbasiert.

TargetId

Der Zielcontroller oder die Geräte-ID auf dem Bus.

Lun

Die logische Einheitennummer (Logical Unit Number, LUN) des Geräts.

PnPAction

Die auszuführende Plug-and-Play-Aktion. Dieser Member kann einen der folgenden Werte aufweisen:

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.
StorFilterResourceRequirements
0x0D
Filtern Sie die Ressourcenanforderungen für das Gerät.
StorSupriseRemoval
0x17
Überraschung Entfernung 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 dieser Member 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 gilt und nicht für eines der Geräte auf dem Adapter. 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 Function-Member des SRB, um den Typ des SRB zu bestimmen. Wenn der Function-Member auf SRB_FUNCTION_PNP festgelegt ist, ist der SRB eine Struktur vom Typ SCSI_PNP_REQUEST_BLOCK.

Anforderungen

Anforderung Wert
Header srb.h (einschließlich Storport.h, Minitape.h, Srb.h)

Weitere Informationen

HwStorBuildIo

SCSI_REQUEST_BLOCK

StorPortNotification