2010-11-16 5 views
3

J'essaie d'utiliser les fonctions ETW sans succès pour lire le fichier C: \ Windows \ System32 \ winevt \ Logs \ Microsoft-Windows-Diagnostics-Performance% 4Operational.evtx afin de capturer les événements de temps de démarrage. J'ai essayé différentes fonctions -Comment lire les événements de démarrage sur Windows 7?

  • OpenTrace donne une erreur 161
  • EvtQuery donne une erreur 15000

Quelqu'un at-il un exemple de code natif de la lecture des fichiers de trace du système?

+0

Pour votre information: 161 = ERROR_BAD_PATHNAME ou ERROR_MAX_SESSIONS_REACHED, 15000 = ERROR_EVT_INVALID_CHANNEL_PATH – Rup

+1

le code postal ne –

+0

Vous faites un util qui loggs fenêtres commencent \ fois arrêt vers le bas? –

Répondre

5

J'ai eu ce travail comme suit -

LPWSTR pwsPath = L"Microsoft-Windows-Diagnostics-Performance/Operational"; 
LPWSTR pwsQuery = L"Event/System[EventID=100]"; 

hResults = EvtQuery(NULL, pwsPath, pwsQuery, 
        EvtQueryChannelPath | EvtQueryReverseDirection); 

Le nom du canal peut être trouvé en allant aux propriétés sur un EventLog et en utilisant son nom complet. L'erreur 15000 était due à moi en essayant d'ouvrir le fichier journal avec les indicateurs donnés plutôt que le nom de canal.

1

Vous ne savez pas quelle API vous renvoie une erreur. Avez-vous regardé ce post, cela fournit un exemple de la façon d'ouvrir et de lire un journal des événements.

Questions connexes