-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
ManagementEntityAttribute.xml
227 lines (201 loc) · 12.8 KB
/
ManagementEntityAttribute.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
<Type Name="ManagementEntityAttribute" FullName="System.Management.Instrumentation.ManagementEntityAttribute">
<TypeSignature Language="C#" Value="public sealed class ManagementEntityAttribute : Attribute" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit ManagementEntityAttribute extends System.Attribute" />
<TypeSignature Language="DocId" Value="T:System.Management.Instrumentation.ManagementEntityAttribute" />
<TypeSignature Language="VB.NET" Value="Public NotInheritable Class ManagementEntityAttribute
Inherits Attribute" />
<TypeSignature Language="F#" Value="type ManagementEntityAttribute = class
 inherit Attribute" />
<TypeSignature Language="C++ CLI" Value="public ref class ManagementEntityAttribute sealed : Attribute" />
<AssemblyInfo>
<AssemblyName>System.Core</AssemblyName>
<AssemblyVersion>3.5.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Attribute</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)]</AttributeName>
<AttributeName Language="F#">[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>The ManagementEntity attribute indicates that a class provides management information exposed through a 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](https://learn.microsoft.com/previous-versions/windows/desktop/wmi_v2/windows-management-infrastructure) should be used for all new development.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The class marked by this attribute must be public.
## Examples
The following example shows how to use the ManagementEntity attribute to mark a class.
```
// Use the ManagementEntity attribute on the class to specify that this // class contains management information that is available from
// provider.
[ManagementEntity(Name = "MortgageCalc")]
public class MortgageCalcWMIProvider
{
}
```
]]></format>
</remarks>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ManagementEntityAttribute ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Management.Instrumentation.ManagementEntityAttribute.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberSignature Language="C++ CLI" Value="public:
 ManagementEntityAttribute();" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Core</AssemblyName>
<AssemblyVersion>3.5.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters />
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.Management.Instrumentation.ManagementEntityAttribute" /> class. This is the parameterless constructor.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This constructor does not take a name parameter. If you do not specify a name by using the <xref:System.Management.Instrumentation.ManagementEntityAttribute.Name> parameter, the name of the associated WMI class will default to the name of the attributed class.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="External">
<MemberSignature Language="C#" Value="public bool External { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool External" />
<MemberSignature Language="DocId" Value="P:System.Management.Instrumentation.ManagementEntityAttribute.External" />
<MemberSignature Language="VB.NET" Value="Public Property External As Boolean" />
<MemberSignature Language="F#" Value="member this.External : bool with get, set" Usage="System.Management.Instrumentation.ManagementEntityAttribute.External" />
<MemberSignature Language="C++ CLI" Value="public:
 property bool External { bool get(); void set(bool value); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Core</AssemblyName>
<AssemblyVersion>3.5.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets a value that specifies whether the class represents a WMI class in a provider implemented external to the current assembly.</summary>
<value>A boolean value that is true if the class represents an external WMI class and false otherwise.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This is used when implementing providers that implement classes that extend existing abstract WMI classes.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Name">
<MemberSignature Language="C#" Value="public string Name { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance string Name" />
<MemberSignature Language="DocId" Value="P:System.Management.Instrumentation.ManagementEntityAttribute.Name" />
<MemberSignature Language="VB.NET" Value="Public Property Name As String" />
<MemberSignature Language="F#" Value="member this.Name : string with get, set" Usage="System.Management.Instrumentation.ManagementEntityAttribute.Name" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::String ^ Name { System::String ^ get(); void set(System::String ^ value); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Core</AssemblyName>
<AssemblyVersion>3.5.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the name of the WMI class.</summary>
<value>A string that contains the name of the WMI class.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
If you do not specify the name of the WMI class by setting this property, the WMI class will default to the name of the attributed class.
## Examples
In the following example, the Name parameter is used to set the name of the WMI class represented by the MortgageCalcWMIProvider class. It sets the name to MortgageCalculator. If the Name parameter is not used, the corresponding C# class name, MortgageCalcWMIProvider in this case, is used as the WMI class name.
```
[ManagementEntity(Name = "MortgageCalculator")]
public class MortgageCalcWMIProvider
{
}
```
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Singleton">
<MemberSignature Language="C#" Value="public bool Singleton { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool Singleton" />
<MemberSignature Language="DocId" Value="P:System.Management.Instrumentation.ManagementEntityAttribute.Singleton" />
<MemberSignature Language="VB.NET" Value="Public Property Singleton As Boolean" />
<MemberSignature Language="F#" Value="member this.Singleton : bool with get, set" Usage="System.Management.Instrumentation.ManagementEntityAttribute.Singleton" />
<MemberSignature Language="C++ CLI" Value="public:
 property bool Singleton { bool get(); void set(bool value); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Core</AssemblyName>
<AssemblyVersion>3.5.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<set: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Specifies whether the associated class represents a singleton WMI class.</summary>
<value>A boolean value that is true if the class represents a singleton WMI class and false otherwise.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
A singleton WMI class is one for which there can only ever be a single instance. Although you could code the logic to ensure that only a single instance of a WMI class is ever created, this parameter attribute is provided to make the task easy and consistent.
When working with singleton WMI classes, client applications must use special syntax. For more information, see the Describing an Instance Object Path topic in the MSDN online library at [http://www.msdn.com](https://www.msdn.com/).
## Examples
The following code snippet demonstrates how to use the Singleton parameter to indicate that a C# class corresponds to a singleton WMI class.
```
[ManagementEntity(Singleton=true)]
public class SingletonSample
```
For a complete, working example of a provider that implements a singleton class, see [How to: Create a Basic Decoupled Provider](https://msdn.microsoft.com/library/1dabd442-c1ff-40a1-bb0e-d7b3566c2300).
]]></format>
</remarks>
</Docs>
</Member>
</Members>
</Type>