事件來源
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 | 一或多個事件訊息檔案的路徑;使用分號分隔多個檔案。 事件訊息檔案包含描述事件的語言相依字串。 這個值的類型可以是 REG_SZ 或 REG_EXPAND_SZ。 |
ParameterMessageFile | 參數訊息檔案的路徑。 參數訊息檔案包含要插入事件描述字串中的語言無關字串。 這個值的類型可以是 REG_SZ 或 REG_EXPAND_SZ。 |
類型Supported | 支援的型別位掩碼。 這個值的類型為 REG_DWORD。 它可以是下列其中一或多個值:
EVENTLOG_AUDIT_SUCCESS(0x0008) EVENTLOG_ERROR_TYPE(0x0001) EVENTLOG_INFORMATION_TYPE (0x0004) EVENTLOG_WARNING_TYPE (0x0002) |
當應用程式使用 RegisterEventSource 或 OpenEventLog 函式來取得事件記錄檔的句柄時,事件記錄服務會在登錄中搜尋指定的事件來源。 例如,應用程式 記錄可能包含 sql Server 和 Microsoft Excel Microsoft事件來源。 如果應用程式使用 RegisterEventSource 或 OpenEventLog 搭配 Application、SQL 或 Excel 的來源名稱,事件記錄服務會將句柄傳回至 Application 記錄檔。
應用程式可以使用 應用程式 記錄檔,而不需將新的事件來源新增至登錄。 如果應用程式呼叫 RegisterEventSource,並傳遞登錄中找不到的來源名稱,事件記錄服務預設會使用 Application 記錄。 不過,因為沒有任何訊息檔案,所以事件查看器無法將任何事件標識碼或事件類別對應至描述字串,而且會顯示錯誤。 基於這個理由,您應該將唯一的事件來源新增至應用程式的登錄,並指定訊息檔案。