Domanda

Come posso scrivere i dati XML nel registro eventi di Windows?

Ho notato che esiste un modo per inserire XML nel registro eventi di Windows (e non semplicemente inserendolo nella descrizione). L'effetto è che ricevi solo il tuo messaggio di descrizione nella vista Generale su Windows Vista. Puoi vedere i tuoi dati XML nella vista Dettagli .

Se si seleziona il pulsante di opzione Friendly , viene visualizzato nel nodo Dati evento . Se selezioni la vista XML, puoi vedere l'XML.

Ho pensato che l'array di byte rawData nel metodo EventLog.WriteEntry () mi avrebbe permesso di farlo. Ho provato a inserire l'output di XMLWriter in esso. Ciò ha inserito i dati nel registro eventi, ma sono visualizzati come binari anziché XML.

È stato utile?

Soluzione

A meno che non mi sbagli, per scrivere XML nel registro eventi Crimson / Vista dovrai creare e registrare un manifest che ti fornirà i canali e gli eventi appropriati. Quindi devi compilare il manifest usando Compilatore di messaggi (mc.exe) in Windows SDK .

Quindi, se si desidera accedere da C #, si desidera creare un provider gestito per racchiudere l'API di registrazione degli eventi. Questo è un po 'più difficile perché dovrai usare PInvoke per accedere all'API.

Ci sono post sul blog su come eseguire l'intero processo qui .

Altri suggerimenti

Hai un campione in Windows SDK (versione 6.1) chiamato EventProvider.
È un provider C # (ha bisogno di Vista e funziona) che utilizza la nuova API del registro eventi (AKA crimson).
Questo esempio mostra come aggiungere dati personalizzati (quantità di altre cose).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top