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