EventLogInstaller.CategoryCount 属性    
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置类别资源文件中类别的数目。
public:
 property int CategoryCount { int get(); void set(int value); };[System.Runtime.InteropServices.ComVisible(false)]
public int CategoryCount { get; set; }[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CategoryCount : int with get, setPublic Property CategoryCount As Integer属性值
类别资源文件中的类别的数目。 默认值为零。
- 属性
示例
下面的代码示例设置新事件源的安装属性。 代码示例设置本地化事件文本的事件源名称、事件日志名称和资源文件。
#using <System.dll>
#using <System.Configuration.Install.dll>
using namespace System;
using namespace System::Configuration::Install;
using namespace System::Diagnostics;
using namespace System::ComponentModel;
[RunInstaller(true)]
public ref class SampleEventLogInstaller : public Installer
{
private:
   EventLogInstaller^ myEventLogInstaller;
public:
   SampleEventLogInstaller()
   {
      
      // Create an instance of an EventLogInstaller.
      myEventLogInstaller = gcnew EventLogInstaller;
      
      // Set the source name of the event log.
      myEventLogInstaller->Source = "ApplicationEventSource";
      
      // Set the event log into which the source writes entries.
      //myEventLogInstaller.Log = "MyCustomLog";
      myEventLogInstaller->Log = "myNewLog";
      
      // Set the resource file for the event log.
      // The message strings are defined in EventLogMsgs.mc; the message 
      // identifiers used in the application must match those defined in the
      // corresponding message resource file. The messages must be built
      // into a Win32 resource library and copied to the target path on the
      // system.  
      myEventLogInstaller->CategoryResourceFile =
             Environment::SystemDirectory + "\\eventlogmsgs.dll";
      myEventLogInstaller->CategoryCount = 3;
      myEventLogInstaller->MessageResourceFile =
             Environment::SystemDirectory + "\\eventlogmsgs.dll";
      myEventLogInstaller->ParameterResourceFile =
             Environment::SystemDirectory + "\\eventlogmsgs.dll";
      // Add myEventLogInstaller to the installer collection.
      Installers->Add( myEventLogInstaller );
   }
};
int main()
{
   Console::WriteLine( "Usage: InstallUtil.exe [<install>.exe | <install>.dll]" );
}
using System;
using System.Configuration.Install;
using System.Diagnostics;
using System.ComponentModel;
[RunInstaller(true)]
public class SampleEventLogInstaller : Installer
{
    private EventLogInstaller myEventLogInstaller;
    public SampleEventLogInstaller()
    {
        // Create an instance of an EventLogInstaller.
        myEventLogInstaller = new EventLogInstaller();
        // Set the source name of the event log.
        myEventLogInstaller.Source = "ApplicationEventSource";
        // Set the event log into which the source writes entries.
        //myEventLogInstaller.Log = "MyCustomLog";
        myEventLogInstaller.Log = "myNewLog";
        // Set the resource file for the event log.
        // The message strings are defined in EventLogMsgs.mc; the message
        // identifiers used in the application must match those defined in the
        // corresponding message resource file. The messages must be built
        // into a Win32 resource library and copied to the target path on the
        // system.
        myEventLogInstaller.CategoryResourceFile =
             Environment.SystemDirectory + "\\eventlogmsgs.dll";
        myEventLogInstaller.CategoryCount = 3;
        myEventLogInstaller.MessageResourceFile =
             Environment.SystemDirectory + "\\eventlogmsgs.dll";
        myEventLogInstaller.ParameterResourceFile =
             Environment.SystemDirectory + "\\eventlogmsgs.dll";
        // Add myEventLogInstaller to the installer collection.
        Installers.Add(myEventLogInstaller);
    }
    public static void Main()
    {
        Console.WriteLine("Usage: InstallUtil.exe [<install>.exe | <install>.dll]");
    }
}
   Imports System.Configuration.Install
Imports System.Diagnostics
Imports System.ComponentModel
<RunInstaller(True)>  _
Public Class SampleEventLogInstaller
   Inherits Installer
   Private myEventLogInstaller As EventLogInstaller
   Public Sub New()
      ' Create an instance of an EventLogInstaller.
      myEventLogInstaller = New EventLogInstaller()
      ' Set the source name of the event log.
      myEventLogInstaller.Source = "ApplicationEventSource"
      ' Set the event log into which the source writes entries.
      myEventLogInstaller.Log = "MyCustomLog"
      ' Set the resource file for the event log.
      ' The message strings are defined in EventLogMsgs.mc; the message
      ' identifiers used in the application must match those defined in the
      ' corresponding message resource file. The messages must be built
      ' into a Win32 resource library and copied to the target path on the
      ' system.
      myEventLogInstaller.CategoryResourceFile = _
          Environment.SystemDirectory + "\eventlogmsgs.dll"
      myEventLogInstaller.CategoryCount = 3
      myEventLogInstaller.MessageResourceFile = _
          Environment.SystemDirectory + "\eventlogmsgs.dll"
      myEventLogInstaller.ParameterResourceFile = _
          Environment.SystemDirectory + "\eventlogmsgs.dll"
      ' Add myEventLogInstaller to the installer collection.
      Installers.Add(myEventLogInstaller)
   End Sub
   Public Shared Sub Main()
     Console.WriteLine("Usage: InstallUtil.exe [<install>.exe | <install>.dll]")
   End Sub
End Class
该代码示例使用以下消息文本文件,该文件内置于资源库中 EventLogMsgs.dll。 消息文本文件是创建消息资源文件的源。 消息文本文件定义类别、事件消息和参数插入字符串的资源标识符和文本。
; // 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  
.  
注解
CategoryCount使用 和 CategoryResourceFile 属性编写具有本地化类别字符串的事件。 如果在编写事件时提供类别,则事件查看器显示事件条目的类别。 事件日志类别是应用程序定义的字符串,可帮助筛选事件或提供有关事件的信息。 例如,应用程序可以为不同的组件或不同的操作定义单独的类别。
事件类别是可选的;如果应用程序不使用类别,则不要设置 CategoryCount 和 CategoryResourceFile 属性。
有关定义事件消息和生成事件资源文件的详细信息,请参阅平台 SDK 文档中 的消息编译器 一文。