イベントログからエントリーを読み込みます。
#Include <EventLog.au3>
_EventLog__Read($hEventLog [, $fRead = True [, $fForward = True [, $iOffset = 0]]])
パラメータ
$hEventLog | イベントログのハンドル |
$fRead | [オプション]
Trueの場合、操作はこのハンドルでこの関数が最後に呼び出された際の続きから進められます。 Falseの場合、読み込み操作は$iOffsetパラメータで指定されたレコードから進められます。 |
$fForward | [オプション]Trueの場合、ログは日付け順に読み込まれます。Falseの場合、ログは逆日付け順に読み込まれます。 |
$iOffset | [オプション] 読み込み操作を開始するイベントレコード番号。このパラメータはfReadがTrueの場合、無視されます。 |
返し値
成功: | 次の形式の配列: |
[ 0] - True | |
[ 1] - レコード数 | |
[ 2] - このエントリーがサブミットされた日付け | |
[ 3] - このエントリーがサブミットされた時間 | |
[ 4] - このエントリーがログに書き込まれるために受信された日付け | |
[ 5] - このエントリーがログに書き込まれるために受信された時間 | |
[ 6] - イベント識別子 | |
[ 7] - イベント型。次の値のいずれかです: | |
1 - エラーイベント | |
2 - 警告イベント | |
4 - 情報イベン | |
8 - 成功監査イベント | |
16 - 失敗監査イベント | |
[ 8] - イベント型文字列 | |
[ 9] - イベントカテゴリ | |
[10] - イベントソース | |
[11] - コンピュータ名 | |
[12] - ユーザー名 | |
[13] - イベントの説明 | |
[14] - イベントデータ配列 | |
失敗: | Array[0] = False |
注意
この関数が成功で返ると、イベントログの読み込み位置が読み込んだレコード番号によって調整されます。 複数のレコードが読み込める場合でも、正常に動作するためにこの関数は一度に1つのレコードしか返しません。
関連
_EventLog__Close, _EventLog__Open
例
#include <GuiConstantsEx.au3>
#include <EventLog.au3>
Global $iMemo
_Main()
Func _Main()
Local $hEventLog, $hGUI, $aEvent
; GUI作成
$hGUI = GUICreate("EventLog", 400, 300)
$iMemo = GUICtrlCreateEdit("", 2, 2, 396, 300, 0)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
GUISetState()
; 直近のイベントレコードを読み込む
$hEventLog = _EventLog__Open("", "Application")
$aEvent = _EventLog__Read($hEventLog, True, False) ; read last event
;~ $hEventLog = _EventLog__Open("", "System")
;~ $aEvent = _EventLog__Read($hEventLog, True, False)
;~ $aEvent = _EventLog__Read($hEventLog, True, False)
MemoWrite("Result ............: " & $aEvent[ 0])
MemoWrite("Record number .....: " & $aEvent[ 1])
MemoWrite("Submitted .........: " & $aEvent[ 2] & " " & $aEvent[ 3])
MemoWrite("Generated .........: " & $aEvent[ 4] & " " & $aEvent[ 5])
MemoWrite("Event ID ..........: " & $aEvent[ 6])
MemoWrite("Type ..............: " & $aEvent[ 8])
MemoWrite("Category ..........: " & $aEvent[ 9])
MemoWrite("Source ............: " & $aEvent[10])
MemoWrite("Computer ..........: " & $aEvent[11])
MemoWrite("Username ..........: " & $aEvent[12])
MemoWrite("Description .......: " & $aEvent[13])
_EventLog__Close($hEventLog)
; ユーザーが終了させるまでループ
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
; メモコントロールに1行書き込む
Func MemoWrite($sMessage)
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite