イベント ログの操作

OpenEventLogOpenBackupEventLogRegisterEventSourceDeregisterEventSourceおよび CloseEventLog 関数は、イベント ログ ハンドルを開いたり閉じたりします。

次の表は、開いているイベント ログに対して実行できる操作と、各操作に対応する関数を示しています。

操作 機能
Backup BackupEventLog
Clear ClearEventLog
Monitor NotifyChangeEventLog
クエリ GetOldestEventLogRecordGetNumberOfEventLogRecords
Read ReadEventLog
Write ReportEvent

 

OpenEventLog 関数と ReportEvent 関数は、リモート サーバーで操作を実行できるように、オプションのサーバー名をパラメーターとして受け取ります。 ログの管理操作 (バックアップ、クリア、監視、クエリ) の読み取りまたは実行には OpenEventLog を使用し、ログへの書き込みに RegisterEventSource を使用します。

イベント ログ関数の各呼び出しはアトミック操作です。 イベント ログから読み取ると、イベント レコード全体のみが返されます。 イベント ログに書き込むと、各イベント レコードがログ内の完全なレコードとして順次書き込まれることが保証されます。 次の一覧では、イベント ログ サービスが特別な条件を処理する方法について説明します。

  • イベント ログ サービスは、読み取り操作と書き込み操作を同時に受け取ります。読み取り位置がファイルの末尾にある場合、読み取り操作が "ファイルの終了" 状態で失敗するか (書き込み操作が完了していない場合)、または新しいレコードを返します (書き込み操作が完了した場合)。
  • イベント ログ サービスは、読み取り操作を受信する前にクリア操作を完了します。読み取り操作は"ファイルの終了" 状態で失敗します。
  • イベント ログ サービスは、書き込み操作を受け取る前にクリア操作を完了します。クリア操作によってログが切り捨てられ、書き込み操作によってログの先頭に新しいレコードが追加されます。