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 , должны указывать на существующий счетчик производительности на локальном компьютере. Если экземпляр счетчика производительности, на который вы указываете, недопустим, вызов конструктора создает исключение.
Примечание
Эту перегрузку можно использовать для подключения к системным счетчикам, но нельзя выполнить запись в системный счетчик. Таким образом, если при подключении к системным счетчикам задано значение readOnly
false
, конструктор создает исключение.
Примечание
Для чтения счетчиков производительности из неинтерактивного сеанса входа в 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.