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
イベントの種類。 このメンバーには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
エラー イベント |
|
失敗監査イベント |
|
成功監査イベント |
|
情報イベント |
|
警告イベント |
詳細については、「イベントの 種類」を参照してください。
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 を含む) |