Partager via


structure SCSIWMI_REQUEST_CONTEXT (scsiwmi.h)

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

Note

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

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 d’une autre mémoire tampon.

BufferSize

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

Buffer

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

MinorFunction

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

ReturnStatus

Indique l’état de retour du SRB. Ce membre n’est pas valide tant que le pilote miniport n’a pas appelé ScsiPortWmiPostProcess pour mettre à jour le contexte de la requête.

ReturnSize

Indique le nombre d’octets de données transférées pour le SRB. Ce membre n’est pas valide tant que le pilote miniport n’a pas appelé ScsiPortWmiPostProcess pour mettre à jour le contexte de la requête.

Remarques

Lorsque le pilote miniport reçoit un SRB dans lequel le membre fonction de 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 passe le contexte de requête à la routine HwScsiWmiXxx du pilote miniport.

Lorsque le pilote miniport est terminé de traiter le SRB et avant de terminer le SRB, le pilote miniport doit appeler ScsiPortWmiPostProcess pour mettre à jour le returnStatus et ReturnSize membres du contexte de requête. Le pilote miniport met à jour la longueur et l’état du transfert de données du SRB en appelant ScsiPortWmiGetReturnSize et ScsiPortWmiGetReturnStatus. respectivement.

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

Exigences

Exigence Valeur
d’en-tête scsiwmi.h (include Scsiwmi.h)

Voir aussi

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess