InstanceData (Clase)
Ensamblado: System (en system.dll)
En el ejemplo de código siguiente se muestra el contenido de los objetos InstanceData que existen en una clase PerformanceCounterCategory en particular en el equipo local. En primer lugar muestra una lista numerada de categorías de PerformanceCounter. Después de que el usuario especifica el número de una de las categorías, el ejemplo muestra, para cada componente PerformanceCounter del objeto PerformanceCounterCategory, los datos de instancia asociados a cada instancia de PerformanceCounter.
Imports System Imports System.Diagnostics Imports Microsoft.VisualBasic Module InstDataCopyToMod Private categoryName As String Sub Main() Dim catNumStr As String Dim categoryNum As Integer Dim categories() As PerformanceCounterCategory = _ PerformanceCounterCategory.GetCategories() ' Create and sort an array of category names. Dim categoryNames(categories.Length - 1) As String Dim catX As Integer For catX = 0 To categories.Length - 1 categoryNames(catX) = categories(catX).CategoryName Next Array.Sort(categoryNames) Console.WriteLine( _ "These categories are registered on this computer:") For catX = 0 To categories.Length - 1 Console.WriteLine("{0,4} - {1}", catX + 1, _ categoryNames(catX)) Next catX ' Ask the user to choose a category. Console.Write( _ "Enter the category number from the above list: ") catNumStr = Console.ReadLine() ' Validate the entered category number. Try categoryNum = Integer.Parse(catNumStr) If categoryNum < 1 Or categoryNum > categories.Length Then Throw New Exception( _ String.Format("The category number must be in the " & _ "range 1..{0}.", categories.Length)) End If categoryName = categoryNames((categoryNum - 1)) Catch ex As Exception Console.WriteLine("""{0}"" is not a valid category number." & _ vbCrLf & "{1}", catNumStr, ex.Message) Return End Try ' Process the InstanceDataCollectionCollection for this category. Dim pcc As New PerformanceCounterCategory(categoryName) Dim idColCol As InstanceDataCollectionCollection = pcc.ReadCategory() Dim idColArray(idColCol.Count - 1) As InstanceDataCollection Console.WriteLine("InstanceDataCollectionCollection for ""{0}"" " & _ "has {1} elements.", categoryName, idColCol.Count) ' Copy and process the InstanceDataCollection array. idColCol.CopyTo(idColArray, 0) Dim idCol As InstanceDataCollection For Each idCol In idColArray ProcessInstanceDataCollection(idCol) Next idCol End Sub ' Display the contents of an InstanceDataCollection. Sub ProcessInstanceDataCollection(ByVal idCol As InstanceDataCollection) Dim instDataArray(idCol.Count - 1) As InstanceData Console.WriteLine(" InstanceDataCollection for ""{0}"" " & _ "has {1} elements.", idCol.CounterName, idCol.Count) ' Copy and process the InstanceData array. idCol.CopyTo(instDataArray, 0) Dim idX As Integer For idX = 0 To instDataArray.Length - 1 ProcessInstanceDataObject(instDataArray(idX).InstanceName, _ instDataArray(idX).Sample) Next idX End Sub ' Display the contents of an InstanceData object. Sub ProcessInstanceDataObject(ByVal name As String, _ ByVal CSRef As CounterSample) Dim instData As New InstanceData(name, CSRef) Console.WriteLine(" Data from InstanceData object:" & vbCrLf & _ " InstanceName: {0,-31} RawValue: {1}", _ instData.InstanceName, instData.RawValue) Dim sample As CounterSample = instData.Sample Console.WriteLine(" Data from CounterSample object:" & vbCrLf & _ " CounterType: {0,-32} SystemFrequency: {1}" & vbCrLf & _ " BaseValue: {2,-34} RawValue: {3}" & vbCrLf & _ " CounterFrequency: {4,-27} CounterTimeStamp: {5}" & vbCrLf & _ " TimeStamp: {6,-34} TimeStamp100nSec: {7}", _ sample.CounterType, sample.SystemFrequency, sample.BaseValue, _ sample.RawValue, sample.CounterFrequency, sample.CounterTimeStamp, _ sample.TimeStamp, sample.TimeStamp100nSec) End Sub End Module
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.