SCSIWMI_REQUEST_CONTEXT Struktur (scsiwmi.h)
Eine SCSIWMI_REQUEST_CONTEXT Struktur enthält Kontextinformationen für einen WMI-SRB.
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 Treibermodelle.
Syntax
typedef struct {
PVOID UserContext;
ULONG BufferSize;
PUCHAR Buffer;
UCHAR MinorFunction;
UCHAR ReturnStatus;
ULONG ReturnSize;
} SCSIWMI_REQUEST_CONTEXT, *PSCSIWMI_REQUEST_CONTEXT;
Angehörige
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
Reserviert für die Systemverwendung und nicht für die Verwendung durch Miniporttreiber.
Buffer
Reserviert für die Systemverwendung und nicht für die Verwendung durch Miniporttreiber.
MinorFunction
Reserviert für die Systemverwendung und nicht für die Verwendung durch Miniporttreiber.
ReturnStatus
Gibt den Rückgabestatus 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.
Bemerkungen
Wenn der Miniporttreiber einen SRB empfängt, in dem der Function Member 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- zu aktualisieren und ReturnSize Member des Anforderungskontexts zurückzugeben. Der Miniporttreiber aktualisiert die Länge und den Status der SRB-Datenübertragung auf diese Werte, indem ScsiPortWmiGetReturnSize und ScsiPortWmiGetReturnStatusaufgerufen wird. beziehungsweise.
Ein Anforderungskontext muss während der gesamten Verarbeitung eines SRB gültig bleiben. Wenn der SRB stiften kann, muss der Miniporttreiber die SCSIWMI_REQUEST_CONTEXT Struktur aus der SRB-Erweiterung zuordnen, damit er gültig bleibt, bis der SRB abgeschlossen ist. Bei nicht ausstehenden SRBs kann die Struktur aus einem Stapelframe zugewiesen werden, der nicht außerhalb des Gültigkeitsbereichs liegt.
Anforderungen
Anforderung | Wert |
---|---|
Header- | scsiwmi.h (include Scsiwmi.h) |