PerformanceCounterCategory.InstanceExists Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Determina se la categoria contiene l'istanza dell'oggetto prestazioni specificata.
Overload
InstanceExists(String) |
Determina se l'istanza dell'oggetto prestazioni specificata esiste nella categoria identificata dalla proprietà CategoryName dell'oggetto PerformanceCounterCategory. |
InstanceExists(String, String) |
Determina se una categoria specificata nel computer locale contiene l'istanza dell'oggetto prestazioni specificata. |
InstanceExists(String, String, String) |
Determina se una categoria specificata in un computer specificato contiene l'istanza dell'oggetto prestazioni specificata. |
InstanceExists(String)
- Origine:
- PerformanceCounterCategory.cs
- Origine:
- PerformanceCounterCategory.cs
- Origine:
- PerformanceCounterCategory.cs
- Origine:
- PerformanceCounterCategory.cs
- Origine:
- PerformanceCounterCategory.cs
Determina se l'istanza dell'oggetto prestazioni specificata esiste nella categoria identificata dalla proprietà CategoryName dell'oggetto PerformanceCounterCategory.
public:
bool InstanceExists(System::String ^ instanceName);
public bool InstanceExists (string instanceName);
member this.InstanceExists : string -> bool
Public Function InstanceExists (instanceName As String) As Boolean
Parametri
- instanceName
- String
Istanza dell'oggetto prestazioni in questa categoria di contatori delle prestazioni da cercare.
Restituisce
true
se la categoria contiene l'istanza dell'oggetto prestazioni specificata; in caso contrario, false
.
Eccezioni
La proprietà CategoryName è null
. La proprietà potrebbe non essere stata impostata.
Il parametro instanceName
è null
.
Chiamata a un'API di sistema sottostante non riuscita.
Codice in esecuzione senza privilegi amministrativi che ha tentato di leggere un contatore delle prestazioni.
Esempio
Nell'esempio di codice seguente viene determinato se esiste un'istanza di PerformanceCounter all'interno di un PerformanceCounterCategory. Crea prima di tutto un oggetto PerformanceCounterCategory, utilizzando il costruttore appropriato in base al fatto che sia stato specificato un nome computer. Usa quindi InstanceExists(String) per determinare se l'istanza specificata esiste, quindi informa l'utente. Se non viene specificato alcun nome di istanza, nell'esempio viene usato il nome predefinito a istanza singola.
public static void Main(string[] args)
{
string categoryName = "";
string instanceName = "";
string machineName = "";
bool objectExists = false;
PerformanceCounterCategory pcc;
const string SINGLE_INSTANCE_NAME = "systemdiagnosticsperfcounterlibsingleinstance";
// Copy the supplied arguments into the local variables.
try
{
categoryName = args[0];
instanceName = args[1];
machineName = (args[2]=="."? "": args[2]);
}
catch(Exception ex)
{
// Ignore the exception from non-supplied arguments.
}
// Use the given instance name or use the default single-instance name.
if (instanceName.Length==0)
{
instanceName = SINGLE_INSTANCE_NAME;
}
try
{
if (machineName.Length==0)
{
pcc = new PerformanceCounterCategory(categoryName);
}
else
{
pcc = new PerformanceCounterCategory(categoryName, machineName);
}
// Check whether the instance exists.
// Use the per-instance overload of InstanceExists.
objectExists = pcc.InstanceExists(instanceName);
}
catch(Exception ex)
{
Console.WriteLine("Unable to check for the existence of " +
"instance \"{0}\" in category \"{1}\" on " +
(machineName.Length>0? "computer \"{2}\":": "this computer:") +
"\n" + ex.Message, instanceName, categoryName, machineName);
return;
}
// Tell the user whether the instance exists.
Console.WriteLine("Instance \"{0}\" " + (objectExists? "exists": "does not exist") +
" in category \"{1}\" on " + (machineName.Length>0? "computer \"{2}\".": "this computer."),
instanceName, pcc.CategoryName, pcc.MachineName);
}
Sub Main(ByVal args() As String)
Dim categoryName As String = ""
Dim instanceName As String = ""
Dim machineName As String = ""
Dim objectExists As Boolean = False
Dim pcc As PerformanceCounterCategory
Const SINGLE_INSTANCE_NAME As String = _
"systemdiagnosticsperfcounterlibsingleinstance"
' Copy the supplied arguments into the local variables.
Try
categoryName = args(0)
instanceName = args(1)
machineName = IIf(args(2) = ".", "", args(2))
Catch ex As Exception
' Ignore the exception from non-supplied arguments.
End Try
' Use the given instance name or use the default single-instance name.
If instanceName.Length = 0 Then
instanceName = SINGLE_INSTANCE_NAME
End If
Try
If machineName.Length = 0 Then
pcc = New PerformanceCounterCategory(categoryName)
Else
pcc = New PerformanceCounterCategory(categoryName, machineName)
End If
' Check whether the instance exists.
' Use the per-instance overload of InstanceExists.
objectExists = pcc.InstanceExists(instanceName)
Catch ex As Exception
Console.WriteLine("Unable to check for the existence of " & _
"instance ""{0}"" in category ""{1}"" on " & _
IIf(machineName.Length > 0, _
"computer ""{2}"":", "this computer:") & vbCrLf & _
ex.Message, instanceName, categoryName, machineName)
Return
End Try
' Tell the user whether the instance exists.
Console.WriteLine("Instance ""{0}"" " & _
IIf(objectExists, "exists", "does not exist") & _
" in category ""{1}"" on " & _
IIf(machineName.Length > 0, _
"computer ""{2}"".", "this computer."), _
instanceName, pcc.CategoryName, pcc.MachineName)
End Sub
Commenti
Questo overload di InstanceExists non è static
. È necessario creare un oggetto PerformanceCounterCategory e impostare la proprietà CategoryName.
Nota
Per leggere i contatori delle prestazioni da una sessione di accesso non interattiva in Windows Vista e versioni successive, Windows XP Professional x64 Edition o Windows Server 2003, è necessario essere membri del gruppo Performance Monitor Users o disporre di privilegi amministrativi.
Per evitare di dover elevare i privilegi per accedere ai contatori delle prestazioni in Windows Vista e versioni successive, aggiungere se stessi al gruppo Utenti di Performance Monitor.
In Windows Vista e versioni successive, Controllo account utente determina i privilegi di un utente. Se si è membri del gruppo Administrators predefinito, vengono assegnati due token di accesso in fase di esecuzione: un token di accesso utente standard e un token di accesso amministratore. Per impostazione predefinita, si è nel ruolo utente standard. Per eseguire il codice che accede ai contatori delle prestazioni, è necessario innanzitutto elevare i privilegi dall'utente standard all'amministratore. A tale scopo, è possibile avviare un'applicazione facendo clic con il pulsante destro del mouse sull'icona dell'applicazione e indicando che si vuole eseguire come amministratore.
Vedi anche
Si applica a
InstanceExists(String, String)
- Origine:
- PerformanceCounterCategory.cs
- Origine:
- PerformanceCounterCategory.cs
- Origine:
- PerformanceCounterCategory.cs
- Origine:
- PerformanceCounterCategory.cs
- Origine:
- PerformanceCounterCategory.cs
Determina se una categoria specificata nel computer locale contiene l'istanza dell'oggetto prestazioni specificata.
public:
static bool InstanceExists(System::String ^ instanceName, System::String ^ categoryName);
public static bool InstanceExists (string instanceName, string categoryName);
static member InstanceExists : string * string -> bool
Public Shared Function InstanceExists (instanceName As String, categoryName As String) As Boolean
Parametri
- instanceName
- String
Istanza dell'oggetto prestazioni da cercare.
- categoryName
- String
Categoria del contatore delle prestazioni da cercare.
Restituisce
true
se la categoria contiene l'istanza dell'oggetto prestazioni specificata; in caso contrario, false
.
Eccezioni
Il parametro categoryName
è una stringa vuota ("").
Chiamata a un'API di sistema sottostante non riuscita.
Codice in esecuzione senza privilegi amministrativi che ha tentato di leggere un contatore delle prestazioni.
Esempio
Nell'esempio di codice seguente vengono usati gli overload statici di InstanceExists per determinare se l'istanza di PerformanceCounter specificata esiste nel PerformanceCounterCategory. L'overload viene selezionato in base all'eventuale specifica di un nome computer. Se non viene specificato alcun nome di istanza, nell'esempio viene usato il nome predefinito a istanza singola.
public static void Main(string[] args)
{
string categoryName = "";
string instanceName = "";
string machineName = "";
bool objectExists = false;
const string SINGLE_INSTANCE_NAME = "systemdiagnosticsperfcounterlibsingleinstance";
// Copy the supplied arguments into the local variables.
try
{
categoryName = args[0];
instanceName = args[1];
machineName = args[2]=="."? "": args[2];
}
catch(Exception ex)
{
// Ignore the exception from non-supplied arguments.
}
// Use the given instance name or use the default single-instance name.
if (instanceName.Length==0)
{
instanceName = SINGLE_INSTANCE_NAME;
}
try
{
// Check whether the specified instance exists.
// Use the static forms of the InstanceExists method.
if (machineName.Length==0)
{
objectExists = PerformanceCounterCategory.InstanceExists(instanceName, categoryName);
}
else
{
objectExists = PerformanceCounterCategory.InstanceExists(instanceName, categoryName, machineName);
}
}
catch(Exception ex)
{
Console.WriteLine("Unable to check for the existence of " +
"instance \"{0}\" in category \"{1}\" on " +
(machineName.Length>0? "computer \"{2}\":": "this computer:") + "\n" +
ex.Message, instanceName, categoryName, machineName);
return;
}
// Tell the user whether the instance exists.
Console.WriteLine("Instance \"{0}\" " + (objectExists? "exists": "does not exist") +
" in category \"{1}\" on " + (machineName.Length>0? "computer \"{2}\".": "this computer."),
instanceName, categoryName, machineName);
}
Sub Main(ByVal args() As String)
Dim categoryName As String = ""
Dim instanceName As String = ""
Dim machineName As String = ""
Dim objectExists As Boolean = False
Const SINGLE_INSTANCE_NAME As String = _
"systemdiagnosticsperfcounterlibsingleinstance"
' Copy the supplied arguments into the local variables.
Try
categoryName = args(0)
instanceName = args(1)
machineName = IIf(args(2) = ".", "", args(2))
Catch ex As Exception
' Ignore the exception from non-supplied arguments.
End Try
' Use the given instance name or use the default single-instance name.
If instanceName.Length = 0 Then
instanceName = SINGLE_INSTANCE_NAME
End If
Try
' Check whether the specified instance exists.
' Use the static forms of the InstanceExists method.
If machineName.Length = 0 Then
objectExists = PerformanceCounterCategory.InstanceExists( _
instanceName, categoryName)
Else
objectExists = PerformanceCounterCategory.InstanceExists( _
instanceName, categoryName, machineName)
End If
Catch ex As Exception
Console.WriteLine("Unable to check for the existence of " & _
"instance ""{0}"" in category ""{1}"" on " & _
IIf(machineName.Length > 0, _
"computer ""{2}"":", "this computer:") & vbCrLf & _
ex.Message, instanceName, categoryName, machineName)
Return
End Try
' Tell the user whether the instance exists.
Console.WriteLine("Instance ""{0}"" " & _
IIf(objectExists, "exists", "does not exist") & _
" in category ""{1}"" on " & _
IIf(machineName.Length > 0, _
"computer ""{2}"".", "this computer."), _
instanceName, categoryName, machineName)
End Sub
Commenti
Non è possibile determinare se in un computer esiste un'istanza dell'oggetto prestazioni senza specificare una categoria specifica da cercare.
Nota
Per leggere i contatori delle prestazioni da una sessione di accesso non interattiva in Windows Vista e versioni successive, Windows XP Professional x64 Edition o Windows Server 2003, è necessario essere membri del gruppo Performance Monitor Users o disporre di privilegi amministrativi.
Per evitare di dover elevare i privilegi per accedere ai contatori delle prestazioni in Windows Vista e versioni successive, aggiungere se stessi al gruppo Utenti di Performance Monitor.
In Windows Vista e versioni successive, Controllo account utente determina i privilegi di un utente. Se si è membri del gruppo Administrators predefinito, vengono assegnati due token di accesso in fase di esecuzione: un token di accesso utente standard e un token di accesso amministratore. Per impostazione predefinita, si è nel ruolo utente standard. Per eseguire il codice che accede ai contatori delle prestazioni, è necessario innanzitutto elevare i privilegi dall'utente standard all'amministratore. A tale scopo, è possibile avviare un'applicazione facendo clic con il pulsante destro del mouse sull'icona dell'applicazione e indicando che si vuole eseguire come amministratore.
Vedi anche
Si applica a
InstanceExists(String, String, String)
- Origine:
- PerformanceCounterCategory.cs
- Origine:
- PerformanceCounterCategory.cs
- Origine:
- PerformanceCounterCategory.cs
- Origine:
- PerformanceCounterCategory.cs
- Origine:
- PerformanceCounterCategory.cs
Determina se una categoria specificata in un computer specificato contiene l'istanza dell'oggetto prestazioni specificata.
public:
static bool InstanceExists(System::String ^ instanceName, System::String ^ categoryName, System::String ^ machineName);
public static bool InstanceExists (string instanceName, string categoryName, string machineName);
static member InstanceExists : string * string * string -> bool
Public Shared Function InstanceExists (instanceName As String, categoryName As String, machineName As String) As Boolean
Parametri
- instanceName
- String
Istanza dell'oggetto prestazioni da cercare.
- categoryName
- String
Categoria del contatore delle prestazioni da cercare.
- machineName
- String
Nome del computer in cui cercare la coppia di istanze di categoria.
Restituisce
true
se la categoria contiene l'istanza dell'oggetto prestazioni specificata; in caso contrario, false
.
Eccezioni
Il parametro categoryName
è una stringa vuota ("").
-o-
Il parametro machineName
non è valido.
Chiamata a un'API di sistema sottostante non riuscita.
Codice in esecuzione senza privilegi amministrativi che ha tentato di leggere un contatore delle prestazioni.
Esempio
Nell'esempio di codice seguente vengono usati gli overload statici di InstanceExists per determinare se l'istanza di PerformanceCounter specificata esiste nel PerformanceCounterCategory. L'overload viene selezionato in base all'eventuale specifica di un nome computer. Se non viene specificato alcun nome di istanza, nell'esempio viene usato il nome predefinito a istanza singola.
public static void Main(string[] args)
{
string categoryName = "";
string instanceName = "";
string machineName = "";
bool objectExists = false;
const string SINGLE_INSTANCE_NAME = "systemdiagnosticsperfcounterlibsingleinstance";
// Copy the supplied arguments into the local variables.
try
{
categoryName = args[0];
instanceName = args[1];
machineName = args[2]=="."? "": args[2];
}
catch(Exception ex)
{
// Ignore the exception from non-supplied arguments.
}
// Use the given instance name or use the default single-instance name.
if (instanceName.Length==0)
{
instanceName = SINGLE_INSTANCE_NAME;
}
try
{
// Check whether the specified instance exists.
// Use the static forms of the InstanceExists method.
if (machineName.Length==0)
{
objectExists = PerformanceCounterCategory.InstanceExists(instanceName, categoryName);
}
else
{
objectExists = PerformanceCounterCategory.InstanceExists(instanceName, categoryName, machineName);
}
}
catch(Exception ex)
{
Console.WriteLine("Unable to check for the existence of " +
"instance \"{0}\" in category \"{1}\" on " +
(machineName.Length>0? "computer \"{2}\":": "this computer:") + "\n" +
ex.Message, instanceName, categoryName, machineName);
return;
}
// Tell the user whether the instance exists.
Console.WriteLine("Instance \"{0}\" " + (objectExists? "exists": "does not exist") +
" in category \"{1}\" on " + (machineName.Length>0? "computer \"{2}\".": "this computer."),
instanceName, categoryName, machineName);
}
Sub Main(ByVal args() As String)
Dim categoryName As String = ""
Dim instanceName As String = ""
Dim machineName As String = ""
Dim objectExists As Boolean = False
Const SINGLE_INSTANCE_NAME As String = _
"systemdiagnosticsperfcounterlibsingleinstance"
' Copy the supplied arguments into the local variables.
Try
categoryName = args(0)
instanceName = args(1)
machineName = IIf(args(2) = ".", "", args(2))
Catch ex As Exception
' Ignore the exception from non-supplied arguments.
End Try
' Use the given instance name or use the default single-instance name.
If instanceName.Length = 0 Then
instanceName = SINGLE_INSTANCE_NAME
End If
Try
' Check whether the specified instance exists.
' Use the static forms of the InstanceExists method.
If machineName.Length = 0 Then
objectExists = PerformanceCounterCategory.InstanceExists( _
instanceName, categoryName)
Else
objectExists = PerformanceCounterCategory.InstanceExists( _
instanceName, categoryName, machineName)
End If
Catch ex As Exception
Console.WriteLine("Unable to check for the existence of " & _
"instance ""{0}"" in category ""{1}"" on " & _
IIf(machineName.Length > 0, _
"computer ""{2}"":", "this computer:") & vbCrLf & _
ex.Message, instanceName, categoryName, machineName)
Return
End Try
' Tell the user whether the instance exists.
Console.WriteLine("Instance ""{0}"" " & _
IIf(objectExists, "exists", "does not exist") & _
" in category ""{1}"" on " & _
IIf(machineName.Length > 0, _
"computer ""{2}"".", "this computer."), _
instanceName, categoryName, machineName)
End Sub
Commenti
Non è possibile determinare se in un computer esiste un'istanza dell'oggetto prestazioni senza specificare una categoria specifica da cercare.
È possibile usare "." per specificare il computer locale.
Nota
Per leggere i contatori delle prestazioni da una sessione di accesso non interattiva in Windows Vista e versioni successive, Windows XP Professional x64 Edition o Windows Server 2003, è necessario essere membri del gruppo Performance Monitor Users o disporre di privilegi amministrativi.
Per evitare di dover elevare i privilegi per accedere ai contatori delle prestazioni in Windows Vista e versioni successive, aggiungere se stessi al gruppo Utenti di Performance Monitor.
In Windows Vista e versioni successive, Controllo account utente determina i privilegi di un utente. Se si è membri del gruppo Administrators predefinito, vengono assegnati due token di accesso in fase di esecuzione: un token di accesso utente standard e un token di accesso amministratore. Per impostazione predefinita, si è nel ruolo utente standard. Per eseguire il codice che accede ai contatori delle prestazioni, è necessario innanzitutto elevare i privilegi dall'utente standard all'amministratore. A tale scopo, è possibile avviare un'applicazione facendo clic con il pulsante destro del mouse sull'icona dell'applicazione e indicando che si vuole eseguire come amministratore.