Compartir a través de


Tipo complejo EventDefinitionType

Define un evento que el proveedor puede escribir.

<xs:complexType name="EventDefinitionType">
    <xs:simpleContent>
        <xs:extension
            base="string"
        >
            <xs:attribute name="value"
                type="UInt32Type"
                use="required"
             />
            <xs:attribute name="level"
                type="QName"
                use="optional"
             />
            <xs:attribute name="template"
                type="token"
                use="optional"
             />
            <xs:attribute name="channel"
                type="token"
                use="optional"
             />
            <xs:attribute name="keywords"
                type="QNameList"
                use="optional"
             />
            <xs:attribute name="task"
                type="QName"
                use="optional"
             />
            <xs:attribute name="opcode"
                type="QName"
                use="optional"
             />
            <xs:attribute name="symbol"
                type="CSymbolType"
                use="optional"
             />
            <xs:attribute name="version"
                type="unsignedByte"
                use="optional"
             />
            <xs:attribute name="message"
                type="strTableRef"
                use="optional"
             />
            <xs:attribute name="notLogged"
                type="boolean"
                use="optional"
                default="false"
             />
        </xs:extension>
    </xs:simpleContent>
</xs:complexType>

Atributos

Nombre Tipo Descripción
canal token Identificador que identifica el canal en el que se escribe el evento. Especifique un identificador de canal de uno de los canales que ha definido o importado. Si el canal no especifica un identificador de canal, use el nombre del canal. Para obtener más información sobre cómo definir o importar un canal, consulte el tipo complejo ChannelListType .
Si no especifica un canal, el evento no se escribe en un canal. Normalmente, la única razón para no especificar un canal es si está escribiendo eventos solo en una sesión ETW. Para obtener más información, consulte Creación de una sesión ETW, consulte Control de sesiones de seguimiento de eventos.
keywords QNameList Lista separada por espacios de nombres de palabra clave que identifican la categoría de eventos a los que pertenece este evento. Especifique un nombre de palabra clave de la lista de palabras clave que defina. Para obtener más información sobre cómo definir palabras clave, vea el tipo complejo KeywordType .
Si no especifica palabras clave, el descriptor de eventos contendrá un cero para las palabras clave.
Nivel QName Nivel de detalle que se va a usar al escribir el evento. Especifique el nombre de un nivel definido en el manifiesto o uno de los niveles definidos en el archivo \Include\Winmeta.xml que se incluye en Windows SDK. Para obtener más información sobre cómo definir un nivel, consulte el tipo complejo LevelType .
Si no especifica un nivel, el descriptor de eventos contendrá un cero para level.
Debe especificar un nivel si el tipo de canal en el que se escribe el evento es Administración; el nivel debe ser uno de los siguientes niveles definidos en Winmeata.xml:
  • win:Critical
  • win:Error
  • win:Warning
  • win:Informational

message strTableRef Mensaje localizado para el evento. La cadena de mensaje hace referencia a una cadena localizada en la sección stringTable del manifiesto.
Debe especificar un mensaje si el tipo de canal en el que se escribe el evento es Administración.
notLogged boolean Determina si el proveedor registra este evento. Especifique true si el proveedor registra este evento; de lo contrario, false. Use este atributo para indicar que el proveedor ya no registra este evento en lugar de quitar el evento del manifiesto. Conservar el evento en el manifiesto permitirá a los consumidores descodificar archivos etl antiguos que incluyan el evento.
Windows Server 2008 y Windows Vista: Este atributo no se admite en versiones del compilador de mensajes que se incluyeron antes de la versión de Windows 7 de Windows SDK.
Opcode QName Nombre de un código de operación que identifica una operación dentro de la tarea. Especifique el nombre de un código de operación que definió en el manifiesto o uno de los códigos de operación definidos en Winmeta.xml. Para obtener más información sobre cómo definir un código de operación, consulte el tipo complejo OpcodeType .
Si la tarea a la que hace referencia contiene códigos de operación específicos de la tarea (local), puede especificar uno de sus códigos de operación específicos de la tarea o un código de operación definido en el nivel de proveedor (un código de operación global). Si especifica un código de operación global, el valor del código de operación global no puede ser el mismo que uno de los códigos de operación locales para la tarea.
Si hace referencia a un código de operación local, el atributo de tarea debe hacer referencia a la tarea a la que pertenece el código de operación local.
Si no especifica un código de operación, el descriptor de eventos contendrá un cero para opcode.
símbolo CSymbolType Símbolo que se va a usar para hacer referencia al descriptor de eventos de este evento en la aplicación. El compilador de mensajes (MC.exe) usa el símbolo para crear una constante para el descriptor de eventos en el archivo de encabezado que genera el compilador. Si no especifica un símbolo, el compilador genera uno automáticamente. El descriptor se usa al llamar a la función EventWrite para escribir el evento.
task QName Nombre de una tarea que identifica el componente o subcomponente que genera este evento. Especifique el nombre de una tarea que definió en el manifiesto. Para obtener más información sobre cómo definir una tarea, vea el tipo complejo TaskType .
Si no especifica una tarea, el descriptor de eventos contendrá un cero para la tarea.
template token Identificador de plantilla de la plantilla que define los elementos de datos que incluye este evento. Especifique el identificador de una plantilla que definió en el manifiesto. Para obtener más información sobre cómo definir una plantilla, consulte el tipo complejo TemplateItemType .
value UInt32Type Identificador de evento. El identificador debe ser único dentro de la lista de eventos que defina.
version unsignedByte Número de versión de un byte de la definición de evento.

Comentarios

Si usa EvtFormatMessage para dar formato a la cadena de mensaje del evento (o usa el Visor de eventos para ver la cadena de mensaje), la cadena de mensaje puede contener cadenas de inserción y cualquiera de las cadenas de formato que admite la función FormatMessage de Win32. Las cadenas de inserción se limitan a %n o %n!s! (por ejemplo, %1) donde n es la referencia basada en uno los elementos de datos definidos en la plantilla del evento. La cadena de mensaje también puede contener cadenas de inserción de parámetros con el formato %%n (por ejemplo, %%4). El número máximo de cadenas de inserción que el mensaje puede contener es 100.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2008 [solo aplicaciones de escritorio]