IWbemServices

[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);

Methods in Vtable Order

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.