Structure WMIREGINFOW (wmistr.h)

La structure WMIREGINFO contient des informations fournies par un pilote pour inscrire ou mettre à jour ses blocs de données et blocs d’événements.

Syntaxe

typedef struct {
  ULONG       BufferSize;
  ULONG       NextWmiRegInfo;
  ULONG       RegistryPath;
  ULONG       MofResourceName;
  ULONG       GuidCount;
  WMIREGGUIDW WmiRegGuid[];
} WMIREGINFOW, *PWMIREGINFOW;

Membres

BufferSize

Indique la taille totale des données d’inscription WMI associées à cette structure WMIREGINFO , calculée comme suit : (sizeof(WMIREGINFO) + (GuidCount * sizeof(WMIREGGUID) + additionaldata). D’autres données peuvent inclure des éléments tels que le nom de la ressource MOF, le chemin du Registre et les noms de instance statiques pour les blocs.

NextWmiRegInfo

Si un pilote gère les requêtes WMI pour le compte d’un autre pilote, comme un pilote de classe peut être pour le compte d’un pilote de miniclasse, NextWmiRegInfo indique le décalage en octets entre le début de cette structure WMIREGINFO et la structure WMIREGINFO suivante qui contient les informations d’inscription WMI de l’autre pilote. Sinon, NextWmiRegInfo est égal à zéro.

RegistryPath

Indique le décalage en octets entre le début de cette structure et une chaîne Unicode comptée qui spécifie le chemin d’accès du Registre passé à la routine DriverEntry du pilote. La chaîne doit être alignée sur une limite USHORT. Ce membre doit être défini uniquement en réponse à une demande d’inscription WMI (IRP_MN_REGINFO ou IRP_MN_REGINFO_EX avec Parameters.WMI.DataPath défini sur WMIREGISTER).

MofResourceName

Indique le décalage en octets entre le début de cette structure et une chaîne Unicode comptée qui spécifie le nom de la ressource MOF dans le fichier image du pilote. La chaîne doit être alignée sur une limite USHORT. Ce membre doit être défini uniquement en réponse à une demande d’inscription WMI (IRP_MN_REGINFO ou IRP_MN_REGINFO_EX avec Parameters.WMI.DataPath défini sur WMIREGISTER).

GuidCount

Indique le nombre de structures WMIREGGUID dans le tableau sur WmiRegGuid.

WmiRegGuid

Tableau de structures WMIREGGUIDGuidCount.

Remarques

En réponse à une demande d’inscription (IRP_MN_REGINFO ou IRP_MN_REGINFO_EX avec Parameters.WMI.DataPath défini sur WMIREGISTER), un pilote génère au moins une structure WMIREGINFO et écrit la structure WMIREGINFO dans la mémoire tampon sur IrpStack-Parameters.WMI.Buffer>. La structure WMIREGINFO contient un tableau de structures WMIREGGUID , une pour chaque bloc de données ou bloc d’événements exposé par le pilote.

Si le pilote gère les requêtes WMI pour le compte d’un autre pilote, il génère un autre WMIREGINFO contenant un tableau de structures WMIREGGUID pour chaque bloc exposé par l’autre pilote, définit le membre NextWmiRegInfo du premier WMIREGINFO avec un décalage en octets entre le début du premier WMIREGINFO et le début du WMIREGINFO suivant dans la mémoire tampon, et écrit les deux structures dans la mémoire tampon. Le pilote indique la taille totale des deux structures WMIREGINFO et des données associées lorsque vous appelez IoCompleteRequest pour terminer l’IRP.

Un pilote peut utiliser les mêmes structures WMIREGINFO pour supprimer ou mettre à jour des blocs en réponse à une demande de mise à jour (IRP_MN_REGINFO ou IRP_MN_REGINFO_EX avec Parameters.WMI.DataPath défini sur WMIUPDATE). Si WMIREG_FLAG_REMOVE_GUID est défini dans le membre Flags d’un WMIREGGUID, WMI supprime ce bloc de la liste des blocs précédemment inscrits par le pilote. Si WMIREG_FLAG_REMOVE_GUID est clair, WMI met à jour les informations d’inscription pour ce bloc uniquement si d’autres membres WMIREGGUID ont changé. Sinon, WMI ne modifie pas ses informations d’inscription pour ce bloc.

Configuration requise

Condition requise Valeur
En-tête wmistr.h (inclure Wmistr.h)

Voir aussi

IRP_MN_REGINFO

IRP_MN_REGINFO_EX

IoCompleteRequest

WMIREGGUID