イベント ソース

Eventlog キーの各ログには、イベント ソースと呼ばれるサブキーが含まれています。 イベント ソースは、イベントをログに記録するソフトウェアの名前です。 アプリケーションが大きい場合は、多くの場合、アプリケーションの名前またはアプリケーションのサブコンポーネントの名前です。 レジストリには最大 16,384 個のイベント ソースを追加できます。 セキュリティ ログは、システムでのみ使用されます。 デバイス ドライバーは、 システム ログに名前を追加する必要があります。 アプリケーションとサービスは、 アプリケーション ログに 名前を追加するか、カスタム ログを作成する必要があります。

イベント ソースの構造は次のとおりです。

HKEY_LOCAL_MACHINE
   SYSTEM
      CurrentControlSet
         Services
            EventLog
               Application
                  AppName
               Security
               System
                  DriverName
               CustomLog
                  AppName

ログ名として既に使用されているソース名は使用できません。 また、ソース名を階層型にすることはできません。つまり、円記号 ("\") を含めることはできません。

各イベント ソースには、次の表に示すように、イベントをログに記録するソフトウェアに固有の情報 ( メッセージ ファイルなど) が含まれています。

レジストリ値 説明
CategoryCount サポートされているイベント カテゴリの数。 この値は REG_DWORD 型です。
CategoryMessageFile カテゴリ メッセージ ファイルへのパス。 カテゴリ メッセージ ファイルには、カテゴリを記述する言語に依存する文字列が含まれています。 この値には、 REG_SZ または REG_EXPAND_SZの型を指定できます。
EventMessageFile 1 つ以上のイベント メッセージ ファイルへのパス。複数のファイルを区切るには、セミコロンを使用します。 イベント メッセージ ファイルには、イベントを記述する言語に依存する文字列が含まれています。 この値には、 REG_SZ または REG_EXPAND_SZの型を指定できます。
ParameterMessageFile パラメーター メッセージ ファイルへのパス。 パラメーター メッセージ ファイルには、イベント記述文字列に挿入される言語に依存しない文字列が含まれています。 この値には、 REG_SZ または REG_EXPAND_SZの型を指定できます。
TypesSupported サポートされている型のビットマスク。 この値は REG_DWORD 型です。 次の値の 1 つ以上を指定できます。
EVENTLOG_AUDIT_FAILURE (0x0010)
EVENTLOG_AUDIT_SUCCESS (0x0008)
EVENTLOG_ERROR_TYPE (0x0001)
EVENTLOG_INFORMATION_TYPE (0x0004)
EVENTLOG_WARNING_TYPE (0x0002)

 

アプリケーションが RegisterEventSource または OpenEventLog 関数を使用してイベント ログへのハンドルを取得すると、イベント ログ サービスはレジストリ内の指定されたイベント ソースを検索します。 たとえば、アプリケーション ログには、Microsoft SQL Server と Microsoft Excel のイベント ソースが含まれている場合があります。 アプリケーションで RegisterEventSource または OpenEventLog を使用し、ソース名が Application、SQL、または Excel の場合、イベント ログ サービスは アプリケーション ログにハンドルを返します。

アプリケーションは、レジストリに新しいイベント ソースを追加せずに アプリケーション ログを使用できます。 アプリケーションが RegisterEventSource を呼び出し、レジストリに見つからないソース名を渡した場合、イベント ログ サービスは既定で アプリケーション ログを使用します。 ただし、メッセージ ファイルがないため、イベント ビューアーはイベント識別子またはイベント カテゴリを説明文字列にマップできず、エラーが表示されます。 このため、アプリケーションのレジストリに一意のイベント ソースを追加し、メッセージ ファイルを指定する必要があります。