事件來源
Eventlog 金鑰中的每個記錄都包含稱為事件來源的子機碼。 事件來源是記錄事件的軟體名稱。 如果應用程式很大,通常是應用程式的名稱或應用程式的子元件名稱。 您可以將最多 16,384 個事件來源新增至登錄。 安全性記錄僅供系統使用。 設備磁碟機應該將其名稱新增至 系統 記錄檔。 應用程式和服務應該將其名稱新增至 應用程式 記錄檔,或建立自訂記錄檔。
事件來源的結構如下所示:
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
EventLog
Application
AppName
Security
System
DriverName
CustomLog
AppName
您無法使用已經作為記錄檔名稱的來源名稱。 此外,來源名稱不能是階層式名稱;也就是說,它們不能包含反斜線字元 (「\」) 。
每個事件來源都包含資訊 (,例如 訊息檔) 記錄事件的軟體特定資訊,如下表所示。
登錄值 | Description |
---|---|
CategoryCount | 支援的事件類別目錄數目。 此值的類型 為 REG_DWORD。 |
CategoryMessageFile | 類別訊息檔案的路徑。 類別訊息檔案包含描述類別的語言相依字串。 這個值的類型可以是 REG_SZ 或 REG_EXPAND_SZ。 |
EventMessageFile | 一或多個事件訊息檔案的路徑;使用分號分隔多個檔案。 事件訊息檔案包含描述事件的語言相依字串。 這個值的類型可以是 REG_SZ 或 REG_EXPAND_SZ。 |
ParameterMessageFile | 參數訊息檔的路徑。 參數訊息檔包含要插入事件描述字串中的與語言無關的字串。 這個值的類型可以是 REG_SZ 或 REG_EXPAND_SZ。 |
TypesSupported | 支援的型別位元遮罩。 此值的類型 為 REG_DWORD。 它可以是下列一或多個值:
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 ,並傳遞登錄中找不到的來源名稱,則事件記錄服務預設會使用 應用程式 記錄檔。 不過,因為沒有任何訊息檔,所以事件檢視器無法將任何事件識別碼或事件類別對應至描述字串,而且會顯示錯誤。 基於這個理由,您應該將唯一的事件來源新增至應用程式的登錄,並指定訊息檔。