[This is preliminary documentation and subject to change.]
CIMOM imports the IWbemServices interface. It is used by clients to access WBEM services. It is also exported by class and instance dynamic providers. This interface provides management services to client processes and to other providers.
Note Providers implementing this interface must obey the documented semantics of each method that they implement, and support the specified error return codes. While CIMOM implements all of the methods, any given provider usually implements a small subset of the available functionality on this interface. WBEM_E_NOT_SUPPORTED returns for unimplemented methods.
Note All outbound interface pointers from any IWbemServices method should be initialized to NULL prior to calling the interface method. For example, IWbemServices::GetObject returns an IWbemClassObject interface pointer. This pointer should be pre-initialized to NULL (or zero) before making the call:
IWbemClassObject *pObj = 0;
pWbemSvc->GetObject(strPath, 0, 0, &pObj, 0);
IUnknown Methods | Description |
---|---|
QueryInterface | Determines if the current object supports a given interface. |
Addref | Increases the object's reference count by 1. |
Release | Decrements the reference count. |
IWbemServices Methods | Description |
---|---|
OpenNamespace | Opens a particular child namespace for operations. |
CancelAsyncCall | Cancels a currently executing asynchronous call. |
QueryObjectSink | Allows the caller to obtain a notification handler sink. |
GetObject | Retrieves an object, whether an instance or class definition. |
GetObjectAsync | Asynchronously retrieves an object (an instance or class definition). |
PutClass | Creates or updates a class definition. |
PutClassAsync | Asynchronously creates or updates a class definition. |
DeleteClass | Deletes a class. |
DeleteClassAsync | Deletes a class and receives confirmation asynchronously. |
CreateClassEnum | Creates a class enumerator. |
CreateClassEnumAsync | Creates a class enumerator that executes asynchronously. |
PutInstance | Creates or updates an instance of a particular class. |
PutInstanceAsync | Asynchronously creates or updates an instance of a particular class. |
DeleteInstance | Deletes a particular instance of a class. |
DeleteInstanceAsync | Deletes an instance and provides confirmation asynchronously. |
CreateInstanceEnum | Creates an instance enumerator. |
CreateInstanceEnumAsync | Creates an asynchronous instance enumerator. |
ExecQuery | Executes a query to retrieve instances. |
ExecQueryAsync | Executes a query and asynchronously returns the instances. |
ExecNotificationQuery | Executes a query to receive events. |
ExecNotificationQueryAsync | Executes a query and asynchronously receives the events. |
ExecMethod | Executes an object method. |
ExecMethodAsync | Executes an object method asynchronously. |