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) |