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 tramite C++. Per altre informazioni su come scrivere un provider WMI, vedere Fornire dati a WMI.
Nota
WMI supporta solo lo sviluppo C++ con i sistemi di sviluppo Microsoft Visual C++ versione 6.0 e successive. Tuttavia, è anche possibile usare altri compilatori come 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 la gestione della memoria, la gestione dei parametri e il multithreading. Con la conformità 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 tutte le altre applicazioni che compilano 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 chiamate semisincrone dell'interfacciaIWbemServices. Quando si effettuano tali chiamate, il metodo IWbemServices chiamato restituisce immediatamente, insieme a un oggetto IWbemCallResult. |
IWbemCausalityAnalysis | Tiene traccia delle richieste figlio generate da una richiesta padre. |
IWbemClassObject | Contiene e modifica le definizioni di classe e 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 quando si inviano IWbemServices chiamate a Gestione Windows. |
IWbemDecoupledBasicEventProvider | Registra provider disaccoppiati con WMI. |
IWbemDecoupledRegistrar | Associa provider disaccoppiati a WMI. Questa interfaccia consente a un provider ospitato da processi 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 | Utilizzato per avviare la comunicazione con un provider di eventi. |
IWbemEventProviderQuerySink | Facoltativamente implementati dai provider di eventi che vogliono conoscere i tipi di filtri di query evento 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'interfacciaIWbemServicesper WMI in un computer host specifico. |
IWbemObjectAccess | Fornisce l'accesso ai metodi e alle proprietà di un oggetto . Un oggettoIWbemObjectAccessè un contenitore per un'istanza aggiornata da un di aggiornamento. |
IWbemObjectSink | Usato per ricevere sia i risultati di IWbemServices che di determinati tipi di notifiche degli eventi. |
IWbemObjectTextSrc | Usato per tradurre 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 Name (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 di PSDK. Per altre informazioni, vedere codici restituiti WMI.
Per altre informazioni sugli argomenti seguenti per la programmazione COM, vedere Component Development:
- Interfacce e progettazione di oggetti.
- Implementazione di IUnknown.
- Gestione della memoria
- Gestione del conteggio dei riferimenti.
Argomenti correlati