共用方式為


事件來源

Eventlog 金鑰 中的每個記錄都包含稱為 事件來源子機碼。 事件來源是記錄事件的軟體名稱。 如果應用程式很大,通常是應用程式的名稱或應用程式的子元件名稱。 您可以將最多 16,384 個事件來源新增至登錄。 安全性 記錄僅供系統使用。 設備驅動器應將其名稱新增至 系統 記錄檔。 應用程式和服務應該將其名稱新增至 應用程式 記錄,或建立自定義記錄檔。

事件來源的結構如下所示:

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

您無法使用已做為記錄檔名稱的來源名稱。 此外,來源名稱不能是階層式名稱;也就是說,它們不能包含反斜杠字元 (“\” )。

每個事件來源都包含將記錄事件之軟體特有的資訊(例如 訊息檔案),如下表所示。

登錄值 描述
CategoryCount 支援的事件類別目錄數目。 這個值的類型為 REG_DWORD
CategoryMessageFile 類別訊息檔案的路徑。 類別訊息檔案包含描述類別的語言相依字串。 這個值的類型可以是 REG_SZREG_EXPAND_SZ
EventMessageFile 一或多個事件訊息檔案的路徑;使用分號分隔多個檔案。 事件訊息檔案包含描述事件的語言相依字串。 這個值的類型可以是 REG_SZREG_EXPAND_SZ
ParameterMessageFile 參數訊息檔案的路徑。 參數訊息檔案包含要插入事件描述字串中的語言無關字串。 這個值的類型可以是 REG_SZREG_EXPAND_SZ
類型Supported 支援的型別位掩碼。 這個值的類型為 REG_DWORD。 它可以是下列其中一或多個值:
EVENTLOG_AUDIT_FAILURE (0x0010)
EVENTLOG_AUDIT_SUCCESS(0x0008)
EVENTLOG_ERROR_TYPE(0x0001)
EVENTLOG_INFORMATION_TYPE (0x0004)
EVENTLOG_WARNING_TYPE (0x0002)

 

當應用程式使用 RegisterEventSourceOpenEventLog 函式來取得事件記錄檔的句柄時,事件記錄服務會在登錄中搜尋指定的事件來源。 例如,應用程式 記錄可能包含 sql Server 和 Microsoft Excel Microsoft事件來源。 如果應用程式使用 RegisterEventSourceOpenEventLog 搭配 Application、SQL 或 Excel 的來源名稱,事件記錄服務會將句柄傳回至 Application 記錄檔。

應用程式可以使用 應用程式 記錄檔,而不需將新的事件來源新增至登錄。 如果應用程式呼叫 RegisterEventSource,並傳遞登錄中找不到的來源名稱,事件記錄服務預設會使用 Application 記錄。 不過,因為沒有任何訊息檔案,所以事件查看器無法將任何事件標識碼或事件類別對應至描述字串,而且會顯示錯誤。 基於這個理由,您應該將唯一的事件來源新增至應用程式的登錄,並指定訊息檔案。