EventLog.RegisterDisplayName メソッド
アセンブリ: System (system.dll 内)
構文<ComVisibleAttribute(False)> _ Public Sub RegisterDisplayName ( _ resourceFile As String, _ resourceId As Long _ )
Dim instance As EventLog Dim resourceFile As String Dim resourceId As Long instance.RegisterDisplayName(resourceFile, resourceId)
[ComVisibleAttribute(false)] public void RegisterDisplayName ( string resourceFile, long resourceId )
[ComVisibleAttribute(false)] public: void RegisterDisplayName ( String^ resourceFile, long long resourceId )
/** @attribute ComVisibleAttribute(false) */ public void RegisterDisplayName ( String resourceFile, long resourceId )
ComVisibleAttribute(false) public function RegisterDisplayName ( resourceFile : String, resourceId : long )
例外
解説イベント ビューアにカスタム イベント ログのローカライズされた名前を登録して表示するには、RegisterDisplayName を使用します。
指定したリソース識別子は、リソース ファイルで定義されたローカライズされた文字列に対応している必要があります。イベント ビューアには、ローカライズされた文字列と現在のカルチャ設定を使用して、カスタム イベント ログ名が表示されます。たとえば、リソース ファイルでは、別のカルチャ用にローカライズされた複数のイベント ログ名を定義できます。イベント ビューアには、現在のユーザーのカルチャ設定に対応するローカライズされた文字列が表示されます。
イベント ビューアがリソース ファイルからローカライズされた文字列を読み込むことができない場合や、イベント ログの表示名が登録されていない場合は、イベント ビューアには Log で定義されたイベント ログ名が表示されます。
メモ |
|---|
| 定義済みイベント ログに表示名を登録する必要はありません。オペレーティング システムによって、アプリケーション ログ、システム ログ、およびセキュリティ イベント ログのローカライズされた表示名が登録されます。 |
使用例SampleApplicationSource という名前のイベント ソースがローカル コンピュータに登録されているかどうかを確認する例を次に示します。この例では、イベント ソースが存在しない場合、ソースに対応するメッセージ リソース ファイルを設定し、新しいイベント ソースを作成します。最後にコード例は、DisplayNameMsgId のリソース識別子の値と messageFile のリソース ファイル パスを使用し、イベント ログに対してローカライズされた表示名を設定します。
Dim myLogName As String Dim sourceName As String = "SampleApplicationSource" ' Create the event source if it does not exist. If Not EventLog.SourceExists(sourceName) ' Create a new event source for the custom event log ' named "myNewLog." myLogName = "myNewLog" Dim mySourceData As EventSourceCreationData = New EventSourceCreationData(sourceName, myLogName) ' Set the message resource file that the event source references. ' All event resource identifiers correspond to text in this file. If Not System.IO.File.Exists(messageFile) Console.WriteLine("Input message resource file does not exist - {0}", _ messageFile) messageFile = "" Else ' Set the specified file as the resource ' file for message text, category text and ' message parameters strings. mySourceData.MessageResourceFile = messageFile mySourceData.CategoryResourceFile = messageFile mySourceData.CategoryCount = CategoryCount mySourceData.ParameterResourceFile = messageFile Console.WriteLine("Event source message resource file set to {0}", _ messageFile) End If Console.WriteLine("Registering new source for event log.") EventLog.CreateEventSource(mySourceData) Else ' Get the event log corresponding to the existing source. myLogName = EventLog.LogNameFromSourceName(sourceName,".") End If ' Register the localized name of the event log. ' For example, the actual name of the event log is "myNewLog," but ' the event log name displayed in the Event Viewer might be ' "Sample Application Log" or some other application-specific ' text. Dim myEventLog As EventLog = New EventLog(myLogName, ".", sourceName) If messageFile.Length > 0 myEventLog.RegisterDisplayName(messageFile, DisplayNameMsgId) End If
string myLogName; string sourceName = "SampleApplicationSource"; // Create the event source if it does not exist. if(!EventLog.SourceExists(sourceName)) { // Create a new event source for the custom event log // named "myNewLog." myLogName = "myNewLog"; EventSourceCreationData mySourceData = new EventSourceCreationData(sourceName, myLogName); // Set the message resource file that the event source references. // All event resource identifiers correspond to text in this file. if (!System.IO.File.Exists(messageFile)) { Console.WriteLine("Input message resource file does not exist - {0}", messageFile); messageFile = ""; } else { // Set the specified file as the resource // file for message text, category text, and // message parameter strings. mySourceData.MessageResourceFile = messageFile; mySourceData.CategoryResourceFile = messageFile; mySourceData.CategoryCount = CategoryCount; mySourceData.ParameterResourceFile = messageFile; Console.WriteLine("Event source message resource file set to {0}", messageFile); } Console.WriteLine("Registering new source for event log."); EventLog.CreateEventSource(mySourceData); } else { // Get the event log corresponding to the existing source. myLogName = EventLog.LogNameFromSourceName(sourceName,"."); } // Register the localized name of the event log. // For example, the actual name of the event log is "myNewLog," but // the event log name displayed in the Event Viewer might be // "Sample Application Log" or some other application-specific // text. EventLog myEventLog = new EventLog(myLogName, ".", sourceName); if (messageFile.Length > 0) { myEventLog.RegisterDisplayName(messageFile, DisplayNameMsgId); }
String^ myLogName; String^ sourceName = "SampleApplicationSource"; // Create the event source if it does not exist. if ( !EventLog::SourceExists( sourceName ) ) { // Create a new event source for the custom event log // named "myNewLog." myLogName = "myNewLog"; EventSourceCreationData ^ mySourceData = gcnew EventSourceCreationData( sourceName,myLogName ); // Set the message resource file that the event source references. // All event resource identifiers correspond to text in this file. if ( !System::IO::File::Exists( messageFile ) ) { Console::WriteLine( "Input message resource file does not exist - {0}", messageFile ); messageFile = ""; } else { // Set the specified file as the resource // file for message text, category text, and // message parameter strings. mySourceData->MessageResourceFile = messageFile; mySourceData->CategoryResourceFile = messageFile; mySourceData->CategoryCount = CategoryCount; mySourceData->ParameterResourceFile = messageFile; Console::WriteLine( "Event source message resource file set to {0}", messageFile ); } Console::WriteLine( "Registering new source for event log." ); EventLog::CreateEventSource( mySourceData ); } else { // Get the event log corresponding to the existing source. myLogName = EventLog::LogNameFromSourceName( sourceName, "." ); } // Register the localized name of the event log. // For example, the actual name of the event log is "myNewLog," but // the event log name displayed in the Event Viewer might be // "Sample Application Log" or some other application-specific // text. EventLog^ myEventLog = gcnew EventLog( myLogName,".",sourceName ); if ( messageFile->Length > 0 ) { myEventLog->RegisterDisplayName( messageFile, DisplayNameMsgId ); }
この例では、リソース ライブラリ EventLogMsgs.dll に組み込まれた、次のメッセージ テキスト ファイルが使用されています。メッセージ リソース ファイルは、メッセージ テキスト ファイルから生成されます。メッセージ テキスト ファイルでは、リソース識別子の他、カテゴリ、イベント メッセージ、およびパラメータ挿入文字列のテキストが定義されます。特に、リソース識別子 5001 は、イベント ログのローカライズされた名前に定義されます。
; // EventLogMsgs.mc ; // ******************************************************** ; // Use the following commands to build this file: ; // mc -s EventLogMsgs.mc ; // rc EventLogMsgs.rc ; // link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res ; // ******************************************************** ; // - Event categories - ; // Categories must be numbered consecutively starting at 1. ; // ******************************************************** MessageId=0x1 Severity=Success SymbolicName=INSTALL_CATEGORY Language=English Installation . MessageId=0x2 Severity=Success SymbolicName=QUERY_CATEGORY Language=English Database Query . MessageId=0x3 Severity=Success SymbolicName=REFRESH_CATEGORY Language=English Data Refresh . ; // - Event messages - ; // ********************************* MessageId = 1000 Severity = Success Facility = Application SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000 Language=English My application message text, in English, for message id 1000, called from %1. . MessageId = 1001 Severity = Warning Facility = Application SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001 Language=English My application message text, in English, for message id 1001, called from %1. . MessageId = 1002 Severity = Success Facility = Application SymbolicName = GENERIC_INFO_MESSAGE_ID_1002 Language=English My generic information message in English, for message id 1002. . MessageId = 1003 Severity = Warning Facility = Application SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003 Language=English My generic warning message in English, for message id 1003, called from %1. . MessageId = 1004 Severity = Success Facility = Application SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004 Language=English The update cycle is complete for %%5002. . MessageId = 1005 Severity = Warning Facility = Application SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005 Language=English The refresh operation did not complete because the connection to server %1 could not be established. . ; // - Event log display name - ; // ******************************************************** MessageId = 5001 Severity = Success Facility = Application SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID Language=English Sample Event Log . ; // - Event message parameters - ; // Language independent insertion strings ; // ******************************************************** MessageId = 5002 Severity = Success Facility = Application SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID Language=English SVC_UPDATE.EXE .
.NET Framework のセキュリティ
プラットフォームWindows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照- EventLog.RegisterDisplayName メソッドのページへのリンク
.gif)