EventLog.RegisterDisplayName(String, Int64) EventLog.RegisterDisplayName(String, Int64) EventLog.RegisterDisplayName(String, Int64) EventLog.RegisterDisplayName(String, Int64) Method

定義

指定事件記錄檔的當地語系化名稱,這會顯示在伺服器的 [事件檢視器] 中。Specifies the localized name of the event log, which is displayed in the server Event Viewer.

public:
 void RegisterDisplayName(System::String ^ resourceFile, long resourceId);
[System.Runtime.InteropServices.ComVisible(false)]
public void RegisterDisplayName (string resourceFile, long resourceId);
member this.RegisterDisplayName : string * int64 -> unit
Public Sub RegisterDisplayName (resourceFile As String, resourceId As Long)

參數

resourceFile
String String String String

當地語系化資源檔的完整指定路徑。The fully specified path to a localized resource file.

resourceId
Int64 Int64 Int64 Int64

資源識別項,可為資源檔內的當地語系化字串編排索引。The resource identifier that indexes a localized string within the resource file.

例外狀況

這個 Log 值不是有效的記錄檔名稱。The Log value is not a valid log name.

-或--or- 無法在目標電腦上開啟事件記錄檔的登錄機碼。The registry key for the event log could not be opened on the target computer.

範例

下列範例會判斷是否事件來源名為SampleApplicationSource登錄在本機電腦上。The following example determines whether the event source named SampleApplicationSource is registered on the local computer. 如果事件來源不存在,此範例會設定為來源的訊息資源檔,並建立新的事件來源。If the event source does not exist, the example sets the message resource file for the source and creates the new event source. 最後,範例會設定事件記錄檔,使用中的資源識別碼值的當地語系化的顯示名稱DisplayNameMsgId中的資源檔路徑和messageFileFinally, the example sets the localized display name for the event log, using the resource identifier value in DisplayNameMsgId and the resource file path in messageFile.

void CreateEventSourceSample1( String^ messageFile )
{
   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 );
   }   
}
static void CreateEventSourceSample1(string messageFile)
{
    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);
    }
}
Public Shared Sub CreateEventSourceSample1(ByVal messageFile As String)

    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
End Sub

此範例會使用下列的訊息文字檔案,內建資源庫 EventLogMsgs.dll。The example uses the following message text file, built into the resource library EventLogMsgs.dll. 訊息文字檔案是從其中建立訊息資源檔的來源。A message text file is the source from which the message resource file is created. 訊息文字檔案定義的資源識別碼和類別目錄、 事件訊息和參數插入字串的文字。The message text file defines the resource identifiers and text for the category, event message, and parameter insertion strings. 具體而言,資源識別元 5001 定義事件記錄檔的當地語系化名稱。Specifically, resource identifier 5001 is defined for the localized name of the event log.

; // 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  
.  

備註

使用RegisterDisplayName註冊,並顯示自訂事件記錄檔的事件檢視器的當地語系化的名稱。Use RegisterDisplayName to register and display a localized name in the Event Viewer for custom event logs.

指定的資源識別碼必須對應到資源檔中定義的當地語系化字串。The specified resource identifier must correspond to a localized string defined in the resource file. 事件檢視器會顯示使用當地語系化的字串和目前的文化特性設定的自訂事件記錄檔名稱。The Event Viewer displays the custom event log name using the localized string and the current culture settings. 例如,您可以定義多個資源檔中的不同文化特性的當地語系化的事件記錄檔名稱。For example, you can define multiple event log names localized for different cultures in your resource file. 事件檢視器會顯示對應到目前使用者的文化特性設定當地語系化的字串。The Event Viewer displays the localized string corresponding to the culture settings of the current user.

如果事件檢視器無法載入當地語系化的字串,從資源檔,或如果沒有顯示名稱已登錄事件記錄檔,事件檢視器顯示中定義的事件記錄檔名稱LogIf the Event Viewer cannot load the localized string from the resource file, or if no display name was registered for the event log, then the Event Viewer displays the event log name defined in Log.

注意

您不需要註冊預先定義的事件記錄檔的顯示名稱。You do not need to register a display name for the pre-defined event logs. 作業系統會註冊應用程式、 系統及安全性事件記錄檔的當地語系化的顯示名稱。The operating system registers the localized display names for the Application, System, and Security event logs.

安全性

EventLogPermission
用於管理的電腦上的事件記錄檔資訊。for administering event log information on the computer. 相關聯的列舉型別: AdministerAssociated enumeration: Administer

適用於

另請參閱