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 verfügbar sein. Stattdessen empfehlen wir die Verwendung der Storport-Treiber - und Storport-Miniporttreibermodelle .

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 den Rückgabestatus des SRB an. Dieses Element ist erst gültig, nachdem der Miniporttreiber ScsiPortWmiPostProcess aufgerufen hat, um den Anforderungskontext zu aktualisieren.

ReturnSize

Gibt die Anzahl der für den SRB übertragenen Bytes an. Dieses Element ist erst gültig, nachdem der Miniporttreiber ScsiPortWmiPostProcess aufgerufen hat, um den Anforderungskontext zu aktualisieren.

Bemerkungen

Wenn der Miniporttreiber einen SRB empfängt, in dem das Funktionselement 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 die Verarbeitung des SRB und vor abschluss des 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 und den Status des SRB auf diese Werte, indem ScsiPortWmiGetReturnSize und ScsiPortWmiGetReturnStatus aufgerufen werden. Bzw.

Ein Anforderungskontext muss während der gesamten Verarbeitung eines SRB gültig bleiben. Wenn der SRB pendiert werden kann, muss der Miniporttreiber die SCSIWMI_REQUEST_CONTEXT Struktur aus der SRB-Erweiterung zuweisen, sodass es bis zum Abschluss des SRB gültig bleibt. Bei nicht ausstehenden SRBs kann die Struktur aus einem Stapelframe zugewiesen werden, der nicht außerhalb des Bereichs liegt.

Anforderungen

   
Header scsiwmi.h (include Scsiwmi.h)

Weitere Informationen

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess