PerformanceCounterCategory.GetCategories Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir bilgisayarda kayıtlı performans sayacı kategorilerinin listesini alır.
Aşırı Yüklemeler
GetCategories() |
Yerel bilgisayarda kayıtlı performans sayacı kategorilerinin listesini alır. |
GetCategories(String) |
Belirtilen bilgisayarda kayıtlı performans sayacı kategorilerinin listesini alır. |
GetCategories()
Yerel bilgisayarda kayıtlı performans sayacı kategorilerinin listesini alır.
public:
static cli::array <System::Diagnostics::PerformanceCounterCategory ^> ^ GetCategories();
public static System.Diagnostics.PerformanceCounterCategory[] GetCategories ();
static member GetCategories : unit -> System.Diagnostics.PerformanceCounterCategory[]
Public Shared Function GetCategories () As PerformanceCounterCategory()
Döndürülenler
Yerel bilgisayarda kayıtlı kategorileri gösteren bir nesne dizisi PerformanceCounterCategory .
Özel durumlar
Temel alınan sistem API'sine yapılan çağrı başarısız oldu.
Yönetici ayrıcalıkları olmadan yürütülen kod bir performans sayacını okumaya çalıştı.
Örnekler
Aşağıdaki kod örneği, yerel bilgisayardan veya belirtilen bir bilgisayardan bir nesne dizisi PerformanceCounterCategory döndürmek için yöntemini kullanırGetCategories. Diziyi PerformanceCounterCategory , kullanıcı için sıraladığı ve görüntülediği kategori adları dizisine dönüştürür. Aşırı GetCategories yükleme, bir bilgisayar adının belirtilip belirtilmediğinden yola çıkarak seçilir.
public:
static void Main(array<String^>^ args)
{
String^ machineName = "";
array<PerformanceCounterCategory^>^ categories;
// Copy the machine name argument into the local variable.
try
{
machineName = args[1]=="."? "": args[1];
}
catch (...)
{
}
// Generate a list of categories registered on the specified computer.
try
{
if (machineName->Length > 0)
{
categories = PerformanceCounterCategory::GetCategories(machineName);
}
else
{
categories = PerformanceCounterCategory::GetCategories();
}
}
catch(Exception^ ex)
{
Console::WriteLine("Unable to get categories on " +
(machineName->Length > 0 ? "computer \"{0}\":": "this computer:"), machineName);
Console::WriteLine(ex->Message);
return;
}
Console::WriteLine("These categories are registered on " +
(machineName->Length > 0 ? "computer \"{0}\":": "this computer:"), machineName);
// Create and sort an array of category names.
array<String^>^ categoryNames = gcnew array<String^>(categories->Length);
int objX;
for (objX = 0; objX < categories->Length; objX++)
{
categoryNames[objX] = categories[objX]->CategoryName;
}
Array::Sort(categoryNames);
for (objX = 0; objX < categories->Length; objX++)
{
Console::WriteLine("{0,4} - {1}", objX + 1, categoryNames[objX]);
}
}
public static void Main(string[] args)
{
string machineName = "";
PerformanceCounterCategory[] categories;
// Copy the machine name argument into the local variable.
try
{
machineName = args[0]=="."? "": args[0];
}
catch
{
}
// Generate a list of categories registered on the specified computer.
try
{
if (machineName.Length > 0)
{
categories = PerformanceCounterCategory.GetCategories(machineName);
}
else
{
categories = PerformanceCounterCategory.GetCategories();
}
}
catch(Exception ex)
{
Console.WriteLine("Unable to get categories on " +
(machineName.Length > 0 ? "computer \"{0}\":": "this computer:"), machineName);
Console.WriteLine(ex.Message);
return;
}
Console.WriteLine("These categories are registered on " +
(machineName.Length > 0 ? "computer \"{0}\":": "this computer:"), machineName);
// Create and sort an array of category names.
string[] categoryNames = new string[categories.Length];
int objX;
for(objX = 0; objX < categories.Length; objX++)
{
categoryNames[objX] = categories[objX].CategoryName;
}
Array.Sort(categoryNames);
for(objX = 0; objX < categories.Length; objX++)
{
Console.WriteLine("{0,4} - {1}", objX + 1, categoryNames[objX]);
}
}
Sub Main(ByVal args() As String)
Dim machineName As String = ""
Dim categories() As PerformanceCounterCategory
' Copy the machine name argument into the local variable.
Try
machineName = IIf(args(0) = ".", "", args(0))
Catch ex As Exception
End Try
' Generate a list of categories registered on the specified computer.
Try
If machineName.Length > 0 Then
categories = _
PerformanceCounterCategory.GetCategories(machineName)
Else
categories = PerformanceCounterCategory.GetCategories()
End If
Catch ex As Exception
Console.WriteLine("Unable to get categories on " & _
IIf(machineName.Length > 0, "computer ""{0}"":", _
"this computer:"), machineName)
Console.WriteLine(ex.Message)
Return
End Try
Console.WriteLine("These categories are registered on " & _
IIf(machineName.Length > 0, _
"computer ""{0}"":", "this computer:"), machineName)
' Create and sort an array of category names.
Dim categoryNames(categories.Length - 1) As String
Dim objX As Integer
For objX = 0 To categories.Length - 1
Console.WriteLine("{0}, {1}", objX, categories(objX).CategoryName)
categoryNames(objX) = categories(objX).CategoryName
Next objX
Array.Sort(categoryNames)
For objX = 0 To categories.Length - 1
Console.WriteLine("{0,4} - {1}", objX + 1, categoryNames(objX))
Next objX
End Sub
Açıklamalar
Not
Windows Vista ve sonraki sürümlerde, Windows XP Professional x64 Edition veya Windows Server 2003'te etkileşimli olmayan bir oturumdan performans sayaçlarını okumak için, Performans İzleyicisi Kullanıcıları grubunun üyesi olmanız veya yönetici ayrıcalıklarına sahip olmanız gerekir.
Windows Vista ve sonraki sürümlerde performans sayaçlarına erişmek için ayrıcalıklarınızı yükseltmek zorunda kalmamak için kendinizi Performans İzleyicisi Kullanıcılar grubuna ekleyin.
Windows Vista ve sonraki sürümlerde, Kullanıcı Hesabı Denetimi (UAC) bir kullanıcının ayrıcalıkları belirler. Yerleşik Yöneticiler grubunun bir üyesi iseniz, size iki çalışma zamanı erişim belirteci atanır: Standart kullanıcı erişim belirteci ve yönetici erişim belirteci. Varsayılan olarak, standart kullanıcı rolünde olursunuz. Performans sayaçlarına erişen kodu yürütmek için öncelikle ayrıcalıklarınızı standart kullanıcıdan yöneticiye yükseltmeniz gerekir. Bir uygulamayı başlattığınızda, uygulama simgesine sağ tıklayıp yönetici olarak çalıştırmak istediğinizi belirterek bunu yapabilirsiniz.
Ayrıca bkz.
Şunlara uygulanır
GetCategories(String)
Belirtilen bilgisayarda kayıtlı performans sayacı kategorilerinin listesini alır.
public:
static cli::array <System::Diagnostics::PerformanceCounterCategory ^> ^ GetCategories(System::String ^ machineName);
public static System.Diagnostics.PerformanceCounterCategory[] GetCategories (string machineName);
static member GetCategories : string -> System.Diagnostics.PerformanceCounterCategory[]
Public Shared Function GetCategories (machineName As String) As PerformanceCounterCategory()
Parametreler
- machineName
- String
Bakacak bilgisayar.
Döndürülenler
Belirtilen bilgisayarda kayıtlı kategorileri gösteren bir nesne dizisi PerformanceCounterCategory .
Özel durumlar
machineName
Parametre geçersiz.
Temel alınan sistem API'sine yapılan çağrı başarısız oldu.
Yönetici ayrıcalıkları olmadan yürütülen kod bir performans sayacını okumaya çalıştı.
Örnekler
Aşağıdaki kod örneği, yerel bilgisayardan veya belirtilen bir bilgisayardan bir nesne dizisi PerformanceCounterCategory döndürmek için yöntemini kullanırGetCategories. Diziyi PerformanceCounterCategory , kullanıcı için sıraladığı ve görüntülediği kategori adları dizisine dönüştürür. Aşırı GetCategories yükleme, bir bilgisayar adının belirtilip belirtilmediğinden yola çıkarak seçilir.
public:
static void Main(array<String^>^ args)
{
String^ machineName = "";
array<PerformanceCounterCategory^>^ categories;
// Copy the machine name argument into the local variable.
try
{
machineName = args[1]=="."? "": args[1];
}
catch (...)
{
}
// Generate a list of categories registered on the specified computer.
try
{
if (machineName->Length > 0)
{
categories = PerformanceCounterCategory::GetCategories(machineName);
}
else
{
categories = PerformanceCounterCategory::GetCategories();
}
}
catch(Exception^ ex)
{
Console::WriteLine("Unable to get categories on " +
(machineName->Length > 0 ? "computer \"{0}\":": "this computer:"), machineName);
Console::WriteLine(ex->Message);
return;
}
Console::WriteLine("These categories are registered on " +
(machineName->Length > 0 ? "computer \"{0}\":": "this computer:"), machineName);
// Create and sort an array of category names.
array<String^>^ categoryNames = gcnew array<String^>(categories->Length);
int objX;
for (objX = 0; objX < categories->Length; objX++)
{
categoryNames[objX] = categories[objX]->CategoryName;
}
Array::Sort(categoryNames);
for (objX = 0; objX < categories->Length; objX++)
{
Console::WriteLine("{0,4} - {1}", objX + 1, categoryNames[objX]);
}
}
public static void Main(string[] args)
{
string machineName = "";
PerformanceCounterCategory[] categories;
// Copy the machine name argument into the local variable.
try
{
machineName = args[0]=="."? "": args[0];
}
catch
{
}
// Generate a list of categories registered on the specified computer.
try
{
if (machineName.Length > 0)
{
categories = PerformanceCounterCategory.GetCategories(machineName);
}
else
{
categories = PerformanceCounterCategory.GetCategories();
}
}
catch(Exception ex)
{
Console.WriteLine("Unable to get categories on " +
(machineName.Length > 0 ? "computer \"{0}\":": "this computer:"), machineName);
Console.WriteLine(ex.Message);
return;
}
Console.WriteLine("These categories are registered on " +
(machineName.Length > 0 ? "computer \"{0}\":": "this computer:"), machineName);
// Create and sort an array of category names.
string[] categoryNames = new string[categories.Length];
int objX;
for(objX = 0; objX < categories.Length; objX++)
{
categoryNames[objX] = categories[objX].CategoryName;
}
Array.Sort(categoryNames);
for(objX = 0; objX < categories.Length; objX++)
{
Console.WriteLine("{0,4} - {1}", objX + 1, categoryNames[objX]);
}
}
Sub Main(ByVal args() As String)
Dim machineName As String = ""
Dim categories() As PerformanceCounterCategory
' Copy the machine name argument into the local variable.
Try
machineName = IIf(args(0) = ".", "", args(0))
Catch ex As Exception
End Try
' Generate a list of categories registered on the specified computer.
Try
If machineName.Length > 0 Then
categories = _
PerformanceCounterCategory.GetCategories(machineName)
Else
categories = PerformanceCounterCategory.GetCategories()
End If
Catch ex As Exception
Console.WriteLine("Unable to get categories on " & _
IIf(machineName.Length > 0, "computer ""{0}"":", _
"this computer:"), machineName)
Console.WriteLine(ex.Message)
Return
End Try
Console.WriteLine("These categories are registered on " & _
IIf(machineName.Length > 0, _
"computer ""{0}"":", "this computer:"), machineName)
' Create and sort an array of category names.
Dim categoryNames(categories.Length - 1) As String
Dim objX As Integer
For objX = 0 To categories.Length - 1
Console.WriteLine("{0}, {1}", objX, categories(objX).CategoryName)
categoryNames(objX) = categories(objX).CategoryName
Next objX
Array.Sort(categoryNames)
For objX = 0 To categories.Length - 1
Console.WriteLine("{0,4} - {1}", objX + 1, categoryNames(objX))
Next objX
End Sub
Açıklamalar
Yerel bilgisayardaki kategorileri almak için başka bir aşırı yükleme kullanın veya parametre olarak "." geçirin machineName
.
Not
Windows Vista ve sonraki sürümlerde, Windows XP Professional x64 Edition veya Windows Server 2003'te etkileşimli olmayan bir oturumdan performans sayaçlarını okumak için, Performans İzleyicisi Kullanıcıları grubunun üyesi olmanız veya yönetici ayrıcalıklarına sahip olmanız gerekir.
Windows Vista ve sonraki sürümlerde performans sayaçlarına erişmek için ayrıcalıklarınızı yükseltmek zorunda kalmamak için kendinizi Performans İzleyicisi Kullanıcılar grubuna ekleyin.
Windows Vista ve sonraki sürümlerde, Kullanıcı Hesabı Denetimi (UAC) bir kullanıcının ayrıcalıkları belirler. Yerleşik Yöneticiler grubunun bir üyesi iseniz, size iki çalışma zamanı erişim belirteci atanır: Standart kullanıcı erişim belirteci ve yönetici erişim belirteci. Varsayılan olarak, standart kullanıcı rolünde olursunuz. Performans sayaçlarına erişen kodu yürütmek için öncelikle ayrıcalıklarınızı standart kullanıcıdan yöneticiye yükseltmeniz gerekir. Bir uygulamayı başlattığınızda, uygulama simgesine sağ tıklayıp yönetici olarak çalıştırmak istediğinizi belirterek bunu yapabilirsiniz.