Registrazione come provider di dati WMI
Un driver che supporta WMI deve registrarsi come provider di dati WMI per rendere disponibili i relativi blocchi di dati e eventi per i client WMI. Un driver viene in genere registrato con WMI all'avvio del dispositivo, dopo che il dispositivo è stato inizializzato fino al punto in cui il driver può gestire i runtime di integrazione WMI. Durante il processo di registrazione, il driver passa un puntatore WMI all'oggetto dispositivo e le informazioni sui dati e i blocchi eventi supportati.
Un driver esegue la registrazione con WMI in due fasi:
Il driver chiama IoWMIRegistrationControl con l'azione WMIREG_ACTION_REGISTER e un puntatore all'oggetto dispositivo passato alla routine AddDevice del driver.
Il driver gestisce la IRP_MN_REGINFO o IRP_MN_REGINFO_EX richiesta inviata da WMI in risposta alla chiamata IoWMIRegistrationControl del driver. Il membro Parameters.WMI.DataPath dell'IRP è impostato su WMIREGISTER e Parameters.WMI.ProviderId è impostato sul puntatore a oggetti dispositivo del driver. Il driver fornisce a WMI informazioni di registrazione sui relativi dati e blocchi eventi, usando la libreria WMI come descritto in Uso della libreria WMI per registrare i blocchi oppure gestendo le richieste di IRP_MN_REGINFO o IRP_MN_REGINFO_EX come descritto in Gestione di IRP_MN_REGINFO e IRP_MN_REGINFO_EX per registrare i blocchi.