structure SCSI_WMILIB_CONTEXT (scsiwmi.h)
Une structure SCSI_WMILIB_CONTEXT fournit des informations d’inscription pour les blocs de données et d’événements d’un pilote miniport et définit des points d’entrée pour les routines de rappel HwScsiWmiXxx.
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 à GuidList.
GuidList
Pointe vers un tableau de GuidCount structures 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 requis pour les pilotes miniports qui prennent en charge WMI.
QueryWmiDataBlock
Pointe vers la routine HwScsiWmiQueryDataBlock du pilote, qui est un point d’entrée requis pour les pilotes miniports qui prennent en charge WMI.
SetWmiDataBlock
Pointe vers la routine HwScsiWmiSetDataBlock du pilote, qui est un point d’entrée facultatif pour les pilotes miniports 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 miniports 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 miniports 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 miniports 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 de SCSI_WMILIB_CONTEXT initialisée (ou un pointeur vers une telle structure) dans son extension d’appareil. 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 jeu de blocs de données.
Lorsque le pilote miniport reçoit une SRB dans laquelle 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 de SCSI_WMILIB_CONTEXT initialisée. ScsiPortWmiDispatchFunction gère la requête 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 un état approprié à l’appelant.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | scsiwmi.h (include Scsiwmi.h) |