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 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:
- Class Provider
- Instance Provider
- Method Provider
- Property Provider
- Event Provider
- Event Consumer Provider
The single-threaded apartment (STA) model is supported for some types of provider functionality:
Providers that are hosted in a different shared service host support the following provider functionality:
- Class Provider
- Instance Provider
- Method Provider
- Property Provider
- Event Provider
- Event Consumer Provider
For more information about shared service hosts, see Provider Hosting and Security.
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: