Pregunta

¿Cómo puedo escribir datos XML en el Registro de eventos de Windows?

He notado que hay una manera de insertar XML en el registro de eventos de Windows (y no simplemente rellenándolo en la descripción). El efecto es que obtiene solo su mensaje de descripción en la vista General en Windows Vista. Puede ver sus datos XML en la vista Detalles .

Si selecciona el botón de opción Friendly , aparece debajo del nodo Event Data . Si selecciona la vista XML, podrá ver el XML.

Pensé que la matriz de bytes rawData en el método EventLog.WriteEntry () me permitiría hacer esto. Intenté meter la salida de XMLWriter en él. Eso coloca datos en el registro de eventos, pero se ve como binario en lugar de XML.

¿Fue útil?

Solución

A menos que me equivoque, para escribir xml en el registro de eventos de Crimson / Vista, deberá crear y registrar un manifiesto que le proporcionará los canales y eventos apropiados. Luego debe compilar el manifiesto utilizando Compilador de mensajes (mc.exe) en WindowsSDK .

Luego, si desea iniciar sesión desde C #, querrá crear un proveedor administrado para ajustar la API de registro de eventos. Esto es un poco más difícil porque tendrás que usar PInvoke para acceder a la API.

Hay publicaciones de blog sobre cómo hacer todo este proceso aquí .

Otros consejos

Tiene una muestra en Windows SDK (ver 6.1) llamado EventProvider.
Es un proveedor de C # (necesita Vista y funciona) que utiliza la nueva API de registro de eventos (también conocido como carmesí).
Este ejemplo muestra cómo agregar datos personalizados (cantidad de otras cosas).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top