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 メンバーのサイズ (バイト単位)。 セキュリティ識別子が指定されていない場合、この値は 0 にすることができます。

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 が 0 の場合、このフィールドは空である可能性があります。

イベント識別子とソース名と言語識別子は、イベントを詳しく説明する文字列を識別します。 文字列は置換文字列として使用され、完全なメッセージを作成するためにメッセージ文字列にマージされます。 メッセージ文字列は、レジストリのソース エントリで指定されたメッセージ ファイルに含まれています。 メッセージ ファイルから適切なメッセージ文字列を取得するには、 LoadLibrary 関数を使用してメッセージ ファイルを読み込み、 FormatMessage 関数を使用します。

バイナリ情報は、イベントに固有の情報です。 これは、デバイス ドライバーがエラーを受け取ったときのプロセッサ レジスタの内容、ネットワークから受信された無効なパケットのダンプ、プログラム内のすべての構造体のダンプ (データ領域が破損していることが検出された場合) などです。 この情報は、バグの追跡やアプリケーションへの未承認の中断を追跡する場合に、デバイス ドライバーまたはアプリケーションのライターに役立つ必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header winnt.h (Windows.h を含む)

こちらもご覧ください

LookupAccountSid

ReadEventLog