Condividi tramite


Aggiornamento delle informazioni di registrazione WMI

Dopo la registrazione iniziale con WMI, un driver modifica le informazioni di registrazione chiamando IoWMIRegistrationControl con una delle azioni seguenti:

  • WMIREG_ACTION_REREGISTER sostituire tutte le informazioni di registrazione fornite in precedenza dal driver con nuove informazioni.

    In risposta, WMI invia una richiesta di IRP_MN_REGINFO o una richiesta di IRP_MN_REGINFO_EX al driver, con Parameters.WMI.DataPath impostato su WMIREGISTER. (In Windows 98 e Windows 2000 il sistema invia la richiesta di IRP_MN_REGINFO . In Windows XP e versioni successive, il sistema invia la richiesta di IRP_MN_REGINFO_EX .

    Il driver fornisce a WMI nuove informazioni di registrazione per tutti i blocchi supportati, come descritto in Uso della libreria WMI per registrare i blocchie la gestione di IRP_MN_REGINFO e IRP_MN_REGINFO_EX per registrare i blocchi.

  • WMIREG_ACTION_UPDATE_GUIDS aggiungere o rimuovere il supporto per i blocchi o per modificare i nomi delle istanze statiche dei blocchi registrati.

    In risposta, WMI invia una richiesta di IRP_MN_REGINFO o IRP_MN_REGINFO_EX al driver, con Parameters.Wmi.DataPath impostato su WMIUPDATE.

    Il driver fornisce WMI con informazioni di registrazione aggiornate in cui:

    • Il driver imposta WMIREG_FLAG_REMOVE_GUID per rimuovere il supporto per tale blocco.

    • Il driver cancella WMIREG_FLAG_REMOVE_GUID per aggiungere un nuovo blocco o aggiornare un blocco esistente.

    • Il driver imposta o cancella WMIREG_FLAG_INSTANCE_XXX e fornisce le informazioni necessarie sul nome dell'istanza per modificare i nomi di istanza statici di un blocco o modificarli in modo da usare nomi di istanza dinamici.

  • WMIREG_ACTION_DEREGISTER per indicare a WMI che il driver non fornirà più informazioni WMI.

    WMI non invia una richiesta di IRP_MN_REGINFO o IRP_MN_REGINFO_EX in risposta a questa chiamata, perché non richiede ulteriori informazioni dal driver. Un driver in genere annulla la registrazione dei blocchi in risposta a una richiesta di IRP_MN_REMOVE_DEVICE . Si noti che la chiamata di annullamento della registrazione verrà bloccata fino al completamento di tutti gli IRP WMI nel dispositivo. Se un driver accoda i runtime di integrazione WMI, è necessario annullarli prima di chiamare IoWMIRegistrationControl per annullare la registrazione.