Freigeben über


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.

Anmerkung

Die SCSI-Porttreiber- und SCSI-Miniporttreibermodelle können in Zukunft geändert oder nicht verfügbar sein. Stattdessen empfehlen wir die Verwendung des Storport-Treibers und Storport Miniport-Treiber Modellen.

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- storport.h (einschließlich Storport.h, Minitape.h, Srb.h)

Siehe auch

HwStorBuildIo-

SCSI_REQUEST_BLOCK

StorPortNotification