Choosing Correct Registration

WMI supports different threading models depending on how the provider is hosted and the type of provider functionality, such as Class or Property. For example, decoupled providers do not support all the types of provider functionality. For more information about different hosting models and how to configure them, see Provider Hosting and Security.

In-Process Providers

In-process providers run in a shared host process, Wmiprvse.exe. Most in-process provider types use the multithreaded apartment (MTA) model.

The MTA model is supported for the following types of provider functionality:

The single-threaded apartment (STA) model is supported for some types of provider functionality:

Out-of-Process Providers

Providers that are hosted in a different shared service host support the following provider functionality:

For more information about shared service hosts, see Provider Hosting and Security.

Decoupled Providers

Decoupled providers are hosted in an application. For more information, see Incorporating a Provider in an Application. Providers created using WMI in the .NET Framework are decoupled. Decoupled providers support the following provider functionality:

Developing a WMI Provider

Provider Hosting and Security