Поделиться через


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()

Исходный код:
PerformanceCounter.cs
Исходный код:
PerformanceCounter.cs
Исходный код:
PerformanceCounter.cs

Выполняет инициализацию нового, доступного только для чтения экземпляра класса PerformanceCounter, не связывая этот экземпляр с каким-нибудь системным или определенным пользователем счетчиком производительности.

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

Примеры

В следующем примере кода создается экземпляр класса по умолчанию PerformanceCounter . После создания CategoryNameэкземпляра задаются значения свойств , CounterNameи InstanceName отображаются результаты вызова NextValue метода .

PerformanceCounter^ PC = gcnew PerformanceCounter;
PC->CategoryName = "Process";
PC->CounterName = "Private Bytes";
PC->InstanceName = "Explorer";
MessageBox::Show( PC->NextValue().ToString() );
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())

Комментарии

Эта перегрузка конструктора присваивает CategoryNameсвойствам , CounterNameи InstanceName пустые строки (""), а свойству MachineName — значение локального компьютера (".").

Этот конструктор не инициализирует счетчик производительности, поэтому он не связывает экземпляр с существующим счетчиком на локальном компьютере. Чтобы указать определенный счетчик производительности, задайте CategoryNameсвойства , CounterNameи (при необходимости) InstanceName и MachineName перед чтением других свойств или попыткой чтения из счетчика. Чтобы выполнить запись в счетчик производительности, задайте ReadOnly для свойства значение false.

Примечание

Атрибут, HostProtectionAttribute применяемый к этому элементу, имеет следующее Resources значение свойства: | SynchronizationSharedState . Атрибут HostProtectionAttribute не оказывает влияния на настольные приложения (обычно запускаемые двойным щелчком значка, вводом команды или URL-адреса в браузере). Дополнительные сведения см. в HostProtectionAttribute разделе Класс или SQL Server Атрибуты программирования и защиты узла.

Применяется к

PerformanceCounter(String, String)

Исходный код:
PerformanceCounter.cs
Исходный код:
PerformanceCounter.cs
Исходный код:
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 были локализованы на разных языках.

Параметр categoryName или counterName имеет значение null.

Произошла ошибка при обращении к API-интерфейсу системы.

Код, выполняющийся без привилегий администратора, предпринял попытку считывания значения счетчика производительности.

Комментарии

В строках параметров регистр не учитывается.

Используйте эту перегрузку для доступа к счетчику на локальном компьютере, который относится к категории, содержащей один экземпляр категории счетчика производительности. При попытке использовать этот конструктор, чтобы указать этот PerformanceCounter экземпляр на категорию, содержащую несколько экземпляров, конструктор создает исключение. Эта перегрузка может получить доступ к любому счетчику только для чтения или чтения и записи, но делает это в режиме только для чтения. Экземпляр PerformanceCounter , созданный с помощью этой перегрузки, не может выполнять запись в счетчик, даже если сам счетчик является чтением и записью.

Эта перегрузка конструктора присваивает CategoryName свойствам и CounterName значения, которые вы передаете, присваивает MachineName свойству значение локального компьютера , ".", а свойству InstanceName присваивается пустая строка ("").

Этот конструктор инициализирует счетчик производительности и связывает экземпляр с существующим счетчиком (системным или пользовательским) на локальном компьютере. Значения, которые передаются для CategoryName свойств и CounterName , должны указывать на существующий счетчик производительности на локальном компьютере.

Примечание

Для чтения счетчиков производительности из неинтерактивного сеанса входа в Windows Vista и более поздних версий, Windows XP Professional x64 Edition или Windows Server 2003 необходимо быть членом группы Монитор производительности Пользователи или иметь права администратора.

Чтобы избежать повышения привилегий для доступа к счетчикам производительности в Windows Vista, добавьте себя в группу Монитор производительности Пользователи.

В Windows Vista привилегии пользователя определяются контролем учетных записей (UAC). Члену встроенной группы "Администраторы" присваивается два маркера доступа на время выполнения: маркер доступа обычного пользователя и маркер доступа администратора. По умолчанию назначена роль обычного пользователя. Чтобы выполнить код, который обращается к счетчикам производительности, необходимо сначала повысить привилегии обычного пользователя до администратора. Это можно сделать при запуске приложения, , щелкнув значок приложения правой кнопкой мыши и указав, что приложение должно запускаться от имени администратора.

Применяется к

PerformanceCounter(String, String, Boolean)

Исходный код:
PerformanceCounter.cs
Исходный код:
PerformanceCounter.cs
Исходный код:
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 является пустая строка ("").

-или-

Указанная категория не существует. (если readOnly равен true).

-или-

Заданная категория не является определенной пользователем .NET Framework категорией (если readOnly равен false).

-или-

Указанная категория помечена как многоэкземплярная и требует создания счетчика производительности с именем экземпляра.

-или-

Параметры categoryName и counterName были локализованы на разных языках.

Параметр categoryName или counterName имеет значение null.

Произошла ошибка при обращении к API-интерфейсу системы.

Код, выполняющийся без привилегий администратора, предпринял попытку считывания значения счетчика производительности.

Примеры

В следующем примере кода создается экземпляр PerformanceCounter класса . В примере передаются имена категорий, имена счетчиков и значение флага, указывающее, что счетчик не доступен только для чтения. Этот пример кода является частью более крупного примера для PerformanceCounter класса .

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

Комментарии

В строках параметров регистр не учитывается.

Используйте эту перегрузку для доступа к счетчику только для чтения или чтения и записи на локальном компьютере, который относится к категории, содержащей один экземпляр категории счетчика производительности. При попытке использовать этот конструктор, чтобы указать этот PerformanceCounter экземпляр на категорию, содержащую несколько экземпляров, конструктор создает исключение.

Эта перегрузка конструктора присваивает CategoryNameсвойствам , CounterNameи ReadOnly значения, которые вы передаете, присваивает MachineName свойству значение локального компьютера , ".", а свойству InstanceName присваивается пустая строка ("").

Этот конструктор инициализирует счетчик производительности и связывает экземпляр с существующим счетчиком (системным или пользовательским) на локальном компьютере. Значения, которые передаются для CategoryName свойств и CounterName , должны указывать на существующий счетчик производительности на локальном компьютере. Если экземпляр счетчика производительности, на который вы указываете, недопустим, вызов конструктора создает исключение.

Примечание

Эту перегрузку можно использовать для подключения к системным счетчикам, но нельзя выполнить запись в системный счетчик. Таким образом, если при подключении к системным счетчикам задано значение readOnlyfalse , конструктор создает исключение.

Примечание

Для чтения счетчиков производительности из неинтерактивного сеанса входа в Windows Vista и более поздних версий, Windows XP Professional x64 Edition или Windows Server 2003 необходимо быть членом группы Монитор производительности Пользователи или иметь права администратора.

Чтобы избежать повышения привилегий для доступа к счетчикам производительности в Windows Vista, добавьте себя в группу Монитор производительности Пользователи.

В Windows Vista привилегии пользователя определяются контролем учетных записей (UAC). Члену встроенной группы "Администраторы" присваивается два маркера доступа на время выполнения: маркер доступа обычного пользователя и маркер доступа администратора. По умолчанию назначена роль обычного пользователя. Чтобы выполнить код, который обращается к счетчикам производительности, необходимо сначала повысить привилегии обычного пользователя до администратора. Это можно сделать при запуске приложения, , щелкнув значок приложения правой кнопкой мыши и указав, что приложение должно запускаться от имени администратора.

Применяется к

PerformanceCounter(String, String, String)

Исходный код:
PerformanceCounter.cs
Исходный код:
PerformanceCounter.cs
Исходный код:
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 были локализованы на разных языках.

Параметр categoryName или counterName имеет значение null.

Произошла ошибка при обращении к API-интерфейсу системы.

Код, выполняющийся без привилегий администратора, предпринял попытку считывания значения счетчика производительности.

Комментарии

В строках параметров регистр не учитывается.

Эта перегрузка конструктора присваивает CategoryNameсвойствам , CounterNameи InstanceName значения, которые вы передаете, а свойству MachineName присваивается значение локального компьютера .

Этот конструктор инициализирует счетчик производительности и связывает экземпляр с существующим счетчиком (системным или пользовательским) на локальном компьютере. Значения, которые передаются для CategoryNameсвойств , CounterNameи InstanceName , должны указывать на существующий счетчик производительности на локальном компьютере. Если экземпляр счетчика производительности, на который вы указываете, недопустим, вызов конструктора вызывает исключение.

Эта перегрузка может получить доступ к любому счетчику только для чтения или чтения и записи, но делает это в режиме только для чтения. Экземпляр PerformanceCounter , созданный с помощью этой перегрузки, не может выполнять запись в счетчик, даже если сам счетчик выполняет чтение и запись.

Чтобы создать экземпляр категории производительности, укажите в instanceName конструкторе PerformanceCounter . Если экземпляр категории, указанный параметром , instanceName уже существует, новый объект будет ссылаться на существующий экземпляр категории.

Примечание

Для чтения счетчиков производительности в Windows Vista, Windows XP Professional x64 Edition или Windows Server 2003 необходимо быть членом группы Монитор производительности Пользователи или иметь права администратора.

Чтобы избежать повышения привилегий для доступа к счетчикам производительности в Windows Vista, добавьте себя в группу Монитор производительности Пользователи.

В Windows Vista привилегии пользователя определяются контролем учетных записей (UAC). Члену встроенной группы "Администраторы" присваивается два маркера доступа на время выполнения: маркер доступа обычного пользователя и маркер доступа администратора. По умолчанию назначена роль обычного пользователя. Чтобы выполнить код, который обращается к счетчикам производительности, необходимо сначала повысить привилегии от обычного пользователя до администратора. Это можно сделать при запуске приложения, , щелкнув значок приложения правой кнопкой мыши и указав, что приложение должно запускаться от имени администратора.

Применяется к

PerformanceCounter(String, String, String, Boolean)

Исходный код:
PerformanceCounter.cs
Исходный код:
PerformanceCounter.cs
Исходный код:
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 является пустой строкой ("").

-или-

Запрошенное разрешение на чтение или запись недопустимо для этого счетчика.

-или-

Указанная категория не существует (если readOnly равен true).

-или-

Заданная категория не является определенной пользователем .NET Framework категорией (если readOnly равен false).

-или-

Указанная категория помечена как многоэкземплярная и требует создания счетчика производительности с именем экземпляра.

-или-

Длина параметра instanceName превышает 127 символов.

-или-

Параметры categoryName и counterName были локализованы на разных языках.

Параметр categoryName или counterName имеет значение null.

Произошла ошибка при обращении к API-интерфейсу системы.

Код, выполняющийся без привилегий администратора, предпринял попытку считывания значения счетчика производительности.

Комментарии

В строках параметров регистр не учитывается.

Используйте эту перегрузку для доступа к счетчику производительности в режиме только для чтения или чтения и записи.

Эта перегрузка конструктора присваивает CategoryNameсвойствам , CounterNameи InstanceName значения, которые вы передаете, и задает MachineName для свойства значение локального компьютера .

Этот конструктор инициализирует счетчик производительности и связывает экземпляр с существующим счетчиком (системным или пользовательским) на локальном компьютере. Значения, которые передаются для CategoryNameсвойств , CounterNameи InstanceName , должны указывать на существующий счетчик производительности на локальном компьютере. Если экземпляр счетчика производительности, на который вы указываете, недопустим, вызов конструктора вызывает исключение.

Примечание

Эту перегрузку можно использовать для подключения к системным счетчикам, но нельзя выполнять запись в системный счетчик. Таким образом, при установке значения readOnly при false подключении к системным счетчикам конструктор создает исключение.

Чтобы создать экземпляр категории производительности, укажите в instanceName конструкторе PerformanceCounter . Если экземпляр категории, указанный параметром , instanceName уже существует, новый объект будет ссылаться на существующий экземпляр категории.

Примечание

Для чтения счетчиков производительности в Windows Vista, Windows XP Professional x64 Edition или Windows Server 2003 необходимо быть членом группы Монитор производительности Пользователи или иметь права администратора.

Чтобы избежать повышения привилегий для доступа к счетчикам производительности в Windows Vista, добавьте себя в группу Монитор производительности Пользователи.

В Windows Vista привилегии пользователя определяются контролем учетных записей (UAC). Члену встроенной группы "Администраторы" присваивается два маркера доступа на время выполнения: маркер доступа обычного пользователя и маркер доступа администратора. По умолчанию назначена роль обычного пользователя. Чтобы выполнить код, который обращается к счетчикам производительности, необходимо сначала повысить привилегии от обычного пользователя до администратора. Это можно сделать при запуске приложения, , щелкнув значок приложения правой кнопкой мыши и указав, что приложение должно запускаться от имени администратора.

Применяется к

PerformanceCounter(String, String, String, String)

Исходный код:
PerformanceCounter.cs
Исходный код:
PerformanceCounter.cs
Исходный код:
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.

Параметр categoryName или counterName имеет значение null.

Произошла ошибка при обращении к API-интерфейсу системы.

Код, выполняющийся без привилегий администратора, предпринял попытку считывания значения счетчика производительности.

Комментарии

В строках параметров регистр не учитывается.

Эта перегрузка конструктора задает CategoryNameдля свойств , CounterName, InstanceNameи MachineName значения, которые вы передаете.

Этот конструктор инициализирует счетчик производительности и связывает экземпляр с существующим счетчиком (системным или настраиваемым счетчиком) на указанном компьютере. Значения, которые передаются для CategoryNameсвойств , CounterNameи MachineName , InstanceName должны указывать на существующий счетчик производительности. Если экземпляр счетчика производительности, на который вы указываете, недопустим, вызов конструктора вызывает исключение. Эта перегрузка может получить доступ к любому счетчику только для чтения или чтения и записи, но делает это в режиме только для чтения. Экземпляр PerformanceCounter , созданный с помощью этой перегрузки, не может выполнять запись в счетчик, даже если сам счетчик выполняет чтение и запись.

Примечание

Запись в удаленные счетчики производительности невозможна. Нет перегрузки, позволяющей указать экземпляр PerformanceCounter класса для чтения и записи, который подключается к удаленному компьютеру.

Чтобы создать экземпляр категории производительности, укажите в instanceName конструкторе PerformanceCounter . Если экземпляр категории, указанный параметром , instanceName уже существует, новый объект будет ссылаться на существующий экземпляр категории.

Примечание

Для чтения счетчиков производительности в Windows Vista, Windows XP Professional x64 Edition или Windows Server 2003 необходимо быть членом группы Монитор производительности Пользователи или иметь права администратора.

Чтобы избежать повышения привилегий для доступа к счетчикам производительности в Windows Vista, добавьте себя в группу Монитор производительности Пользователи.

В Windows Vista привилегии пользователя определяются контролем учетных записей (UAC). Члену встроенной группы "Администраторы" присваивается два маркера доступа на время выполнения: маркер доступа обычного пользователя и маркер доступа администратора. По умолчанию назначена роль обычного пользователя. Чтобы выполнить код, который обращается к счетчикам производительности, необходимо сначала повысить привилегии от обычного пользователя до администратора. Это можно сделать при запуске приложения, , щелкнув значок приложения правой кнопкой мыши и указав, что приложение должно запускаться от имени администратора.

Примечание

В Windows Vista, когда удаленный компьютер входит в рабочую группу, может потребоваться отключить контроль учетных записей, чтобы учетная запись локального пользователя не была фильтруема и могла быть повышена до учетной записи администратора. По соображениям безопасности отключение контроля учетных записей должно быть крайней меры. Сведения об отключении контроля учетных записей см. в разделе Контроль учетных записей и WMI.

Применяется к