Condividi tramite


Uso della libreria WMI per registrare i blocchi

Un driver può usare la libreria WMI per gestire IRP_MN_REGINFO e IRP_MN_REGINFO_EX richieste se si registrano blocchi che non usano nomi di istanza dinamici o che usano nomi di istanza statici in base a una stringa di nome di base definita da pdO o driver. In questo caso, il driver:

  1. Chiama WmiSystemControl con un puntatore all'oggetto dispositivo del driver, un puntatore a una struttura WMILIB_CONTEXT e un puntatore all'IRP

    La struttura WMILIB_CONTEXT indica il numero di blocchi da registrare (GuidCount) e punta a un elenco di strutture WMIGUIDREGINFO (GuidList) che specificano il GUID, il numero di istanze e i flag di registrazione relativi al blocco corrispondente. Definisce anche i punti di ingresso per le routine di callback DpWmiXxx necessarie e facoltative del driver.

  2. Quando WMI chiama la routine DpWmiQueryReginfo del driver, il driver specifica il percorso del Registro di sistema del driver, il nome della risorsa MOF, i flag di registrazione relativi a tutti i blocchi e le informazioni usate da WMI per assegnare un nome alle istanze dei blocchi di dati del driver, che potrebbero essere un puntatore all'oggetto dispositivo fisico passato alla routine AddDevice del driver o a una stringa su cui basare nomi di istanze statiche.

Un driver deve inizializzare i punti di ingresso per le routine di callback DpWmiXxx nella struttura di WMILIB_CONTEXT prima di chiamare WmiSystemControl, ma può rinviare l'inizializzazione di GuidCount e GuidList nella struttura WMILIB_CONTEXT fino a quando WMI chiama la routine DpWmiQueryReginfo del driver.