EventLogInstaller.CategoryCount プロパティ
アセンブリ: System.Configuration.Install (system.configuration.install.dll 内)
構文
Dim instance As EventLogInstaller Dim value As Integer value = instance.CategoryCount instance.CategoryCount = value
[ComVisibleAttribute(false)] public: property int CategoryCount { int get (); void set (int value); }
/** @property */ public int get_CategoryCount () /** @property */ public void set_CategoryCount (int value)
カテゴリ リソース ファイル内のカテゴリの数。既定値は 0 です。
ローカライズされたカテゴリ文字列を使用してイベントを書き込むには、CategoryCount プロパティおよび CategoryResourceFile プロパティを使用します。イベントを書き込むときにカテゴリを指定すると、イベント ビューアはイベント エントリのカテゴリを表示します。イベント ログ カテゴリは、イベントをフィルタ処理したり、イベントに関する情報を提供したりする、アプリケーション定義の文字列です。たとえば、アプリケーションはコンポーネントまたは操作ごとに個別のカテゴリを定義できます。
イベント カテゴリはオプションです。アプリケーションがカテゴリを使用しない場合は、CategoryCount プロパティおよび CategoryResourceFile プロパティを設定しないでください。
イベント メッセージの定義およびイベント リソース ファイルの作成の詳細については、http://www.microsoft.com/japan/msdn のプラットフォーム SDK ドキュメントで「Message Compiler」のトピックを参照してください。
新しいイベント ソースのインストール プロパティを設定するコード例を次に示します。このコード例は、ローカライズされたイベント テキストのイベント ソース名、イベント ログ名、およびリソース ファイルを設定します。
Imports System 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 = "%SystemRoot%\System32\eventlogmsgs.dll" myEventLogInstaller.CategoryCount = 3 myEventLogInstaller.MessageResourceFile = "%SystemRoot%\System32\eventlogmsgs.dll" myEventLogInstaller.ParameterResourceFile = "%SystemRoot%\System32\eventlogmsgs.dll" ' Add myEventLogInstaller to the installer collection. Installers.Add(myEventLogInstaller) End Sub 'New Public Shared Sub Main() Console.WriteLine("Usage: InstallUtil.exe [<install>.exe | <install>.dll]") End Sub 'Main End Class 'MyEventLogInstaller
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 = @"%SystemRoot%\System32\eventlogmsgs.dll"; myEventLogInstaller.CategoryCount = 3; myEventLogInstaller.MessageResourceFile = @"%SystemRoot%\System32\eventlogmsgs.dll"; myEventLogInstaller.ParameterResourceFile = @"%SystemRoot%\System32\eventlogmsgs.dll"; // Add myEventLogInstaller to the installer collection. Installers.Add(myEventLogInstaller); } public static void Main() { Console.WriteLine("Usage: InstallUtil.exe [<install>.exe | <install>.dll]"); } }
#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 = "%SystemRoot%\\System32\\eventlogmsgs.dll"; myEventLogInstaller->CategoryCount = 3; myEventLogInstaller->MessageResourceFile = "%SystemRoot%\\System32\\eventlogmsgs.dll"; myEventLogInstaller->ParameterResourceFile = "%SystemRoot%\\System32\\eventlogmsgs.dll"; // Add myEventLogInstaller to the installer collection. Installers->Add( myEventLogInstaller ); } }; int main() { Console::WriteLine( "Usage: InstallUtil.exe [<install>.exe | <install>.dll]" ); }
コード例では、リソース ライブラリ 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 .
プラットフォーム
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
EventLogInstaller クラス
EventLogInstaller メンバ
System.Diagnostics 名前空間
CategoryResourceFile
CategoryCount
WriteEvent
- EventLogInstaller.CategoryCount プロパティのページへのリンク