通过


PerformanceCounter 构造函数

定义

初始化 PerformanceCounter 类的新实例。

重载

名称 说明
PerformanceCounter()

初始化类的新只读实例 PerformanceCounter ,而不将实例与任何系统或自定义性能计数器相关联。

PerformanceCounter(String, String)

初始化类的新只读实例 PerformanceCounter ,并将其与本地计算机上的指定系统或自定义性能计数器相关联。 此构造函数要求类别具有单个实例。

PerformanceCounter(String, String, Boolean)

初始化类的新只读或读/写实例 PerformanceCounter ,并将其与本地计算机上的指定系统或自定义性能计数器相关联。 此构造函数要求类别包含单个实例。

PerformanceCounter(String, String, String)

初始化类的新只读实例 PerformanceCounter ,并将其与本地计算机上的指定系统或自定义性能计数器和类别实例相关联。

PerformanceCounter(String, String, String, Boolean)

初始化类的新只读或读/写实例 PerformanceCounter ,并将其与本地计算机上的指定系统或自定义性能计数器和类别实例相关联。

PerformanceCounter(String, String, String, String)

初始化类的新只读实例 PerformanceCounter ,并将其与指定计算机上的指定系统或自定义性能计数器和类别实例相关联。

PerformanceCounter()

Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs

初始化类的新只读实例 PerformanceCounter ,而不将实例与任何系统或自定义性能计数器相关联。

public:
 PerformanceCounter();
public PerformanceCounter();
Public Sub New ()

示例

下面的代码示例创建类的默认实例 PerformanceCounter 。 创建实例后,CategoryName将设置和CounterNameInstanceName属性值,并显示对NextValue方法的调用结果。

PerformanceCounter performanceCounter = new PerformanceCounter();
performanceCounter.CategoryName = "Process";
performanceCounter.CounterName = "Private Bytes";
performanceCounter.InstanceName = "Explorer";
MessageBox.Show(performanceCounter.NextValue().ToString());
Dim PC As New PerformanceCounter()
PC.CategoryName = "Process"
PC.CounterName = "Private Bytes"
PC.InstanceName = "Explorer"
MessageBox.Show(PC.NextValue().ToString())

注解

构造函数的此重载将CategoryNameCounterNameInstanceName属性设置为空字符串(“),并将属性设置为MachineName本地计算机(”)。”。

此构造函数不会初始化性能计数器,因此它不会将实例与本地计算机上的现有计数器相关联。 若要指向特定的性能计数器,请在读取任何其他属性或尝试从计数器读取之前设置CategoryNameCounterName和属性(可选InstanceNameMachineName)。 若要写入性能计数器,请将 ReadOnly 属性设置为 false

注释

HostProtectionAttribute应用于此成员的属性具有以下Resources属性值: Synchronization | SharedStateHostProtectionAttribute 不会影响桌面应用程序(通常通过双击图标、键入命令或在浏览器中输入 URL 来启动)。 有关详细信息,请参阅 HostProtectionAttribute 类或 SQL Server 编程和主机保护属性

适用于

PerformanceCounter(String, String)

Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs

初始化类的新只读实例 PerformanceCounter ,并将其与本地计算机上的指定系统或自定义性能计数器相关联。 此构造函数要求类别具有单个实例。

public:
 PerformanceCounter(System::String ^ categoryName, System::String ^ counterName);
public PerformanceCounter(string categoryName, string counterName);
new System.Diagnostics.PerformanceCounter : string * string -> System.Diagnostics.PerformanceCounter
Public Sub New (categoryName As String, counterName As String)

参数

categoryName
String

与此性能计数器关联的性能计数器类别(性能对象)的名称。

counterName
String

性能计数器的名称。

例外

categoryName 是空字符串(“)。

-或-

counterName 是空字符串(“)。

-或-

指定的类别不存在。

-或-

指定的类别标记为多实例,并需要使用实例名称创建性能计数器。

-或-

categoryName 并且 counterName 已本地化为不同的语言。

categoryNamecounterNamenull.

访问系统 API 时出错。

在没有管理权限的情况下执行的代码尝试读取性能计数器。

注解

参数字符串不区分大小写。

使用此重载访问属于包含单个性能计数器类别实例的类别的本地计算机上的计数器。 如果尝试使用此构造函数将此 PerformanceCounter 实例指向包含多个实例的类别,则构造函数将引发异常。 此重载可以访问任何只读或读/写计数器,但在只读模式下执行此操作。 PerformanceCounter使用此重载创建的实例无法写入计数器,即使计数器本身是读/写。

此构造函数重载将CategoryNameCounterName属性设置为传入的值,将MachineName属性设置为本地计算机“.”,并将该属性设置为InstanceName空字符串(“)。

此构造函数初始化性能计数器,并将实例与本地计算机上的现有计数器(系统或自定义计数器)相关联。 为属性传入CategoryNameCounterName的值必须指向本地计算机上的现有性能计数器。

注释

若要从 Windows Vista 及更高版本中的非交互式登录会话读取性能计数器、Windows XP Professional x64 Edition 或 Windows Server 2003,你必须是性能监视器用户组的成员或具有管理权限。

若要避免提升特权才能访问 Windows Vista 中的性能计数器,请将自己添加到性能监视器用户组。

在 Windows Vista 中,用户帐户控制(UAC)确定用户的权限。 如果你是内置管理员组的成员,则分配有两个运行时访问令牌:标准用户访问令牌和管理员访问令牌。 默认情况下,你处于标准用户角色。 若要执行访问性能计数器的代码,必须先将特权从标准用户提升到管理员。 在启动应用程序时,可以右键单击应用程序图标并指示要以管理员身份运行。

适用于

PerformanceCounter(String, String, Boolean)

Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs

初始化类的新只读或读/写实例 PerformanceCounter ,并将其与本地计算机上的指定系统或自定义性能计数器相关联。 此构造函数要求类别包含单个实例。

public:
 PerformanceCounter(System::String ^ categoryName, System::String ^ counterName, bool readOnly);
public PerformanceCounter(string categoryName, string counterName, bool readOnly);
new System.Diagnostics.PerformanceCounter : string * string * bool -> System.Diagnostics.PerformanceCounter
Public Sub New (categoryName As String, counterName As String, readOnly As Boolean)

参数

categoryName
String

与此性能计数器关联的性能计数器类别(性能对象)的名称。

counterName
String

性能计数器的名称。

readOnly
Boolean

true 以只读模式访问计数器(尽管计数器本身可以是读/写); false 以读/写模式访问计数器。

例外

categoryName为空字符串(“)。

-或-

counterName为空字符串(“)。

-或-

指定的类别不存在。 (如果 readOnlytrue)。

-或-

指定的类别不是 .NET Framework 自定义类别(如果readOnly为)。false

-或-

指定的类别标记为多实例,并需要使用实例名称创建性能计数器。

-或-

categoryName 并且 counterName 已本地化为不同的语言。

categoryNamecounterNamenull.

访问系统 API 时出错。

在没有管理权限的情况下执行的代码尝试读取性能计数器。

示例

下面的代码示例创建类的 PerformanceCounter 实例。 该示例传入类别名称、计数器名称和指示计数器不是只读的标志值。 此代码示例是类的较大示例的 PerformanceCounter 一部分。

avgCounter64Sample = new PerformanceCounter("AverageCounter64SampleCategory",
    "AverageCounter64Sample",
    false);
avgCounter64Sample = New PerformanceCounter("AverageCounter64SampleCategory", "AverageCounter64Sample", False)

注解

参数字符串不区分大小写。

使用此重载访问属于包含单个性能计数器类别实例的类别的本地计算机上的只读或读/写计数器。 如果尝试使用此构造函数将此 PerformanceCounter 实例指向包含多个实例的类别,则构造函数将引发异常。

构造函数的此重载将CategoryNameCounterName传入MachineName的值和ReadOnly属性设置为本地计算机“.”,并将属性设置为InstanceName空字符串(“)。

此构造函数初始化性能计数器,并将实例与本地计算机上的现有计数器(系统或自定义计数器)相关联。 为属性传入CategoryNameCounterName的值必须指向本地计算机上的现有性能计数器。 如果指向的性能计数器实例无效,则调用构造函数将引发异常。

注释

可以使用此重载连接到系统计数器,但无法写入系统计数器。 因此,连接到系统计数器时设置为readOnlyfalse会导致构造函数引发异常。

注释

若要从 Windows Vista 及更高版本中的非交互式登录会话读取性能计数器、Windows XP Professional x64 Edition 或 Windows Server 2003,你必须是性能监视器用户组的成员或具有管理权限。

若要避免提升特权才能访问 Windows Vista 中的性能计数器,请将自己添加到性能监视器用户组。

在 Windows Vista 中,用户帐户控制(UAC)确定用户的权限。 如果你是内置管理员组的成员,则分配有两个运行时访问令牌:标准用户访问令牌和管理员访问令牌。 默认情况下,你处于标准用户角色。 若要执行访问性能计数器的代码,必须先将特权从标准用户提升到管理员。 在启动应用程序时,可以右键单击应用程序图标并指示要以管理员身份运行。

适用于

PerformanceCounter(String, String, String)

Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs

初始化类的新只读实例 PerformanceCounter ,并将其与本地计算机上的指定系统或自定义性能计数器和类别实例相关联。

public:
 PerformanceCounter(System::String ^ categoryName, System::String ^ counterName, System::String ^ instanceName);
public PerformanceCounter(string categoryName, string counterName, string instanceName);
new System.Diagnostics.PerformanceCounter : string * string * string -> System.Diagnostics.PerformanceCounter
Public Sub New (categoryName As String, counterName As String, instanceName As String)

参数

categoryName
String

与此性能计数器关联的性能计数器类别(性能对象)的名称。

counterName
String

性能计数器的名称。

instanceName
String

如果类别包含单个实例,则性能计数器类别实例的名称或空字符串(“)。

例外

categoryName 是空字符串(“)。

-或-

counterName 是空字符串(“)。

-或-

指定的类别无效。

-或-

指定的类别标记为多实例,并需要使用实例名称创建性能计数器。

-或-

instanceName 长度超过 127 个字符。

-或-

categoryName 并且 counterName 已本地化为不同的语言。

categoryNamecounterNamenull.

访问系统 API 时出错。

在没有管理权限的情况下执行的代码尝试读取性能计数器。

注解

参数字符串不区分大小写。

此构造函数重载将CategoryNameCounterName传入的值和InstanceName属性设置为,并将属性设置为MachineName本地计算机“.”。

此构造函数初始化性能计数器,并将实例与本地计算机上的现有计数器(系统或自定义计数器)相关联。 为 /> 传入的值和属性必须指向本地计算机上的现有性能计数器。 如果指向的性能计数器实例无效,则调用构造函数将引发异常。

此重载可以访问任何只读或读/写计数器,但在只读模式下执行此操作。 PerformanceCounter使用此重载创建的实例无法写入计数器,即使计数器本身是读/写。

若要创建性能类别实例,请在构造函数上PerformanceCounter指定一个instanceName。 如果指定的 instanceName 类别实例已存在,则新对象将引用现有类别实例。

注释

若要读取 Windows Vista、Windows XP Professional x64 Edition 或 Windows Server 2003 中的性能计数器,你必须是性能监视器用户组的成员或具有管理权限。

若要避免提升特权才能访问 Windows Vista 中的性能计数器,请将自己添加到性能监视器用户组。

在 Windows Vista 中,用户帐户控制(UAC)确定用户的权限。 如果你是内置管理员组的成员,则分配有两个运行时访问令牌:标准用户访问令牌和管理员访问令牌。 默认情况下,你处于标准用户角色。 若要执行访问性能计数器的代码,必须先将特权从标准用户提升到管理员。 在启动应用程序时,可以右键单击应用程序图标并指示要以管理员身份运行。

适用于

PerformanceCounter(String, String, String, Boolean)

Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs

初始化类的新只读或读/写实例 PerformanceCounter ,并将其与本地计算机上的指定系统或自定义性能计数器和类别实例相关联。

public:
 PerformanceCounter(System::String ^ categoryName, System::String ^ counterName, System::String ^ instanceName, bool readOnly);
public PerformanceCounter(string categoryName, string counterName, string instanceName, bool readOnly);
new System.Diagnostics.PerformanceCounter : string * string * string * bool -> System.Diagnostics.PerformanceCounter
Public Sub New (categoryName As String, counterName As String, instanceName As String, readOnly As Boolean)

参数

categoryName
String

与此性能计数器关联的性能计数器类别(性能对象)的名称。

counterName
String

性能计数器的名称。

instanceName
String

如果类别包含单个实例,则性能计数器类别实例的名称或空字符串(“)。

readOnly
Boolean

true 以只读模式访问计数器; false 以读/写模式访问计数器。

例外

categoryName 是空字符串(“)。

-或-

counterName 是空字符串(“)。

-或-

请求的读/写权限设置对此计数器无效。

-或-

指定的类别不存在(如果 readOnlytrue)。

-或-

指定的类别不是 .NET Framework 自定义类别(如果readOnly为)。false

-或-

指定的类别标记为多实例,并需要使用实例名称创建性能计数器。

-或-

instanceName 长度超过 127 个字符。

-或-

categoryName 并且 counterName 已本地化为不同的语言。

categoryNamecounterNamenull.

访问系统 API 时出错。

在没有管理权限的情况下执行的代码尝试读取性能计数器。

注解

参数字符串不区分大小写。

使用此重载在只读或读/写模式下访问性能计数器。

此构造函数重载将传入的值和InstanceName属性设置为CategoryNameCounterName传入的值,并将该属性设置为MachineName本地计算机“.”。

此构造函数初始化性能计数器,并将实例与本地计算机上的现有计数器(系统或自定义计数器)相关联。 为 /> 传入的值和属性必须指向本地计算机上的现有性能计数器。 如果指向的性能计数器实例无效,则调用构造函数将引发异常。

注释

可以使用此重载连接到系统计数器,但无法写入系统计数器。 因此,连接到系统计数器时设置为readOnlyfalse会导致构造函数引发异常。

若要创建性能类别实例,请在构造函数上PerformanceCounter指定一个instanceName。 如果指定的 instanceName 类别实例已存在,则新对象将引用现有类别实例。

注释

若要读取 Windows Vista、Windows XP Professional x64 Edition 或 Windows Server 2003 中的性能计数器,你必须是性能监视器用户组的成员或具有管理权限。

若要避免提升特权才能访问 Windows Vista 中的性能计数器,请将自己添加到性能监视器用户组。

在 Windows Vista 中,用户帐户控制(UAC)确定用户的权限。 如果你是内置管理员组的成员,则分配有两个运行时访问令牌:标准用户访问令牌和管理员访问令牌。 默认情况下,你处于标准用户角色。 若要执行访问性能计数器的代码,必须先将特权从标准用户提升到管理员。 在启动应用程序时,可以右键单击应用程序图标并指示要以管理员身份运行。

适用于

PerformanceCounter(String, String, String, String)

Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs
Source:
PerformanceCounter.cs

初始化类的新只读实例 PerformanceCounter ,并将其与指定计算机上的指定系统或自定义性能计数器和类别实例相关联。

public:
 PerformanceCounter(System::String ^ categoryName, System::String ^ counterName, System::String ^ instanceName, System::String ^ machineName);
public PerformanceCounter(string categoryName, string counterName, string instanceName, string machineName);
new System.Diagnostics.PerformanceCounter : string * string * string * string -> System.Diagnostics.PerformanceCounter
Public Sub New (categoryName As String, counterName As String, instanceName As String, machineName As String)

参数

categoryName
String

与此性能计数器关联的性能计数器类别(性能对象)的名称。

counterName
String

性能计数器的名称。

instanceName
String

如果类别包含单个实例,则性能计数器类别实例的名称或空字符串(“)。

machineName
String

性能计数器及其关联类别所在的计算机。

例外

categoryName 是空字符串(“)。

-或-

counterName 是空字符串(“)。

-或-

请求的读/写权限设置对此计数器无效。

-或-

指定的计算机上不存在计数器。

-或-

指定的类别标记为多实例,并需要使用实例名称创建性能计数器。

-或-

instanceName 长度超过 127 个字符。

-或-

categoryName 并且 counterName 已本地化为不同的语言。

参数 machineName 无效。

categoryNamecounterNamenull.

访问系统 API 时出错。

在没有管理权限的情况下执行的代码尝试读取性能计数器。

注解

参数字符串不区分大小写。

此构造函数重载将CategoryNameCounterNameInstanceNameMachineName传入的值和属性设置为。

此构造函数初始化性能计数器,并将实例与指定计算机上的现有计数器(系统或自定义计数器)相关联。 为 /> 传入的值和 属性必须指向现有的性能计数器。 如果指向的性能计数器实例无效,则调用构造函数将引发异常。 此重载可以访问任何只读或读/写计数器,但在只读模式下执行此操作。 PerformanceCounter使用此重载创建的实例无法写入计数器,即使计数器本身是读/写。

注释

无法写入远程性能计数器。 没有允许你指定连接到远程计算机的类的 PerformanceCounter 读/写实例的重载。

若要创建性能类别实例,请在构造函数上PerformanceCounter指定一个instanceName。 如果指定的 instanceName 类别实例已存在,则新对象将引用现有类别实例。

注释

若要读取 Windows Vista、Windows XP Professional x64 Edition 或 Windows Server 2003 中的性能计数器,你必须是性能监视器用户组的成员或具有管理权限。

若要避免提升特权才能访问 Windows Vista 中的性能计数器,请将自己添加到性能监视器用户组。

在 Windows Vista 中,用户帐户控制(UAC)确定用户的权限。 如果你是内置管理员组的成员,则分配有两个运行时访问令牌:标准用户访问令牌和管理员访问令牌。 默认情况下,你处于标准用户角色。 若要执行访问性能计数器的代码,必须先将特权从标准用户提升到管理员。 在启动应用程序时,可以右键单击应用程序图标并指示要以管理员身份运行。

注释

在 Windows Vista 中,当远程计算机是工作组的成员时,可能需要禁用 UAC,以便不会筛选本地用户帐户,并且可以提升到管理员帐户。 出于安全原因,禁用 UAC 应该是最后的手段。 有关禁用 UAC 的信息,请参阅 用户帐户控制和 WMI

适用于