Inscription en tant que fournisseur de données WMI

Un pilote qui prend en charge WMI doit s’inscrire en tant que fournisseur de données WMI pour rendre ses données et blocs d’événements disponibles pour les clients WMI. Un pilote s’inscrit généralement auprès de WMI lors du démarrage de son appareil, une fois que l’appareil a été initialisé au point que le pilote peut gérer les IIP WMI. Pendant le processus d’inscription, le pilote transmet à WMI un pointeur vers son objet de périphérique et des informations sur les blocs de données et d’événements qu’il prend en charge.

Un pilote s’inscrit auprès de WMI en deux phases :

  1. Le pilote appelle IoWMIRegistrationControl avec l’action WMIREG_ACTION_REGISTER et un pointeur vers l’objet de périphérique passé à la routine AddDevice du pilote.

  2. Le pilote gère la demande IRP_MN_REGINFO ou IRP_MN_REGINFO_EX que WMI envoie en réponse à l’appel IoWMIRegistrationControl du pilote. Le membre Parameters.WMI.DataPath de l’IRP est défini sur WMIREGISTER et Parameters.WMI.ProviderId est défini sur le pointeur d’objet de périphérique du pilote. Le pilote fournit à WMI des informations d’inscription sur ses données et ses blocs d’événements, soit à l’aide de la bibliothèque WMI, comme décrit dans Utilisation de la bibliothèque WMI pour inscrire des blocs, soit en gérant les requêtes IRP_MN_REGINFO ou IRP_MN_REGINFO_EX comme décrit dans Gestion des IRP_MN_REGINFO et IRP_MN_REGINFO_EX pour inscrire des blocs.