none
Requêtage XPath pour lire le "Windows Event Log" RRS feed

  • Discussion générale

  • Bonjour, je souhaite utiliser dans mon projet C++ ATL/MFC la bibliothèque Wevtapi. Celle-ci doit permettre, sur un système Windows Server 2008, de lire les journaux des événements Windows.

    J'appelle donc la méthode EvtQuery, en lui passant :

    1. session : NULL

    2. chemin vers fichier de log : L"C:/Windows/System32/winevt/Logs/Application.evtx"

    3. requête

    4. flags : EvtQueryFilePath = 0x2

    La seule requête XPath que je parviens à passer sans que l'API m'indique une erreur de syntaxe, et qui me renvoie des événements, est : *

    Une requête aussi simple ne passe pas : *[System[Level=2]]

    En cherchant à lire les erreurs, j'obtiens le minimum d'information :

    DWORD status = GetLastError();

    j'obtiens status == ERROR_EVT_INVALID_QUERY

    J'appelle EvtGetExtendedStatus, qui renvoie ici : A syntax error occurred at position 8

    En essayant une forme XML, j'obtiens presque la même erreur :

    <QueryList><Query Id="0" Path="Application"><Select Path="Application">*[System[Level=2]]</Select></Query></QueryList> donne A syntax error occurred at position 9

    Si quelqu'un a déjà pratiqué, tout coup d'œil sera le bienvenue.

    OS cible : Win Server 2008 R2 Standard, 64-bit, SP1

    • Type modifié Aurel Bera jeudi 18 octobre 2012 12:53 Pas\
    vendredi 12 octobre 2012 08:46

Toutes les réponses