次の方法で共有


ReadEventLogW 関数 (winbase.h)

指定したイベント ログから、指定した数のエントリを読み取ります。 この関数を使用して、ログ エントリを時系列または逆の時系列順に読み取ることができます。

構文

BOOL ReadEventLogW(
  [in]  HANDLE hEventLog,
  [in]  DWORD  dwReadFlags,
  [in]  DWORD  dwRecordOffset,
  [out] LPVOID lpBuffer,
  [in]  DWORD  nNumberOfBytesToRead,
  [out] DWORD  *pnBytesRead,
  [out] DWORD  *pnMinNumberOfBytesNeeded
);

パラメーター

[in] hEventLog

読み取るイベント ログへのハンドル。 OpenEventLog 関数は、このハンドルを返します。

[in] dwReadFlags

ログ ファイルの読み取り方法を示すには、次のフラグ値を使用します。 このパラメーターには、次のいずれかの値を含める必要があります (フラグは相互に排他的です)。

価値 意味
EVENTLOG_SEEK_READ
0x0002
dwRecordOffset パラメーターで指定されたレコードからの読み取りを開始します。

関数がログ ファイルのサイズを判断できない場合、このオプションは大きなログ ファイルでは機能しない可能性があります。 詳細については、サポート技術情報の記事、177199を参照してください。

EVENTLOG_SEQUENTIAL_READ
0x0001
レコードを順番に読み取る。

これが最初の読み取り操作である場合、EVENTLOG_FORWARDS_READ EVENTLOG_BACKWARDS_READ フラグによって、最初に読み取るレコードが決定されます。

 

連続する読み取り操作の方向を示すには、次のいずれかのフラグを指定する必要があります (フラグは相互に排他的です)。

価値 意味
EVENTLOG_FORWARDS_READ
0x0004
ログは時系列で読み取られます (最も古いものから最新)。

既定値。

EVENTLOG_BACKWARDS_READ
0x0008
ログは、時系列の逆順 (最新から最も古い順) で読み取られます。

[in] dwRecordOffset

読み取り操作を開始するログ エントリのレコード番号。 dwReadFlags EVENTLOG_SEEK_READ フラグが含まれている場合を除き、このパラメーターは無視されます。

[out] lpBuffer

1 つ以上の EVENTLOGRECORD 構造体を受け取るアプリケーション割り当てバッファー。 nNumberOfBytesToRead パラメーターが 0 の場合でも、このパラメーターを NULLすることはできません。

このバッファーの最大サイズは0x7ffff バイトです。

[in] nNumberOfBytesToRead

lpBuffer バッファーのサイズ (バイト単位)。 この関数は、バッファーに収まる限り多くのログ エントリを読み取ります。関数は部分エントリを返しません。

[out] pnBytesRead

関数によって読み取られたバイト数を受け取る変数へのポインター。

[out] pnMinNumberOfBytesNeeded

lpBuffer バッファーの必要なサイズを受け取る変数へのポインター。 この値は、この関数が 0 を返し、GetLastError が ERROR_INSUFFICIENT_BUFFERを返 だけ有効です。

戻り値

関数が成功した場合、戻り値は 0 以外です。

関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

この関数が正常に返されると、イベント ログ内の読み取り位置は、読み取られたレコードの数によって調整されます。

このソースの構成済みファイル名は、他のソースの構成済みファイル名である場合もあります (複数のソースが 1 つのログの下にサブキーとして存在する場合があります)。 したがって、この関数は、複数のソースによってログに記録されたイベントを返す場合があります。
 

例については、「イベント情報のクエリを実行する」を参照してください。

手記

winbase.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして ReadEventLog を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winbase.h (Windows.h を含む)
ライブラリ Advapi32.lib
DLL Advapi32.dll
API セットの ext-ms-win-advapi32-eventlog-ansi-l1-1-0 (Windows 10 バージョン 10.0.10240 で導入)

関連項目

ClearEventLog の

CloseEventLog の

EVENTLOGRECORD を する

イベント ログ関数 を する

OpenEventLog

ReportEvent