UDF > EventLog >


_EventLog__Read

Lit une entrée à partir d'un journal d'événement

#include <EventLog.au3>
_EventLog__Read ( $hEventLog [, $bRead = True [, $bForward = True [, $iOffset = 0]]] )

Paramètres

$hEventLog Le handle du journal d'événement
$bRead [optionnel] Si True, procède séquentiellement à partir du dernier appel à cette fonction en utilisant ce handle.
Si False, la lecture passera à l'enregistrement spécifié par le paramètre $ioffset.
$bForward [optionnel] Si True, le journal est lu dans l'ordre chronologique. Si False, le journal est lu dans l'ordre chronologique inverse.
$iOffset [optionnel] Le numéro de l'enregistrement d'événement auquel la lecture doit commencer.
Ce paramètre est ignoré si $bRead est True.

Valeur de retour

Succès: Retourne un tableau dans le format suivant:
    [ 0] - True
    [ 1] - Numéro de l'enregistrement
    [ 2] - Date à laquelle cette entrée a été soumise
    [ 3] - Heure à laquelle cette entrée a été soumise
    [ 4] - Date à laquelle cette entrée a été reçue pour être écrite dans le journal
    [ 5] - Heure à laquelle cette entrée a été reçue pour être écrire dans le journal
    [ 6] - Identifiant de l'événement
    [ 7] - Type de l'événement. Peut prendre les valeurs suivantes:
        1 - Événement d'erreur
        2 - Événement d'avertissement
        4 - Événement d'information
        8 - Événement d'audit de réussite
        16 - Événement d'audit d'échec
    [ 8] - Événement de type string
    [ 9] - Événement catégorie
    [10] - Événement source
    [11] - Nom de l'ordinateur
    [12] - Nom d'utilisateur
    [13] - Description de l'événement
    [14] - Tableau de données de l'événement
Échec: Retourne $Array[0] = False

Remarque

Lorsque cette fonction retourne un succès, la position de lecture dans le journal d'événement est ajustée sur le nombre d'enregistrements lus.
Bien que plusieurs enregistrements peuvent être lus, cette fonction retourne un enregistrement à la fois pour l'amour de la santé mentale.

En relation

_EventLog__Close, _EventLog__Open

Exemple

#include <EventLog.au3>
#include <FontConstants.au3>
#include <GUIConstantsEx.au3>

Global $g_idMemo

Example()

Func Example()
    Local $hEventLog, $aEvent

    ; Crée une GUI
    GUICreate("EventLog", 400, 300)
    $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 300, 0)
    GUICtrlSetFont($g_idMemo, 9, $FW_NORMAL, $GUI_FONTNORMAL, "Courier New")
    GUISetState(@SW_SHOW)

    ; Lit le plus récent enregistrement
    $hEventLog = _EventLog__Open("", "Application")
    $aEvent = _EventLog__Read($hEventLog, True, False) ; Lit le dernier enregistrement
    ; $hEventLog = _EventLog__Open("", "System")
    ; $aEvent = _EventLog__Read($hEventLog)
    ; $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)

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

; Ecrit une ligne dans le contrôle mémo
Func MemoWrite($sMessage)
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite