EventLog.DeleteEventSource メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アプリケーションのイベント ソース登録をイベント ログから削除します。
オーバーロード
| 名前 | 説明 |
|---|---|
| DeleteEventSource(String) |
ローカル コンピューターのイベント ログからイベント ソースの登録を削除します。 |
| DeleteEventSource(String, String) |
指定したコンピューターからアプリケーションのイベント ソース登録を削除します。 |
DeleteEventSource(String)
- ソース:
- EventLog.cs
- ソース:
- EventLog.cs
- ソース:
- EventLog.cs
- ソース:
- EventLog.cs
- ソース:
- EventLog.cs
- ソース:
- 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 パラメーターは、ローカル コンピューターのレジストリに存在しません。
-又は-
イベント ログのレジストリ キーに対する書き込みアクセス権がありません。
例
次の例では、ローカル コンピューターからソースを削除します。 この例では、ソースからログを決定し、ログを削除します。
Note
複数のソースがイベント ログに書き込む場合があります。 カスタム ログを削除する前に、そのログに書き込む他のソースがないことを確認します。
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を呼び出してログを削除すると、そのログに登録されているソースが自動的に削除されます。 これにより、そのログを使用する他のアプリケーションが動作不能になる可能性があります。
Note
ソースが既にログにマップされていて、それを新しいログに再マップする場合は、変更を有効にするためにコンピューターを再起動する必要があります。
こちらもご覧ください
適用対象
DeleteEventSource(String, String)
- ソース:
- EventLog.cs
- ソース:
- EventLog.cs
- ソース:
- EventLog.cs
- ソース:
- EventLog.cs
- ソース:
- EventLog.cs
- ソース:
- 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 の親レジストリ キーに同じ名前のサブキーが含まれていないため、削除できません。
例
次の例では、指定したコンピューターからソースを削除します。 この例では、ソースからログを決定し、ログを削除します。
Note
複数のソースがイベント ログに書き込む場合があります。 カスタム ログを削除する前に、そのログに書き込む他のソースがないことを確認します。
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を呼び出してログを削除すると、そのログに登録されているソースが自動的に削除されます。 これにより、そのログを使用する他のアプリケーションが動作不能になる可能性があります。
Note
ソースが既にログにマップされていて、それを新しいログに再マップする場合は、変更を有効にするためにコンピューターを再起動する必要があります。