EventLog.DeleteEventSource Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Entfernt die Registrierung der Ereignisquellen einer Anwendung aus dem Ereignisprotokoll.
Überlädt
DeleteEventSource(String) |
Entfernt die Registrierung der Ereignisquelle aus dem Ereignisprotokoll auf dem lokalen Computer. |
DeleteEventSource(String, String) |
Entfernt die Registrierung der Ereignisquellen einer Anwendung auf dem angegebenen Computer. |
DeleteEventSource(String)
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
Entfernt die Registrierung der Ereignisquelle aus dem Ereignisprotokoll auf dem lokalen Computer.
public:
static void DeleteEventSource(System::String ^ source);
public static void DeleteEventSource (string source);
static member DeleteEventSource : string -> unit
Public Shared Sub DeleteEventSource (source As String)
Parameter
- source
- String
Der Name, unter dem die Anwendung im Ereignisprotokollsystem registriert ist.
Ausnahmen
Der source
-Parameter ist in der Registrierung des lokalen Computers nicht vorhanden.
- oder -
Sie verfügen nicht über Schreibzugriff auf den Registrierungsschlüssel für das Ereignisprotokoll.
Beispiele
Im folgenden Beispiel wird eine Quelle vom lokalen Computer gelöscht. Das Beispiel bestimmt das Protokoll aus seiner Quelle und löscht dann das Protokoll.
Hinweis
Mehrere Quellen können in ein Ereignisprotokoll schreiben. Stellen Sie vor dem Löschen eines benutzerdefinierten Protokolls sicher, dass keine anderen Quellen in dieses Protokoll schreiben.
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
String^ logName;
if ( EventLog::SourceExists( "MySource" ) )
{
// Find the log associated with this source.
logName = EventLog::LogNameFromSourceName( "MySource", "." );
// Make sure the source is in the log we believe it to be in
if (logName != "MyLog")
return -1;
// Delete the source and the log.
EventLog::DeleteEventSource( "MySource" );
EventLog::Delete( logName );
Console::WriteLine( "{0} deleted.", logName );
}
else
{
// Create the event source to make next try successful.
EventLog::CreateEventSource("MySource", "MyLog");
}
}
using System;
using System.Diagnostics;
using System.Threading;
class MySample1
{
public static void Main()
{
string logName;
if (EventLog.SourceExists("MySource"))
{
// Find the log associated with this source.
logName = EventLog.LogNameFromSourceName("MySource", ".");
// Make sure the source is in the log we believe it to be in.
if (logName != "MyLog")
return;
// Delete the source and the log.
EventLog.DeleteEventSource("MySource");
EventLog.Delete(logName);
Console.WriteLine(logName + " deleted.");
}
else
{
// Create the event source to make next try successful.
EventLog.CreateEventSource("MySource", "MyLog");
}
}
}
Option Explicit On
Option Strict On
Imports System.Diagnostics
Imports System.Threading
Class MySample
Public Shared Sub Main()
Dim logName As String
If EventLog.SourceExists("MySource") Then
' Find the log associated with this source.
logName = EventLog.LogNameFromSourceName("MySource", ".")
' Make sure the source is in the log we believe it to be in
If (logName <> "MyLog") Then
Return
End If
' Delete the source and the log.
EventLog.DeleteEventSource("MySource")
EventLog.Delete(logName)
Console.WriteLine((logName & " deleted."))
Else
' Create the event source to make next try successful.
EventLog.CreateEventSource("MySource", "MyLog")
End If
End Sub
End Class
Hinweise
Verwenden Sie diese Methode, um die Registrierung eines Source vom lokalen Computer zu entfernen. DeleteEventSource greift auf die Registrierung auf dem lokalen Computer zu und entfernt die Registrierung Ihrer Anwendung als gültige Ereignisquelle.
Sie können Ihre Komponente als gültige Ereignisquelle entfernen, wenn Sie sie nicht mehr zum Schreiben von Einträgen in dieses Protokoll benötigen. Dies können Sie beispielsweise tun, wenn Sie Ihre Komponente von einem Protokoll in ein anderes ändern müssen. Da eine Quelle jeweils nur für ein Protokoll registriert werden kann, müssen Sie zum Ändern des Protokolls die aktuelle Registrierung entfernen.
DeleteEventSource entfernt nur die Quelle, die in einem Protokoll registriert ist. Wenn Sie das Protokoll selbst entfernen möchten, rufen Sie auf Delete. Wenn Sie nur die Protokolleinträge löschen möchten, rufen Sie auf Clear. Delete und DeleteEventSource sind static
Methoden, sodass sie für die Klasse selbst aufgerufen werden können. Es ist nicht erforderlich, eine instance von EventLog zu erstellen, um beide Methoden aufzurufen.
Durch das Löschen eines Protokolls über einen Aufruf von Delete werden die in diesem Protokoll registrierten Quellen automatisch gelöscht. Dadurch können andere Anwendungen, die dieses Protokoll verwenden, in Betrieb nehmen.
Hinweis
Wenn eine Quelle bereits einem Protokoll zugeordnet wurde und Sie sie einem neuen Protokoll zuordnen, müssen Sie den Computer neu starten, damit die Änderungen wirksam werden.
Weitere Informationen
Gilt für:
DeleteEventSource(String, String)
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
- Quelle:
- EventLog.cs
Entfernt die Registrierung der Ereignisquellen einer Anwendung auf dem angegebenen Computer.
public:
static void DeleteEventSource(System::String ^ source, System::String ^ machineName);
public static void DeleteEventSource (string source, string machineName);
static member DeleteEventSource : string * string -> unit
Public Shared Sub DeleteEventSource (source As String, machineName As String)
Parameter
- source
- String
Der Name, unter dem die Anwendung im Ereignisprotokollsystem registriert ist.
- machineName
- String
Der Name des Computers, auf dem der Registrierungseintrag gelöscht werden soll, oder "." für den lokalen Computer.
Ausnahmen
Der machineName
-Parameter ist ungültig.
- oder -
Der source
-Parameter ist in der Registrierung des angegebenen Computers nicht vorhanden.
- oder -
Sie verfügen nicht über Schreibzugriff auf den Registrierungsschlüssel für das Ereignisprotokoll.
source
kann nicht gelöscht werden, da in der Registrierung der übergeordnete Schlüssel für source
keinen Unterschlüssel mit demselben Namen enthält.
Beispiele
Im folgenden Beispiel wird eine Quelle vom angegebenen Computer gelöscht. Das Beispiel bestimmt das Protokoll aus seiner Quelle und löscht dann das Protokoll.
Hinweis
Mehrere Quellen können in ein Ereignisprotokoll schreiben. Stellen Sie vor dem Löschen eines benutzerdefinierten Protokolls sicher, dass keine anderen Quellen in dieses Protokoll schreiben.
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
String^ logName;
if ( EventLog::SourceExists( "MySource", "MyMachine") )
{
// Find the log associated with this source.
logName = EventLog::LogNameFromSourceName( "MySource", "MyMachine" );
// Make sure the source is in the log we believe it to be in
if (logName != "MyLog")
return -1;
// Delete the source and the log.
EventLog::DeleteEventSource( "MySource", "MyMachine" );
EventLog::Delete( logName, "MyMachine" );
Console::WriteLine( "{0} deleted.", logName );
}
else
{
// Create the event source to make next try successful.
EventSourceCreationData^ mySourceData = gcnew EventSourceCreationData("MySource", "MyLog");
mySourceData->MachineName = "MyMachine";
EventLog::CreateEventSource(mySourceData);
}
}
using System;
using System.Diagnostics;
using System.Threading;
class MySample
{
public static void Main()
{
string logName;
if (EventLog.SourceExists("MySource", "MyMachine"))
{
// Find the log associated with this source.
logName = EventLog.LogNameFromSourceName("MySource", "MyMachine");
// Make sure the source is in the log we believe it to be in.
if (logName != "MyLog")
return;
// Delete the source and the log.
EventLog.DeleteEventSource("MySource", "MyMachine");
EventLog.Delete(logName, "MyMachine");
Console.WriteLine(logName + " deleted.");
}
else
{
// Create the event source to make next try successful.
EventSourceCreationData mySourceData = new EventSourceCreationData("MySource", "MyLog");
mySourceData.MachineName = "MyMachine";
EventLog.CreateEventSource(mySourceData);
}
}
}
Option Explicit On
Option Strict On
Imports System.Diagnostics
Imports System.Threading
Class MySample
Public Shared Sub Main()
Dim logName As String
If EventLog.SourceExists("MySource", "MyMachine") Then
' Find the log associated with this source.
logName = EventLog.LogNameFromSourceName("MySource", "MyMachine")
' Make sure the source is in the log we believe it to be in
If (logName <> "MyLog") Then
Return
End If
' Delete the source and the log.
EventLog.DeleteEventSource("MySource", "MyMachine")
EventLog.Delete(logName, "MyMachine")
Console.WriteLine((logName & " deleted."))
Else
' Create the event source to make next try successful.
Dim mySourceData As New EventSourceCreationData("MySource", "MyLog")
mySourceData.MachineName = "MyMachine"
EventLog.CreateEventSource(mySourceData)
End If
End Sub
End Class
Hinweise
Verwenden Sie diese Überladung, um die Registrierung eines Source von einem Remotecomputer zu entfernen. DeleteEventSource greift auf die Registrierung auf dem von machineName
angegebenen Computer zu und entfernt die Registrierung Ihrer Anwendung als gültige Ereignisquelle.
Sie können Ihre Komponente als gültige Ereignisquelle entfernen, wenn Sie sie nicht mehr zum Schreiben von Einträgen in dieses Protokoll benötigen. Dies können Sie beispielsweise tun, wenn Sie Ihre Komponente von einem Protokoll in ein anderes ändern müssen. Da eine Quelle jeweils nur für ein Protokoll registriert werden kann, müssen Sie zum Ändern des Protokolls die aktuelle Registrierung entfernen.
DeleteEventSource entfernt nur die Quelle, die in einem Protokoll registriert ist. Wenn Sie das Protokoll selbst entfernen möchten, rufen Sie auf Delete. Wenn Sie nur die Protokolleinträge löschen möchten, rufen Sie auf Clear. Delete und DeleteEventSource sind static
Methoden, sodass sie für die Klasse selbst aufgerufen werden können. Es ist nicht erforderlich, eine instance von EventLog zu erstellen, um beide Methoden aufzurufen.
Durch das Löschen eines Protokolls über einen Aufruf von Delete werden die in diesem Protokoll registrierten Quellen automatisch gelöscht. Dadurch können andere Anwendungen, die dieses Protokoll verwenden, in Betrieb nehmen.
Hinweis
Wenn eine Quelle bereits einem Protokoll zugeordnet wurde und Sie sie einem neuen Protokoll zuordnen, müssen Sie den Computer neu starten, damit die Änderungen wirksam werden.