structure SCSIWMI_REQUEST_CONTEXT (scsiwmi.h)

Une structure SCSIWMI_REQUEST_CONTEXT contient des informations de contexte pour un SRB WMI.

Notes

Les modèles de pilote de port SCSI et de pilote miniport SCSI peuvent être modifiés ou indisponibles à l’avenir. Au lieu de cela, nous vous recommandons d’utiliser les modèles de pilote Storport et de pilote Miniport Storport .

Syntaxe

typedef struct {
  PVOID  UserContext;
  ULONG  BufferSize;
  PUCHAR Buffer;
  UCHAR  MinorFunction;
  UCHAR  ReturnStatus;
  ULONG  ReturnSize;
} SCSIWMI_REQUEST_CONTEXT, *PSCSIWMI_REQUEST_CONTEXT;

Membres

UserContext

Pointe vers une mémoire tampon de pilote miniport qui contient toutes les données dont le pilote miniport a besoin pour traiter le SRB. Il peut s’agir d’un pointeur vers la structure HW_DEVICE_EXTENSION du pilote miniport ou vers une autre mémoire tampon.

BufferSize

Réservé à l’utilisation du système et non disponible pour une utilisation par les pilotes miniports.

Buffer

Réservé à l’utilisation du système et non disponible pour une utilisation par les pilotes miniports.

MinorFunction

Réservé à l’utilisation du système et non disponible pour une utilisation par les pilotes miniports.

ReturnStatus

Indique le retour status du SRB. Ce membre n’est valide qu’après que le pilote miniport ait appelé ScsiPortWmiPostProcess pour mettre à jour le contexte de la demande.

ReturnSize

Indique le nombre d’octets de données transférés pour le SRB. Ce membre n’est valide qu’après que le pilote miniport ait appelé ScsiPortWmiPostProcess pour mettre à jour le contexte de la demande.

Remarques

Lorsque le pilote miniport reçoit un SRB dans lequel le membre function est défini sur SRB_FUNCTION_WMI, il appelle ScsiPortWmiDispatchFunction avec des paramètres de requête, y compris un pointeur vers un contexte de requête. ScsiPortWmiDispatchFunction transmet le contexte de demande à la routine HwScsiWmiXxx appropriée du pilote miniport.

Lorsque le pilote miniport a terminé de traiter le SRB et avant de terminer le SRB, le pilote miniport doit appeler ScsiPortWmiPostProcess pour mettre à jour les membres ReturnStatus et ReturnSize du contexte de demande. Le pilote miniport met à jour la longueur de transfert de données du SRB et status à ces valeurs en appelant ScsiPortWmiGetReturnSize et ScsiPortWmiGetReturnStatus. , respectivement.

Un contexte de demande doit rester valide tout au long du traitement d’un SRB. Si le SRB peut être suspendu, le pilote miniport doit allouer la structure SCSIWMI_REQUEST_CONTEXT à partir de l’extension SRB afin qu’elle reste valide jusqu’à ce que le SRB se termine. Pour les SDR non imminents, la structure peut être allouée à partir d’une trame de pile qui ne sort pas de l’étendue.

Configuration requise

Condition requise Valeur
En-tête scsiwmi.h (inclure Scsiwmi.h)

Voir aussi

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess