Partager via


Type complexe EventDefinitionType

Définit un événement que votre fournisseur peut écrire.

<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>

Attributs

Nom Type Description
channel token Identificateur qui identifie le canal vers lequel l’événement est écrit. Spécifiez un identificateur de canal de l’un des canaux que vous avez définis ou importés. Si le canal ne spécifie pas d’identificateur de canal, utilisez le nom du canal. Pour plus d’informations sur la définition ou l’importation d’un canal, consultez le type complexe ChannelListType .
Si vous ne spécifiez pas de canal, l’événement n’est pas écrit dans un canal. En règle générale, la seule raison de ne pas spécifier de canal est si vous écrivez des événements uniquement dans une session ETW. Pour plus d’informations, consultez Création d’une session ETW, consultez Contrôle des sessions de suivi d’événements.
mots clés QNameList Liste séparée par un espace de noms de mot clé qui identifient la catégorie d’événements à laquelle cet événement appartient. Spécifiez un nom mot clé dans la liste des mots clés que vous définissez. Pour plus d’informations sur la définition de mots clés, consultez le type complexe KeywordType .
Si vous ne spécifiez pas de mots clés, le descripteur d’événement contient un zéro pour les mots clés.
niveau QName Niveau de détail à utiliser lors de l’écriture de l’événement. Spécifiez le nom d’un niveau que vous avez défini dans le manifeste ou l’un des niveaux définis dans le fichier \Include\Winmeta.xml inclus dans le Kit de développement logiciel (SDK) Windows. Pour plus d’informations sur la définition d’un niveau, consultez le type complexe LevelType .
Si vous ne spécifiez pas de niveau, le descripteur d’événement contient un zéro pour le niveau.
Vous devez spécifier un niveau si le type de canal dans lequel l’événement est écrit est Administration ; le niveau doit être l’un des niveaux suivants définis dans Winmeata.xml :
  • win:Critical
  • win:Error
  • win:Warning
  • win:Informational

message strTableRef Message localisé pour l’événement. La chaîne de message fait référence à une chaîne localisée dans la section stringTable du manifeste.
Vous devez spécifier un message si le type de canal dans lequel l’événement est écrit est Administration.
notLogged boolean Détermine si le fournisseur consigne cet événement. Spécifiez true si le fournisseur consigne cet événement ; sinon, false. Utilisez cet attribut pour indiquer que le fournisseur ne journalisera plus cet événement au lieu de supprimer l’événement du manifeste. La conservation de l’événement dans le manifeste permet aux consommateurs de décoder les fichiers etl plus anciens qui incluent l’événement.
Windows Server 2008 et Windows Vista : Cet attribut n’est pas pris en charge dans les versions du compilateur de messages fournies avant la version Windows 7 du KIT de développement logiciel (SDK) Windows.
Opcode QName Nom d’un opcode qui identifie une opération au sein de la tâche. Spécifiez le nom d’un opcode que vous avez défini dans le manifeste ou l’un des opcodes définis dans Winmeta.xml. Pour plus d’informations sur la définition d’un opcode, consultez le type complexe OpcodeType .
Si la tâche que vous référencez contient des opcodes spécifiques aux tâches (locaux), vous pouvez spécifier l’un de ses opcodes spécifiques à la tâche ou un opcode défini au niveau du fournisseur (un opcode global). Si vous spécifiez un opcode global, la valeur de l’opcode global ne peut pas être identique à l’un des opcodes locaux pour la tâche.
Si vous référencez un opcode local, l’attribut de tâche doit référencer la tâche à laquelle appartient l’opcode local.
Si vous ne spécifiez pas d’opcode, le descripteur d’événement contiendra un zéro pour opcode.
symbole CSymbolType Symbole à utiliser pour référencer le descripteur d’événement pour cet événement dans votre application. Le compilateur de messages (MC.exe) utilise le symbole pour créer une constante pour le descripteur d’événement dans le fichier d’en-tête généré par le compilateur. Si vous ne spécifiez pas de symbole, le compilateur en génère un pour vous. Vous utilisez le descripteur lorsque vous appelez la fonction EventWrite pour écrire l’événement.
tâche QName Nom d’une tâche qui identifie le composant ou le sous-composant qui génère cet événement. Spécifiez le nom d’une tâche que vous avez définie dans le manifeste. Pour plus d’informations sur la définition d’une tâche, consultez le type complexe TaskType .
Si vous ne spécifiez pas de tâche, le descripteur d’événement contient un zéro pour la tâche.
template token Identificateur de modèle du modèle qui définit les éléments de données inclus dans cet événement. Spécifiez l’identificateur d’un modèle que vous avez défini dans le manifeste. Pour plus d’informations sur la définition d’un modèle, consultez le type complexe TemplateItemType .
value UInt32Type Identificateur de l'événement. L’identificateur doit être unique dans la liste des événements que vous définissez.
version unsignedByte Numéro de version d’un octet de la définition d’événement.

Notes

Si vous utilisez EvtFormatMessage pour mettre en forme la chaîne de message de l’événement (ou si vous utilisez la observateur d'événements pour afficher la chaîne de message), la chaîne de message peut contenir des chaînes d’insertion et toutes les chaînes de format que la fonction FormatMessage Win32 prend en charge. Les chaînes d’insertion sont limitées à %n ou %n!s! (par exemple, %1) où n est la référence à base unique des éléments de données définis dans le modèle de l’événement. La chaîne de message peut également contenir des chaînes d’insertion de paramètre au format %%n (par exemple, %%4). Le nombre maximal de chaînes d’insertion que le message peut contenir est 100.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2008 [applications de bureau uniquement]