API COM per WMI

È possibile usare l'API COM (Component Object Model) WMI per scrivere applicazioni client di gestione o creare un nuovo provider WMI. Le informazioni di riferimento sull'API COM forniscono informazioni per gli amministratori di sistema avanzati, nonché per gli sviluppatori che scrivono applicazioni client e provider.

Per altre informazioni sulla scrittura di applicazioni di gestione aziendale WMI, vedere Creazione di un'applicazione WMI con C++. Per altre informazioni su come scrivere un provider WMI, vedere Fornire dati a WMI.

Nota

WMI supporta solo lo sviluppo C++ con Microsoft Visual C++ versione 6.0 e sistemi di sviluppo successivi. Tuttavia, è anche possibile usare altri compilatori, ad esempio quelli di Borland e Watcom.

 

Ognuno dei diversi oggetti WMI eredita da un'interfaccia ereditata dall'interfaccia IUnknown . COM determina il modo in cui gli implementatori di oggetti o le interfacce gestiscono attività come gestione della memoria, gestione dei parametri e multithreading. Conforme a COM, l'API COM per WMI garantisce che supporti le funzionalità fornite dalle interfacce di ogni oggetto WMI.

È possibile accedere a WMI tramite le interfacce COM specifiche di WMI seguenti.

Interfaccia Descrizione
IEnumWbemClassObject Enumeratore che funziona con oggetti di tipo IWbemClassObject. È simile agli enumeratori COM standard, ad esempio IEnumVariant.
IMofCompiler Implementata da Mofd.dll, questa interfaccia fornisce un'interfaccia COM usata dal compilatore MOF e da qualsiasi altra applicazione che compila file MOF.
IUnsecuredApartment Usato per semplificare il processo di esecuzione di chiamate asincrone da un processo client.
IWbemBackupRestore Esegue il backup e ripristina il contenuto del repository WMI.
IWbemCallResult Usato per le chiamate semisynchronous dell'interfaccia IWbemServices . Quando si effettuano tali chiamate, il metodo IWbemServices restituisce immediatamente, insieme a un oggetto IWbemCallResult .
IWbemCausalityAnalysis Tiene traccia delle richieste figlio generate da una richiesta padre.
IWbemClassObject Contiene e modifica sia le definizioni di classe che le istanze dell'oggetto classe. Gli sviluppatori non devono implementare questa interfaccia; WMI fornisce la relativa implementazione.
IWbemConfigureRefresher Usato dal codice client per aggiungere o rimuovere enumeratori, oggetti e aggiornamenti annidati in un aggiornamento.
IWbemContext Facoltativamente usato per comunicare informazioni di contesto aggiuntive ai provider durante l'invio di chiamate IWbemServices a Gestione Windows.
IWbemDecoupledBasicEventProvider Registra provider disaccoppiati con WMI.
IWbemDecoupledRegistrar Associa provider disaccoppiati a WMI. Questa interfaccia consente a un provider ospitato dal processo di definire la durata di interoperabilità dell'interfaccia e coesistere con altri provider.
IWbemEventConsumerProvider Fornisce l'interfaccia primaria per un provider di consumer di eventi. Tramite questa interfaccia e il metodo FindConsumer , un provider di consumer di eventi può indicare quali consumer di eventi devono ricevere un determinato evento.
IWbemEventProvider Usato per avviare la comunicazione con un provider di eventi.
IWbemEventProviderQuerySink Facoltativamente implementata dai provider di eventi che vogliono sapere quali tipi di filtri di query di eventi sono attualmente attivi per ottimizzare le prestazioni.
IWbemEventProviderSecurity Facoltativamente implementata dai provider di eventi che vogliono limitare l'accesso degli utenti al proprio evento.
IWbemEventSink Avvia la comunicazione con un provider di eventi usando un set limitato di query. Questa interfaccia estende IWbemObjectSink, fornendo nuovi metodi che gestiscono sicurezza e prestazioni.
IWbemHiPerfProvider Consente ai provider di fornire oggetti e enumeratori aggiornabili.
IWbemHiPerfEnum Usato nelle operazioni di aggiornamento per fornire accesso rapido alle enumerazioni degli oggetti istanza.
IWbemLocator Ottiene il puntatore dello spazio dei nomi iniziale all'interfaccia IWbemServices per WMI in un computer host specifico.
IWbemObjectAccess Fornisce l'accesso ai metodi e alle proprietà di un oggetto . Un oggetto IWbemObjectAccess è un contenitore per un'istanza aggiornata da un refresher.
IWbemObjectSink Usato per ricevere sia i risultati di IWbemServices che determinati tipi di notifiche degli eventi.
IWbemObjectTextSrc Usato per tradurre le istanze di IWbemClassObject in e da formati di testo diversi.
IWbemPropertyProvider Supporta il recupero e l'aggiornamento di singole proprietà in un'istanza di una classe WMI.
IWbemProviderIdentity Implementato da un provider di eventi se il provider si registra usando più di un nome (più istanze di __Win32Provider) con lo stesso valore CLSID . La classe fornisce un meccanismo per distinguere il provider denominato da usare.
IWbemProviderInit Utilizzato per inizializzare i provider.
IWbemProviderInitSink Implementato da WMI e chiamato dai provider per segnalare lo stato di inizializzazione.
IWbemQualifierSet Funge da contenitore per l'intero set di qualificatori denominati per una singola proprietà o un intero oggetto (una classe o un'istanza).
IWbemQuery Fornisce un punto di ingresso tramite il quale è possibile analizzare una query WQL ( WMI Query Language ).
IWbemRefresher Fornisce un punto di ingresso tramite il quale è possibile aggiornare oggetti aggiornabili, ad esempio enumeratori o oggetti di aggiornamento.
Iwbemservices Usato da client e provider per accedere ai servizi WMI. L'interfaccia viene implementata solo da WMI ed è l'interfaccia WMI primaria.
IWbemStatusCodeText Estrae le descrizioni delle stringhe di testo dei codici di errore o il nome del sottosistema in cui si è verificato l'errore.
IWbemUnboundObjectSink Implementato da tutti i consumer di eventi logici. Si tratta di un'interfaccia sink semplice che accetta il recapito di oggetti evento.

 

Nota

Molte delle funzioni COM WMI restituiscono codici di errore numerici documentati come costanti denominate. Queste costanti sono definite in Wbemcli.h nella cartella WMI\Include PSDK. Per altre informazioni, vedere Codici restituiti WMI.

 

Per altre informazioni sugli argomenti seguenti per la programmazione COM, vedere Sviluppo di componenti:

  • Interfacce e progettazione di oggetti.
  • Implementazione di IUnknown.
  • Gestione della memoria
  • Gestione del conteggio dei riferimenti.

Informazioni di riferimento SU WMI