EVENTLOGRECORD 結構 (winnt.h)

包含 ReadEventLog 函式所傳回之事件記錄的相關信息。

語法

typedef struct _EVENTLOGRECORD {
  DWORD Length;
  DWORD Reserved;
  DWORD RecordNumber;
  DWORD TimeGenerated;
  DWORD TimeWritten;
  DWORD EventID;
  WORD  EventType;
  WORD  NumStrings;
  WORD  EventCategory;
  WORD  ReservedFlags;
  DWORD ClosingRecordNumber;
  DWORD StringOffset;
  DWORD UserSidLength;
  DWORD UserSidOffset;
  DWORD DataLength;
  DWORD DataOffset;
} EVENTLOGRECORD, *PEVENTLOGRECORD;

成員

Length

這個事件記錄的大小,以位元組為單位。 請注意,此值會儲存在專案的兩端,以方便向前或向後移動記錄檔。 長度包含插入記錄結尾的任何填補位元組, 以進行 DWORD 對齊。

Reserved

一律設定為 ELF_LOG_SIGNATURE 的 DWORD 值, (值為 0x654c664c) ,也就是 eLfL 的 ASCII。

RecordNumber

記錄的數目。 這個值可以與 ReadEventLog 函式中的 EVENTLOG_SEEK_READ 旗標搭配使用,以開始讀取指定的記錄。 如需詳細資訊,請參閱 事件記錄檔記錄。

TimeGenerated

提交此項目的時間。 此時間是以自 1970 年 1 月 1 日 00:00:00 起經過的秒數來測量。

TimeWritten

服務要寫入記錄檔時收到這個項目的時間。 此時間是以自 1970 年 1 月 1 日 00:00:00 起經過的秒數來測量。

EventID

事件識別項。 這個值是事件事件來源的特定值,而且會與來源名稱搭配使用,以在事件來源的訊息檔中尋找描述字串。 如需詳細資訊,請參閱 事件標識符。

EventType

事件的類型。 這個成員可以是下列其中一個值。

值 意義
EVENTLOG_ERROR_TYPE
0x0001
錯誤事件
EVENTLOG_AUDIT_FAILURE
0x0010
失敗稽核事件
EVENTLOG_AUDIT_SUCCESS
0x0008
成功稽核事件
EVENTLOG_INFORMATION_TYPE
0x0004
資訊事件
EVENTLOG_WARNING_TYPE
0x0002
警告事件
 

如需詳細資訊,請參閱 事件類型。

NumStrings

記錄檔 (中出現的字串數目,位於 StringOffset 所指示的位置) 。 這些字串會先合併到訊息中,再向用戶顯示。

EventCategory

這個事件的類別。 此值的意義取決於事件來源。 如需詳細資訊,請參閱 事件類別目錄。

ReservedFlags

保留的。

ClosingRecordNumber

保留的。

StringOffset

這個事件記錄檔記錄中描述字串的位移。

UserSidLength

UserSid 成員的大小,以位元組為單位。 如果未提供任何安全性標識碼,這個值可以是零。

UserSidOffset

此事件記錄檔記錄內的安全性標識碼 (SID) 位移。 若要取得此 SID 的使用者名稱,請使用 LookupAccountSid 函式。

DataLength

事件特定數據的大小 (DataOffset 所指示的位置,以位元組為單位) 。

DataOffset

這個事件記錄檔記錄內事件特定資訊的位移,以位元組為單位。 此資訊可能是磁碟驅動程式 (記錄重試次數的特定專案,例如) ,後面接著記錄事件的特定二進位資訊,以及產生專案的來源。

備註

定義的成員後面接著事件標識碼所識別之訊息的取代字串、二進位資訊、一些填補位元組,以確定完整專案位於 DWORD 界限上,最後是記錄專案的長度。 因為字串和二進位資訊可以是任何長度,所以不會定義任何結構成員來參考它們。 Winnt.h 中這個結構的宣告會描述這些成員,如下所示:

    // WCHAR SourceName[]
    // WCHAR Computername[]
    // SID   UserSid
    // WCHAR Strings[]
    // BYTE  Data[]
    // CHAR  Pad[]
    // DWORD Length;

來源名稱是指定事件來源名稱的可變長度字串。 計算機名稱是產生事件的計算機名稱。 其後面可能會加上一些填補位元組,以便使用者 SID 對齊 DWORD 界限。 使用者 SID 會在記錄此事件時識別作用中的使用者。 如果 UserSidLength 為零,此字段可能是空的。

事件標識碼與來源名稱和語言標識碼會識別更詳細地描述事件的字串。 字串會當做取代字串使用,並合併到訊息字串中,以建立完整的訊息。 訊息字串包含在登錄來源專案中指定的訊息檔中。 若要從訊息檔案取得適當的訊息字串,請使用 LoadLibrary 函式載入訊息檔案,並使用 FormatMessage 函式。

二進位資訊是事件特有的資訊。 當設備驅動器收到錯誤、從網路接收到的無效封包傾印、程式中的所有結構的傾印, (偵測到數據區域損毀時,處理器緩存器的內容會) 等等。 此資訊對於設備驅動器或應用程式寫入器在追蹤 Bug 或未經授權中斷應用程式時應該很有用。

規格需求

需求 值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
標頭 winnt.h (包含 Windows.h)

另請參閱

LookupAccountSid

ReadEventLog