struttura SCSIWMI_REQUEST_CONTEXT (scsiwmi.h)
Una struttura SCSIWMI_REQUEST_CONTEXT contiene informazioni di contesto per un SRB WMI.
Nota
I modelli di driver porta SCSI e miniport SCSI potrebbero essere modificati o non disponibili in futuro. È invece consigliabile usare driver Storport e modelli di driver miniport Storport.
Sintassi
typedef struct {
PVOID UserContext;
ULONG BufferSize;
PUCHAR Buffer;
UCHAR MinorFunction;
UCHAR ReturnStatus;
ULONG ReturnSize;
} SCSIWMI_REQUEST_CONTEXT, *PSCSIWMI_REQUEST_CONTEXT;
Membri
UserContext
Punta a un buffer del driver miniport che contiene i dati richiesti dal driver miniport per elaborare SRB. Può trattarsi di un puntatore alla struttura di HW_DEVICE_EXTENSION del driver miniport o di un altro buffer.
BufferSize
Riservato per l'uso del sistema e non disponibile per l'uso da parte dei driver miniport.
Buffer
Riservato per l'uso del sistema e non disponibile per l'uso da parte dei driver miniport.
MinorFunction
Riservato per l'uso del sistema e non disponibile per l'uso da parte dei driver miniport.
ReturnStatus
Indica lo stato restituito di SRB. Questo membro non è valido fino a quando il driver miniport ha chiamato ScsiPortWmiPostProcess per aggiornare il contesto della richiesta.
ReturnSize
Indica il numero di byte di dati trasferiti per SRB. Questo membro non è valido fino a quando il driver miniport ha chiamato ScsiPortWmiPostProcess per aggiornare il contesto della richiesta.
Osservazioni
Quando il driver miniport riceve un SRB in cui il membro funzione è impostato su SRB_FUNCTION_WMI, chiama ScsiPortWmiDispatchFunction con parametri di richiesta, incluso un puntatore a un contesto di richiesta. ScsiPortWmiDispatchFunction passa il contesto della richiesta alla routine di HwScsiWmi appropriata del driver miniportxxx.
Quando il driver miniport viene eseguito l'elaborazione di SRB e prima di completare SRB, il driver miniport deve chiamare ScsiPortWmiPostProcess per aggiornare il ReturnStatus e ReturnSize membri del contesto della richiesta. Il driver miniport aggiorna la lunghezza e lo stato del trasferimento dei dati di SRB a questi valori chiamando ScsiPortWmiGetReturnSize e ScsiPortWmiGetReturnStatus. rispettivamente.
Un contesto di richiesta deve rimanere valido durante l'elaborazione di un SRB. Se SRB può eseguire la penna, il driver miniport deve allocare la struttura SCSIWMI_REQUEST_CONTEXT dall'estensione SRB in modo che rimanga valida fino al completamento di SRB. Per i SBS non in sospeso, la struttura può essere allocata da un frame dello stack che non esce dall'ambito.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | scsiwmi.h (include Scsiwmi.h) |