Share via

WmiConfigurationAttribute Class


The WmiConfiguration attribute indicates that an assembly contains code that implements a WMI provider by using the WMI.NET Provider Extensions model. The attribute accepts parameters that establish the high-level configuration of the implemented WMI provider.

Note: the WMI .NET libraries are now considered in final state, and no further development, enhancements, or updates will be available for non-security related issues affecting these libraries. The MI APIs should be used for all new development.

public ref class WmiConfigurationAttribute sealed : Attribute
public sealed class WmiConfigurationAttribute : Attribute
type WmiConfigurationAttribute = class
    inherit Attribute
Public NotInheritable Class WmiConfigurationAttribute
Inherits Attribute


// Specify that this assembly contains code that implements a WMI
// Provider. Use the assembly:WmiConfiguration attribute to define
// the WMI namespace, the hosting model, and the impersonation mode
// of the WMI provider.
// The attribute below specifies that the class this provider
// exposes to WMI will be in the root/MortgageCalc namespace, will
// use the decoupled hosting model and will not allow the provider
// to impersonate its callers.

[assembly: WmiConfiguration("root/MortgageCalc",HostingModel = ManagementHostingModel.Decoupled, IdentifyLevel = false)]


The following table lists the parameters accepted by this attribute along with what aspect of the provider configuration it enables you to control.

Parameter Configures
Scope The namespace in which your provider exposes classes.
NamespaceSecurity - The security (DACL) on the namespace used.
HostingModel - The hosting model that will be used by the provider.
IdentifyLevel - The impersonation mode of the provider.
HostingGroup The hosting group that the provider belongs to. This parameter only applies to in-process providers.
SecurityRestriction The security (DACL) on the WMI provider.



Initializes a new instance of the WmiConfigurationAttribute class that specifies the WMI namespace in which the WMI provider will expose classes.



Gets or sets the hosting group for the WMI provider.


Gets or sets the hosting model for the WMI provider.


Gets or sets a value that specifies whether the WMI provider can impersonate its callers. If the value is false, the provider cannot impersonate, and if the value is true, the provider can impersonate.


Gets or sets a Security Descriptor Definition Language (SDDL) string that specifies the security descriptor on the namespace in which the provider exposes management objects.


Gets the WMI namespace in which the WMI provider exposes classes.


Gets or sets a security descriptor for the WMI provider.


When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)



Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)

Returns the hash code for this instance.

(Inherited from Attribute)

Gets the Type of the current instance.

(Inherited from Object)

When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)

When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)

Creates a shallow copy of the current Object.

(Inherited from Object)

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)

Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Applies to