EventLog.SourceExists Metoda

Definice

Vyhledá v registru počítače daný zdroj událostí.

Přetížení

Name Description
SourceExists(String)

Určuje, zda je zdroj událostí registrován v místním počítači.

SourceExists(String, String)

Určuje, zda je zdroj událostí registrován v zadaném počítači.

SourceExists(String)

Zdroj:
EventLog.cs
Zdroj:
EventLog.cs
Zdroj:
EventLog.cs
Zdroj:
EventLog.cs
Zdroj:
EventLog.cs
Zdroj:
EventLog.cs
Zdroj:
EventLog.cs
Zdroj:
EventLog.cs

Určuje, zda je zdroj událostí registrován v místním počítači.

public:
 static bool SourceExists(System::String ^ source);
public static bool SourceExists(string? source);
public static bool SourceExists(string source);
static member SourceExists : string -> bool
Public Shared Function SourceExists (source As String) As Boolean

Parametry

source
String

Název zdroje události.

Návraty

truepokud je zdroj událostí registrován v místním počítači; v opačném případě . false

Výjimky

source nebyl nalezen, ale některé nebo všechny protokoly událostí nelze prohledávat.

Příklady

Následující příklad vytvoří zdroj MySource , pokud ještě neexistuje, a zapíše položku do protokolu MyNewLogudálostí .

using System;
using System.Diagnostics;
using System.Threading;

class MySample{

    public static void Main(){

        // Create the source, if it does not already exist.
        if(!EventLog.SourceExists("MySource"))
        {
            // An event log source should not be created and immediately used.
            // There is a latency time to enable the source, it should be created
            // prior to executing the application that uses the source.
            // Execute this sample a second time to use the new source.
            EventLog.CreateEventSource("MySource", "MyNewLog");
            Console.WriteLine("CreatingEventSource");
            Console.WriteLine("Exiting, execute the application a second time to use the source.");
            // The source is created.  Exit the application to allow it to be registered.
            return;
        }

        // Create an EventLog instance and assign its source.
        EventLog myLog = new EventLog();
        myLog.Source = "MySource";

        // Write an informational entry to the event log.
        myLog.WriteEntry("Writing to event log.");

        Console.WriteLine("Message written to event log.");
    }
}
Option Explicit
Option Strict
Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        ' Create the source, if it does not already exist.
        If Not EventLog.SourceExists("MySource") Then
            EventLog.CreateEventSource("MySource", "MyNewLog")
            Console.WriteLine("CreatingEventSource")
        End If
        
        ' Create an EventLog instance and assign its source.
        Dim myLog As New EventLog()
        myLog.Source = "MySource"
        
        ' Write an informational entry to the event log.    
        myLog.WriteEntry("Writing to event log.")
        
        Console.WriteLine("Message written to event log.")
    End Sub
End Class

Poznámky

Tuto metodu použijte k určení, zda zdroj událostí existuje v místním počítači. Chcete-li zjistit, zda protokol existuje v místním počítači, použijte Exists.

Vzhledem k tomu, že tato metoda přistupuje k registru, musíte mít příslušná oprávnění registru v místním počítači; SecurityException jinak bude vyvolán.

Note

Pokud chcete vyhledat zdroj událostí v Windows Vista a novějším nebo Windows Server 2003, musíte mít oprávnění správce.

Důvodem tohoto požadavku je, že je nutné vyhledat všechny protokoly událostí, včetně zabezpečení, aby bylo možné určit, jestli je zdroj události jedinečný. Počínaje systémem Windows Vista nemají uživatelé oprávnění pro přístup k protokolu zabezpečení; SecurityException proto je vyvolán.

Počínaje systémem Windows Vista určuje řízení uživatelských účtů (UAC) oprávnění uživatele. Pokud jste členem předdefinované skupiny Administrators, máte přiřazené dva přístupové tokeny za běhu: standardní přístupový token uživatele a přístupový token správce. Ve výchozím nastavení jste ve standardní roli uživatele. Pokud chcete spustit kód, který přistupuje k čítačům výkonu, musíte nejprve zvýšit oprávnění od standardního uživatele na správce. Můžete to udělat, když spustíte aplikaci tak, že kliknete pravým tlačítkem myši na ikonu aplikace a označíte, že chcete spustit jako správce.

Note

Služba, která se spouští pod účtem LocalSystem , nemá oprávnění potřebná ke spuštění této metody. Řešením je zkontrolovat, jestli zdroj událostí existuje v objektu ServiceInstaller, a pokud neexistuje, vytvořit zdroj v instalačním programu.

Protože nelze dát nový zdroj název existujícího zdroje na stejném počítači, použijte tuto metodu před pokusem o volání CreateEventSource , abyste zajistili, že zdroj s názvem zadaným uživatelem source ještě v místním počítači neexistuje. Parametr source nerozlišuje malá a velká písmena.

Viz také

Platí pro

SourceExists(String, String)

Zdroj:
EventLog.cs
Zdroj:
EventLog.cs
Zdroj:
EventLog.cs
Zdroj:
EventLog.cs
Zdroj:
EventLog.cs
Zdroj:
EventLog.cs
Zdroj:
EventLog.cs
Zdroj:
EventLog.cs

Určuje, zda je zdroj událostí registrován v zadaném počítači.

public:
 static bool SourceExists(System::String ^ source, System::String ^ machineName);
public static bool SourceExists(string? source, string machineName);
public static bool SourceExists(string source, string machineName);
static member SourceExists : string * string -> bool
Public Shared Function SourceExists (source As String, machineName As String) As Boolean

Parametry

source
String

Název zdroje události.

machineName
String

Název počítače, na kterém se má hledat, nebo ". pro místní počítač.

Návraty

trueje-li zdroj událostí registrován na daném počítači; v opačném případě . false

Výjimky

machineName je neplatný název počítače.

source nebyl nalezen, ale některé nebo všechny protokoly událostí nelze prohledávat.

Příklady

Následující příklad vytvoří zdroj MySource v počítači MyServera zapíše položku do protokolu MyNewLogudálostí .

using System;
using System.Diagnostics;
using System.Threading;

class MySample{

    public static void Main(){

        // Create the source, if it does not already exist.
        if(!EventLog.SourceExists("MySource", "MyServer"))
        {
            // An event log source should not be created and immediately used.
            // There is a latency time to enable the source, it should be created
            // prior to executing the application that uses the source.
            // Execute this sample a second time to use the new source.
            EventLog.CreateEventSource("MySource", "MyNewLog", "MyServer");
            Console.WriteLine("CreatingEventSource");
            Console.WriteLine("Exiting, execute the application a second time to use the source.");
            // The source is created.  Exit the application to allow it to be registered.
            return;
        }

        // Create an EventLog instance and assign its source.
        EventLog myLog = new EventLog();
        myLog.Source = "MySource";

        // Write an informational entry to the event log.
        myLog.WriteEntry("Writing to event log.");

        Console.WriteLine("Message written to event log.");
    }
}
Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        ' Create the source, if it does not already exist.
        If Not EventLog.SourceExists("MySource", "MyServer") Then
            EventLog.CreateEventSource("MySource", "MyNewLog", "MyServer")
            Console.WriteLine("CreatingEventSource")
        End If
        
        ' Create an EventLog instance and assign its source.
        Dim myLog As New EventLog()
        myLog.Source = "MySource"
        
        ' Write an informational entry to the event log.    
        myLog.WriteEntry("Writing to event log.")
        
        Console.WriteLine("Message written to event log.")
    End Sub
End Class

Poznámky

Tuto metodu použijte k určení, zda zdroj událostí existuje v počítači určeném parametrem machineName . Chcete-li zjistit, zda protokol existuje v zadaném počítači, použijte Exists.

Vzhledem k tomu, že tato metoda přistupuje k registru, musíte mít příslušná oprávnění registru na daném serveru; SecurityException jinak bude vyvolán.

Note

Pokud chcete vyhledat zdroj událostí v Windows Vista a novějším nebo Windows Server 2003, musíte mít oprávnění správce.

Důvodem tohoto požadavku je, že je nutné vyhledat všechny protokoly událostí, včetně zabezpečení, aby bylo možné určit, jestli je zdroj události jedinečný. Počínaje systémem Windows Vista nemají uživatelé oprávnění pro přístup k protokolu zabezpečení; SecurityException proto je vyvolán.

Počínaje systémem Windows Vista určuje řízení uživatelských účtů (UAC) oprávnění uživatele. Pokud jste členem předdefinované skupiny Administrators, máte přiřazené dva přístupové tokeny za běhu: standardní přístupový token uživatele a přístupový token správce. Ve výchozím nastavení jste ve standardní roli uživatele. Pokud chcete spustit kód, který přistupuje k čítačům výkonu, musíte nejprve zvýšit oprávnění od standardního uživatele na správce. Můžete to udělat, když spustíte aplikaci tak, že kliknete pravým tlačítkem myši na ikonu aplikace a označíte, že chcete spustit jako správce.

Note

Služba, která se spouští pod účtem LocalSystem , nemá oprávnění potřebná ke spuštění této metody. Řešením je zkontrolovat, jestli zdroj událostí existuje v objektu ServiceInstaller, a pokud neexistuje, vytvořit zdroj v instalačním programu.

Vzhledem k tomu, že nelze dát nový zdroj název existujícího zdroje na stejném počítači, použijte tuto metodu před pokusem o volání CreateEventSource , abyste zajistili, že zdroj s názvem zadaným uživatelem source ještě v počítači neexistuje. U source parametrů se nerozlišují malá a machineName velká písmena.

SourceExists static je metoda, takže ji lze volat v samotné třídě. Není nutné vytvořit instanci EventLog volání SourceExists.

Viz také

Platí pro