Implementing an instance provider primary interface

An instance provider uses the asynchronous methods of IWbemServices as the primary interface to WMI. By implementing only the methods that fulfill the needs of your instance provider, you can reduce the amount of resources you spend coding. However, by implementing methods reserved for other types of providers, you can reduce the number of providers you write.

Because it is also used by applications and providers to request services of WMI, IWbemServices contains many methods that are irrelevant to an instance provider. The following table lists the IWbemServices methods that you can implement for an instance provider.

Method Feature
GetObjectAsync Retrieval
PutInstanceAsync Modification
DeleteInstanceAsync Deletion
CreateInstanceEnumAsync Enumeration
ExecQueryAsync Query processing


For methods that you do not use, your provider can supply a stub implementation that returns WBEM_E_PROVIDER_NOT_CAPABLE. This includes all IWbemServices methods not listed in the above table.

A single provider can act simultaneously as a class, instance, and method provider by proper registration and implementation of all relevant methods. For more information, see Writing a Class Provider and Writing a Method Provider.