Mise à jour des informations d’inscription WMI
Après son inscription initiale auprès de WMI, un pilote modifie ses informations d’inscription en appelant IoWMIRegistrationControl avec l’une des actions suivantes :
WMIREG_ACTION_REREGISTER remplacer toutes les informations d’inscription précédemment fournies par le pilote par de nouvelles informations.
En réponse, WMI envoie une requête IRP_MN_REGINFO ou une demande de IRP_MN_REGINFO_EX au pilote, avec Parameters.WMI.DataPath défini sur WMIREGISTER. (Sur Windows 98 et Windows 2000, le système envoie la demande IRP_MN_REGINFO . Sur Windows XP et versions ultérieures, le système envoie la requête IRP_MN_REGINFO_EX .)
Le pilote fournit à WMI de nouvelles informations d’inscription pour tous les blocs qu’il prend en charge, comme décrit dans Utilisation de la bibliothèque WMI pour inscrire des blocs et Gestion des IRP_MN_REGINFO et IRP_MN_REGINFO_EX à Inscrire des blocs.
WMIREG_ACTION_UPDATE_GUIDS pour ajouter ou supprimer la prise en charge des blocs ou pour modifier les noms instance statiques des blocs inscrits.
En réponse, WMI envoie une requête IRP_MN_REGINFO ou IRP_MN_REGINFO_EX au pilote, avec Parameters.Wmi.DataPath défini sur WMIUPDATE.
Le pilote fournit à WMI des informations d’inscription mises à jour dans lesquelles :
Le pilote définit WMIREG_FLAG_REMOVE_GUID pour supprimer la prise en charge de ce bloc.
Le pilote efface WMIREG_FLAG_REMOVE_GUID pour ajouter un nouveau bloc ou mettre à jour un bloc existant.
Le pilote définit ou efface WMIREG_FLAG_INSTANCE_XXX et fournit toutes les informations de nom de instance nécessaires pour modifier les noms de instance statiques d’un bloc ou les modifier pour utiliser des noms de instance dynamiques.
WMIREG_ACTION_DEREGISTER pour indiquer à WMI que le pilote ne fournira plus d’informations WMI.
WMI n’envoie pas de demande de IRP_MN_REGINFO ou de IRP_MN_REGINFO_EX en réponse à cet appel, car il ne nécessite aucune information supplémentaire de la part du pilote. Un pilote annule généralement l’inscription de ses blocs en réponse à une demande de IRP_MN_REMOVE_DEVICE . Notez que l’appel de désinscription se bloque jusqu’à ce que tous les IRP WMI sur l’appareil soient terminés. Si un pilote met en file d’attente les IRP WMI, il doit les annuler avant d’appeler IoWMIRegistrationControl pour annuler l’inscription.