Scrittura di un fornitore di istanze
Un provider di istanze fornisce istanze di una o più classi specificate. Ad esempio, un provider di istanze può fornire informazioni relative a una CPU o a un altro tipo di hardware. Poiché gli oggetti gestiti da un provider di istanze tendono a cambiare regolarmente, tutti i provider di istanze vengono considerati provider di pull; ovvero un provider che recupera in modo dinamico le informazioni relative a un oggetto gestito ogni volta che WMI effettua una richiesta per le informazioni. Il nome deriva dall'idea che WMI "estrae" le informazioni dal provider per conto di una richiesta client. Usando la tecnologia pull, un provider di istanze può supportare il recupero, l'enumerazione, la modifica, l'eliminazione e l'elaborazione di query di un'istanza specifica.
I provider ad alte prestazioni possono aumentare l'efficienza di un provider di istanze o accedere a livello di codice ai dati visualizzati in Monitoraggio di sistema. Per ulteriori informazioni, vedere Trasformazione di un provider di istanze in un provider High-Performance.
La procedura seguente descrive come scrivere un provider di istanze.
Per scrivere un provider di istanze
-
I provider di istanze si registrano con WMI creando un'istanza di __Win32Provider e una classe __InstanceProviderRegistration.
-
WMI usa IWbemProviderInit per caricare e inizializzare un provider. Si tratta di un'attività comune a tutti i provider.
Nota
I provider di istanze sono fortemente invitati a usare il modello di multithreading "Both".
Implementare l'interfaccia IWbemServices per il provider.
L'interfaccia IWbemServices è l'interfaccia primaria per un provider di istanze.
Aggiungere qualsiasi ulteriore codice necessario per il fornitore.
Quando si progetta il provider, è molto probabile che sia necessario utilizzare le interfacce WMI. Per ulteriori informazioni, vedere Effettuare chiamate al servizio WMI.
Quando si recuperano informazioni per un client, potrebbe essere necessario accedere ai livelli di sicurezza per tale client. Per altre informazioni, vedere Impersonificazione di un client.
Se necessario, implementare l'interfaccia ad alte prestazioni.
L'interfaccia ad alte prestazioni aumenta la velocità con cui il provider può reagire alle richieste da WMI.
Se necessario, implementare il supporto per gli aggiornamenti a istanza parziale.
Come suggerisce il nome, un aggiornamento parziale dell'istanza è una tecnica usata per aggiornare solo parte di un'istanza. Per altre informazioni sulla chiamata di un'istanza parziale da un client, vedere aggiornamento di parte di un'istanza e recupero di parte di un'istanza WMI.
Sostituire il provider preesistente con il nuovo codice.
Non è necessario eseguire questo passaggio se non si dispone di un provider preesistente da copiare. Per altre informazioni, vedere Aggiornamento di un provider.