Partager via


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.

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

Voir aussi

HwScsiWmiExecuteMethod

HwScsiWmiFunctionControl

HwScsiWmiQueryDataBlock

HwScsiWmiQueryReginfo

HwScsiWmiSetDataBlock

HwScsiWmiSetDataItem

SCSIWMIGUIDREGINFO

ScsiPortWmiDispatchFunction