COM APIs

[This is preliminary documentation and subject to change.]

The Common Information Model Object Manager (CIMOM) programmer's reference provides the application programming interface (API) definitions for the Web-Based Enterprise Management (WBEM) Win32® Component Object Model (COM). This programmer's reference describes the communication link to CIMOM; these APIs enable you to access CIMOM services. The reference provides information for advanced system administrators, as well as developers who are writing client and provider applications.

Note  Microsoft only supports WBEM C++ development using Microsoft Visual C++ version 5.0; However, other compilers such as Borland, Watcom, etc. can easily be used.

Each of the many different CIMOM objects inherits from an interface that is ultimately inherited from IUnknown. COM dictates how object implementers, or interfaces, handle tasks such as memory management, parameter management, and multithreading. By conforming to this model, an interface adheres to a contract as specified by the interfaces included in the object.

CIMOM is accessed through the following COM interfaces specific to WBEM:

WBEM COM Interfaces Description
IEnumWbemClassObject This interface is an enumerator that works with objects of type IWbemClassObject. It is similar to standard COM enumerators, such as IEnumVariant.
IWbemCallResult This interface is optionally used to query for the result of semisynchronous calls.
IWbemClassObject This interface contains and manipulates both class definitions and class object instances. Users do not implement this interface; the implementation is provided.
IWbemContext This interface is used optionally to provide additional context information along with the other WBEM calls.
IWbemEventConsumerProvider This interface is used to initiate communication with a consumer provider.
IWbemEventProvider This interface is used to initiate communication with a provider.
IWbemEventProviderQuerySink This interface is optionally implemented by event providers that expose what kinds of event query filters are currently active in order to optimize performance.
IWbemLocator This interface obtains the initial IWbemServices pointer to CIMOM on a particular host machine.
IWbemPropertyProvider This interface is implemented only by dynamic property providers, which need to expose their data sources at the granularity of properties rather than instances.
IWbemProviderInit This interface is used to initialize all provider types.
IWbemQualifierSet This interface enables WBEM clients to read or modify qualifiers on properties or entire objects. Users do not implement this interface; the implementation is provided.
IWbemServices This is the primary CIMOM interface. It provides management services to client processes and to other providers.
IWbemUnboundObjectSink This interface is implemented by event consumers. It is a simple sink interface which accepts delivery of event objects.

The Microsoft® Platform SDK documentation includes a comprehensive discussion of the rules for implementing objects that conform to the COM. These rules address how to: