EventLog.DeleteEventSource メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
イベント ログからアプリケーションのイベント ソース登録を削除します。
オーバーロード
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 はローカル コンピューター上のレジストリにアクセスし、イベントの有効なソースとしてアプリケーションの登録を削除します。
そのログにエントリを書き込む必要がなくなった場合は、イベントの有効なソースとしてコンポーネントを削除できます。 たとえば、あるログから別のログにコンポーネントを変更する必要がある場合に、これを行うことができます。 ソースは一度に 1 つのログにのみ登録できるため、ログを変更するには、現在の登録を削除する必要があります。
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
指定されたコンピューター上のレジストリにアクセスし、イベントの有効なソースとしてアプリケーションの登録を削除します。
そのログにエントリを書き込む必要がなくなった場合は、イベントの有効なソースとしてコンポーネントを削除できます。 たとえば、あるログから別のログにコンポーネントを変更する必要がある場合に、これを行うことができます。 ソースは一度に 1 つのログにのみ登録できるため、ログを変更するには、現在の登録を削除する必要があります。
DeleteEventSource は、ログに登録されているソースのみを削除します。 ログ自体を削除する場合は、 を呼び出します Delete。 ログ エントリのみを削除する場合は、 を呼び出します Clear。 Delete と DeleteEventSource は static
メソッドであるため、クラス自体で呼び出すことができます。 どちらのメソッドも呼び出すために の EventLog インスタンスを作成する必要はありません。
を呼び出してログを Delete 削除すると、そのログに登録されているソースが自動的に削除されます。 これにより、そのログを使用する他のアプリケーションが動作不能になる可能性があります。
注意
ソースが既にログにマップされていて、それを新しいログに再マップする場合は、変更を有効にするためにコンピューターを再起動する必要があります。
こちらもご覧ください
適用対象
.NET