Condividi tramite


Scrittura di un provider di istanze

Un provider di istanze fornisce istanze di una o più classi specificate. Ad esempio, un provider di istanze può fornire informazioni su una CPU o su 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 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 "esegue il pull" delle 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 sistema. Per altre informazioni, vedere Creazione di un provider di istanze in un provider di High-Performance.

La procedura seguente descrive come scrivere un provider di istanze.

Per scrivere un provider di istanze

  1. Registrare il provider con WMI.

    I provider di istanze si registrano con WMI creando un'istanza __Win32Provider e una classe __InstanceProviderRegistration .

  2. Inizializzare il provider.

    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 "Entrambi".

     

  3. Implementare l'interfaccia IWbemServices per il provider.

    L'interfaccia IWbemServices è l'interfaccia primaria per un provider di istanze.

  4. Aggiungere qualsiasi codice aggiuntivo necessario per il provider.

    Quando si progetta il provider, è più probabile che sia necessario chiamare interfacce WMI. Per altre informazioni, vedere Creazione di chiamate a WMI.

    Quando si recuperano informazioni per un client, potrebbe essere necessario accedere ai livelli di sicurezza per tale client. Per altre informazioni, vedere Rappresentazione di un client.

  5. Se necessario, implementare l'interfaccia ad alte prestazioni.

    L'interfaccia ad alte prestazioni aumenta la velocità in cui il provider può reagire alle richieste da WMI.

  6. Se necessario, implementare il supporto per gli aggiornamenti di istanza parziale.

    Come implica il nome, un aggiornamento di istanza parziale è una tecnica utilizzata per aggiornare solo una parte di un'istanza. Per altre informazioni sulla chiamata di un'istanza parziale da un client, vedere Aggiornamento della parte di un'istanza e recupero di parte di un'istanza WMI.

  7. 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.