イベント ログの操作
OpenEventLog、OpenBackupEventLog、RegisterEventSource、DeregisterEventSource、および CloseEventLog 関数は、イベント ログ ハンドルを開いたり閉じたりします。
次の表は、開いているイベント ログに対して実行できる操作と、各操作に対応する関数を示しています。
操作 | 機能 |
---|---|
Backup | BackupEventLog |
Clear | ClearEventLog |
Monitor | NotifyChangeEventLog |
クエリ | GetOldestEventLogRecord、 GetNumberOfEventLogRecords |
Read | ReadEventLog |
Write | ReportEvent |
OpenEventLog 関数と ReportEvent 関数は、リモート サーバーで操作を実行できるように、オプションのサーバー名をパラメーターとして受け取ります。 ログの管理操作 (バックアップ、クリア、監視、クエリ) の読み取りまたは実行には OpenEventLog を使用し、ログへの書き込みに RegisterEventSource を使用します。
イベント ログ関数の各呼び出しはアトミック操作です。 イベント ログから読み取ると、イベント レコード全体のみが返されます。 イベント ログに書き込むと、各イベント レコードがログ内の完全なレコードとして順次書き込まれることが保証されます。 次の一覧では、イベント ログ サービスが特別な条件を処理する方法について説明します。
- イベント ログ サービスは、読み取り操作と書き込み操作を同時に受け取ります。読み取り位置がファイルの末尾にある場合、読み取り操作が "ファイルの終了" 状態で失敗するか (書き込み操作が完了していない場合)、または新しいレコードを返します (書き込み操作が完了した場合)。
- イベント ログ サービスは、読み取り操作を受信する前にクリア操作を完了します。読み取り操作は"ファイルの終了" 状態で失敗します。
- イベント ログ サービスは、書き込み操作を受け取る前にクリア操作を完了します。クリア操作によってログが切り捨てられ、書き込み操作によってログの先頭に新しいレコードが追加されます。