ReadEventLogA 関数 (winbase.h)
指定したイベント ログから、指定した数のエントリを読み取ります。 関数を使用して、ログ エントリを時系列または逆時系列で読み取ることができます。
構文
BOOL ReadEventLogA(
[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
ログ ファイルの読み取り方法を示すには、次のフラグ値を使用します。 このパラメーターには、次のいずれかの値を含める必要があります (フラグは相互に排他的です)。
連続する読み取り操作の方向を示すには、次のいずれかのフラグを指定する必要があります (フラグは相互に排他的です)。
値 | 意味 |
---|---|
|
ログは時系列で読み取られます (最も古いものから最新)。
これが既定値です。 |
|
ログは、逆の時系列順 (最新から最も古い順) で読み取られます。 |
[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 を呼び出します。
解説
この関数が正常に返されると、イベント ログ内の読み取り位置は、読み取られたレコードの数によって調整されます。
例
例については、「 イベント情報のクエリ」を参照してください。
注意
winbase.h ヘッダーは、ReadEventLog をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winbase.h (Windows.h を含む) |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |
API セット | ext-ms-win-advapi32-eventlog-ansi-l1-1-0 (Windows 10 バージョン 10.0.10240 で導入) |