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) |