EventLog.DeleteEventSource Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Удаляет из журнала событий регистрацию источника событий приложения.
Перегрузки
DeleteEventSource(String) |
Удаляет регистрацию источника событий из журнала событий на локальном компьютере. |
DeleteEventSource(String, String) |
Удаляет регистрацию источника событий приложения с указанного компьютера. |
DeleteEventSource(String)
- Исходный код:
- EventLog.cs
- Исходный код:
- EventLog.cs
- Исходный код:
- EventLog.cs
Удаляет регистрацию источника событий из журнала событий на локальном компьютере.
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)
Параметры
- source
- String
Имя, с которым приложение регистрируется в журнале событий системы.
Исключения
Параметр source
отсутствует в реестре локального компьютера.
-или-
Отсутствуют права на запись в раздел реестра для журнала событий.
Примеры
В следующем примере удаляется источник с локального компьютера. В примере определяется журнал из его источника, а затем удаляется журнал.
Примечание
Несколько источников могут записывать данные в журнал событий. Перед удалением настраиваемого журнала убедитесь, что в нем нет других источников.
#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
Комментарии
Используйте этот метод, чтобы удалить регистрацию Source с локального компьютера. DeleteEventSource обращается к реестру на локальном компьютере и удаляет регистрацию приложения в качестве допустимого источника событий.
Вы можете удалить компонент в качестве допустимого источника событий, если он больше не требуется для записи записей в этот журнал. Например, это можно сделать, если необходимо изменить компонент из одного журнала в другой. Так как источник может быть зарегистрирован только в одном журнале за раз, для изменения журнала необходимо удалить текущую регистрацию.
DeleteEventSource Удаляет только источник, зарегистрированный в журнале. Если вы хотите удалить сам журнал, вызовите метод Delete. Если вы хотите удалить только записи журнала, вызовите .Clear Delete и DeleteEventSource являются static
методами, поэтому их можно вызывать в самом классе. Нет необходимости создавать экземпляр для EventLog вызова любого из методов.
При удалении журнала с помощью вызова автоматически Delete удаляются источники, зарегистрированные в этом журнале. Это может сделать другие приложения, использующие этот журнал, неработоспособным.
Примечание
Если источник уже сопоставлен с журналом и вы повторно сопоставили его с новым журналом, необходимо перезагрузить компьютер, чтобы изменения вступили в силу.
См. также раздел
Применяется к
DeleteEventSource(String, String)
- Исходный код:
- EventLog.cs
- Исходный код:
- EventLog.cs
- Исходный код:
- EventLog.cs
Удаляет регистрацию источника событий приложения с указанного компьютера.
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)
Параметры
- source
- String
Имя, с которым приложение регистрируется в журнале событий системы.
- machineName
- String
Имя компьютера, с которого удаляется регистрация, или "." для локального компьютера.
Исключения
Параметр machineName
является недопустимым.
-или-
Параметр source
отсутствует в реестре заданного компьютера.
-или-
Отсутствуют права на запись в раздел реестра для журнала событий.
source
не может быть удален, так как в реестре, родительский раздел реестра source
не содержит подразделы с тем же именем.
Примеры
В следующем примере удаляется источник с указанного компьютера. В примере определяется журнал из его источника, а затем удаляется журнал.
Примечание
Несколько источников могут записывать данные в журнал событий. Перед удалением настраиваемого журнала убедитесь, что в нем нет других источников.
#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
Комментарии
Используйте эту перегрузку для удаления регистрации с удаленного Source компьютера. DeleteEventSource обращается к реестру на компьютере, указанном параметром , machineName
и удаляет регистрацию приложения в качестве допустимого источника событий.
Вы можете удалить компонент в качестве допустимого источника событий, если он больше не требуется для записи записей в этот журнал. Например, это можно сделать, если необходимо изменить компонент из одного журнала в другой. Так как источник может быть зарегистрирован только в одном журнале за раз, для изменения журнала необходимо удалить текущую регистрацию.
DeleteEventSource Удаляет только источник, зарегистрированный в журнале. Если вы хотите удалить сам журнал, вызовите метод Delete. Если вы хотите удалить только записи журнала, вызовите .Clear Delete и DeleteEventSource являются static
методами, поэтому их можно вызывать в самом классе. Нет необходимости создавать экземпляр для EventLog вызова любого из методов.
При удалении журнала с помощью вызова автоматически Delete удаляются источники, зарегистрированные в этом журнале. Это может сделать другие приложения, использующие этот журнал, неработоспособным.
Примечание
Если источник уже сопоставлен с журналом и вы повторно сопоставили его с новым журналом, необходимо перезагрузить компьютер, чтобы изменения вступили в силу.