Freigeben über


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 können in Zukunft geändert oder nicht mehr verfügbar sein. Stattdessen empfehlen wir die Verwendung des Storport-Treibers und Storport Miniport Treibermodelle.
 

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;

Angehörige

Length

Die Größe der SCSI_PNP_REQUEST_BLOCK Struktur in Byte.

Function

Der auszuführende Vorgang. Für die SCSI_PNP_REQUEST_BLOCK Struktur ist dieses Element immer auf SRB_FUNCTION_PNP festgelegt.

SrbStatus

Der Status der abgeschlossenen Anforderung. Der Miniporttreiber sollte diesen Wert festlegen, bevor der Storport-Treiber benachrichtigt wird, dass die Anforderung abgeschlossen ist. Ein Miniporttreiber benachrichtigt den Storport-Treiber, dass die Anforderung abgeschlossen wurde, indem die StorPortNotification-Routine mit einem Benachrichtigungstyp von RequestComplete-aufgerufen wird. Eine Liste der möglichen Statuswerte finden Sie unter SCSI_REQUEST_BLOCK.

PnPSubFunction

Dieses Element wird derzeit nicht verwendet. Miniporttreiber ignorieren dieses Element.

PathId

Der SCSI-Port- oder Busbezeichner für die Anforderung. Dieser Wert basiert auf Null.

TargetId

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

Lun

Die logische Einheitsnummer (LUN) des Geräts.

PnPAction

Die auszuführende Plug-and-Play-Aktion. Dieses Element 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.
StorFilterResourceRequirequirements
0x0D
Filtern Sie die Ressourcenanforderungen für das Gerät.
StorSupriseRemoval-
0x17
Überraschungsentfernung des Geräts. Dieser Wert wurde in Windows 7 hinzugefügt.

SrbFlags

Miniport-Treiber sollte dieses Element ignorieren.

DataTransferLength

Miniport-Treiber sollte dieses Element ignorieren.

TimeOutValue

Das Intervall in Sekunden, das die Anforderung ausführen kann, bevor der Storport-Treiber feststellt, dass die Anforderung ein Timeout aufweist.

DataBuffer

Miniport-Treiber sollte dieses Element ignorieren.

SenseInfoBuffer

Miniport-Treiber sollte dieses Element ignorieren.

NextSrb

Miniport-Treiber sollte dieses Element ignorieren.

OriginalRequest

Miniport-Treiber sollte dieses Element ignorieren.

SrbExtension

Ein Zeiger auf die SRB-Erweiterung. Ein Miniporttreiber darf dieses Element nicht verwenden, wenn er SrbExtensionSize- in der HW_INITIALIZATION_DATA Struktur auf Null festgelegt hat. Der Storport-Treiber initialisiert nicht den Speicher, auf den dieses Element verweist. Die 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 die StorPortGetPhysicalAddress Routine aufgerufen wird.

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 der PathId-, TargetId-und Lun-ignorieren.

Reserved

Reserviert für die Systemverwendung.

Reserved4[16]

Reserviert für die Systemverwendung.

Bemerkungen

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 das Function Member des SRB, um den Typ des SRB zu bestimmen. Wenn das element Function auf SRB_FUNCTION_PNP festgelegt ist, ist der SRB eine Struktur vom Typ SCSI_PNP_REQUEST_BLOCK.

Anforderungen

Anforderung Wert
Header- srb.h (include Storport.h, Minitape.h, Srb.h)

Siehe auch

HwStorBuildIo-

SCSI_REQUEST_BLOCK

StorPortNotification-