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 :
j'obtiens status == ERROR_EVT_INVALID_QUERY
Code : Sélectionner tout - Visualiser dans une fenêtre à part DWORD status = GetLastError();
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>
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
Partager