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