Condividi tramite


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)

Vedere anche

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess