Partager via


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.

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

Voir aussi

HwScsiWmiExecuteMethod

HwScsiWmiFunctionControl

HwScsiWmiQueryDataBlock

HwScsiWmiQueryReginfo

HwScsiWmiSetDataBlock

HwScsiWmiSetDataItem

SCSIWMIGUIDREGINFO

ScsiPortWmiDispatchFunction