SCSIWMI_REQUEST_CONTEXT-Struktur (scsiwmi.h)

Eine SCSIWMI_REQUEST_CONTEXT-Struktur enthält Kontextinformationen für einen WMI-SRB.

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 {
  PVOID  UserContext;
  ULONG  BufferSize;
  PUCHAR Buffer;
  UCHAR  MinorFunction;
  UCHAR  ReturnStatus;
  ULONG  ReturnSize;
} SCSIWMI_REQUEST_CONTEXT, *PSCSIWMI_REQUEST_CONTEXT;

Member

UserContext

Verweist auf einen Miniporttreiberpuffer, der alle Daten enthält, die der Miniporttreiber zum Verarbeiten des SRB benötigt. Dies kann ein Zeiger auf die HW_DEVICE_EXTENSION Struktur des Miniporttreibers oder einen anderen Puffer sein.

BufferSize

Für die Systemverwendung reserviert und nicht für die Verwendung durch Miniporttreiber verfügbar.

Buffer

Für die Systemverwendung reserviert und nicht für die Verwendung durch Miniporttreiber verfügbar.

MinorFunction

Für die Systemverwendung reserviert und nicht für die Verwendung durch Miniporttreiber verfügbar.

ReturnStatus

Gibt die Rückgabe status des SRB an. Dieser Member ist erst gültig, nachdem der Miniporttreiber ScsiPortWmiPostProcess aufgerufen hat, um den Anforderungskontext zu aktualisieren.

ReturnSize

Gibt die Anzahl der Bytes an, die für den SRB übertragen wurden. Dieser Member ist erst gültig, nachdem der Miniporttreiber ScsiPortWmiPostProcess aufgerufen hat, um den Anforderungskontext zu aktualisieren.

Hinweise

Wenn der Miniporttreiber einen SRB empfängt, in dem der Funktionsmember auf SRB_FUNCTION_WMI festgelegt ist, ruft er ScsiPortWmiDispatchFunction mit Anforderungsparametern auf, einschließlich eines Zeigers auf einen Anforderungskontext. ScsiPortWmiDispatchFunction übergibt den Anforderungskontext an die entsprechende HwScsiWmiXxx-Routine des Miniporttreibers.

Wenn der Miniporttreiber mit der Verarbeitung des SRB fertig ist und bevor er den SRB abgeschlossen hat, sollte der Miniporttreiber ScsiPortWmiPostProcess aufrufen, um die ReturnStatus - und ReturnSize-Member des Anforderungskontexts zu aktualisieren. Der Miniporttreiber aktualisiert die Datenübertragungslänge des SRB und status auf diese Werte, indem er ScsiPortWmiGetReturnSize und ScsiPortWmiGetReturnStatus aufruft. .

Ein Anforderungskontext muss während der gesamten Verarbeitung eines SRB gültig bleiben. Wenn der SRB einen Stift verwenden kann, muss der Miniporttreiber die SCSIWMI_REQUEST_CONTEXT-Struktur der SRB-Erweiterung zuordnen, damit sie gültig bleibt, bis der SRB abgeschlossen ist. Bei nicht ausstehenden SRBs kann die Struktur aus einem Stapelrahmen zugeordnet werden, der nicht aus dem Bereich herausgeht.

Anforderungen

Anforderung Wert
Header scsiwmi.h (schließen Sie Scsiwmi.h ein)

Weitere Informationen

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess