SCSI_WMILIB_CONTEXT structure (scsiwmi.h)
Une structure SCSI_WMILIB_CONTEXT fournit des informations d’inscription pour les données et les blocs d’événements d’un pilote miniport, et définit des points d’entrée pour les routines de rappel HwScsiWmiXxx du pilote miniport.
Syntaxe
typedef struct _SCSIWMILIB_CONTEXT {
ULONG GuidCount;
PSCSIWMIGUIDREGINFO GuidList;
PSCSIWMI_QUERY_REGINFO QueryWmiRegInfo;
PSCSIWMI_QUERY_DATABLOCK QueryWmiDataBlock;
PSCSIWMI_SET_DATABLOCK SetWmiDataBlock;
PSCSIWMI_SET_DATAITEM SetWmiDataItem;
PSCSIWMI_EXECUTE_METHOD ExecuteWmiMethod;
PSCSIWMI_FUNCTION_CONTROL WmiFunctionControl;
} SCSI_WMILIB_CONTEXT, *PSCSI_WMILIB_CONTEXT;
Membres
GuidCount
Spécifie le nombre de structures dans le tableau SCSIWMIGUIDREGINFO dans GuidList.
GuidList
Pointe vers un tableau de structures GuidCount SCSIWMIGUIDREGINFO qui contiennent des informations d’inscription pour chaque bloc.
QueryWmiRegInfo
Pointe vers la routine HwScsiWmiQueryReginfo du pilote, qui est un point d’entrée obligatoire pour les pilotes miniport qui prennent en charge WMI.
QueryWmiDataBlock
Pointe vers la routine HwScsiWmiQueryDataBlock du pilote, qui est un point d’entrée obligatoire pour les pilotes miniport qui prennent en charge WMI.
SetWmiDataBlock
Pointe vers la routine HwScsiWmiSetDataBlock du pilote, qui est un point d’entrée facultatif pour les pilotes miniport qui prennent en charge WMI. Si le pilote miniport n’implémente pas cette routine, il doit définir ce membre sur NULL
SetWmiDataItem
Pointe vers la routine HwScsiWmiSetDataItem du pilote, qui est un point d’entrée facultatif pour les pilotes miniport qui prennent en charge WMI. Si le pilote miniport n’implémente pas cette routine, il doit définir ce membre sur NULL.
ExecuteWmiMethod
Pointe vers la routine HwScsiWmiExecuteMethod du pilote, qui est un point d’entrée facultatif pour les pilotes miniport qui prennent en charge WMI. Si le pilote miniport n’implémente pas cette routine, il doit définir ce membre sur NULL
WmiFunctionControl
Pointe vers la routine HwScsiWmiFunctionControl du pilote, qui est un point d’entrée facultatif pour les pilotes miniport qui prennent en charge WMI. Si le pilote miniport n’implémente pas cette routine, il doit définir ce membre sur NULL.
Remarques
Un pilote miniport SCSI qui prend en charge WMI stocke une structure SCSI_WMILIB_CONTEXT initialisée (ou un pointeur vers une telle structure) dans son extension de périphérique. Un pilote miniport peut utiliser la même structure SCSI_WMILIB_CONTEXT pour plusieurs objets d’appareil si chaque objet d’appareil fournit le même ensemble de blocs de données.
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 une structure SCSI_WMILIB_CONTEXT initialisée. ScsiPortWmiDispatchFunction gère la demande en appelant la routine HwScsiWmiXxx appropriée du pilote miniport.
Si le pilote miniport n’implémente pas de routine HwScsiWmiXxx facultative, le pilote de port retourne une status appropriée à l’appelant.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | scsiwmi.h (inclure Scsiwmi.h) |