Komplexer EventDefinitionType-Typ
Definiert ein Ereignis, das Ihr Anbieter schreiben kann.
<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>
Attributes
| Name | type | BESCHREIBUNG |
|---|---|---|
| Kanal | token | Ein Bezeichner, der den Kanal identifiziert, in den das Ereignis geschrieben wird. Geben Sie einen Kanalbezeichner für einen der Kanäle an, die Sie definiert oder importiert haben. Wenn der Kanal keinen Kanalbezeichner angibt, verwenden Sie den Namen des Kanals. Ausführliche Informationen zum Definieren oder Importieren eines Kanals finden Sie im komplexen ChannelListType-Typ. Wenn Sie keinen Kanal angeben, wird das Ereignis nicht in einen Kanal geschrieben. In der Regel ist der einzige Grund, keinen Kanal anzugeben, wenn Sie Ereignisse nur in eine ETW-Sitzung schreiben. Weitere Informationen finden Sie unter Erstellen einer ETW-Sitzung unter Steuern von Ereignisablaufverfolgungssitzungen. |
| keywords | QNameList | Eine durch Leerzeichen getrennte Liste von Schlüsselwortnamen, die die Kategorie der Ereignisse identifizieren, zu denen dieses Ereignis gehört. Geben Sie einen Schlüsselwortnamen aus der Liste der von Ihnen definierten Schlüsselwörter an. Ausführliche Informationen zum Definieren von Schlüsselwörtern finden Sie im komplexen KeywordType-Typ. Wenn Sie keine Schlüsselwörter angeben, enthält der Ereignisdeskriptor 0 (null) für Schlüsselwörter. |
| Level | QName | Der Ausführlichkeitsgrad, der beim Schreiben des Ereignisses verwendet werden soll. Geben Sie den Namen einer Ebene an, die Sie im Manifest definiert haben, oder eine der Ebenen, die in der \Include\Winmeta.xml-Datei definiert sind, die im Windows SDK enthalten ist. Ausführliche Informationen zum Definieren einer Ebene finden Sie unter Komplexer LevelType-Typ. Wenn Sie keine Ebene angeben, enthält der Ereignisdeskriptor eine Null für level. Sie müssen eine Ebene angeben, wenn der Kanaltyp, in den das Ereignis geschrieben wird, Admin ist. die Ebene muss eine der folgenden Ebenen sein, die in Winmeata.xml definiert sind:
|
| message | strTableRef | Die lokalisierte Nachricht für das Ereignis. Die Meldungszeichenfolge verweist auf eine lokalisierte Zeichenfolge im StringTable-Abschnitt des Manifests. Sie müssen eine Meldung angeben, wenn der Kanaltyp, in den das Ereignis geschrieben wird, Admin ist. |
| nicht protokolliert | boolean | Bestimmt, ob der Anbieter dieses Ereignis protokolliert. Geben Sie true an, wenn der Anbieter dieses Ereignis protokolliert. andernfalls FALSE. Verwenden Sie dieses Attribut, um anzugeben, dass der Anbieter dieses Ereignis nicht mehr protokolliert, anstatt das Ereignis aus dem Manifest zu entfernen. Wenn das Ereignis im Manifest beibehalten wird, können Consumer ältere etl-Dateien decodieren, die das Ereignis enthalten. Windows Server 2008 und Windows Vista: Dieses Attribut wird nicht in Versionen des Nachrichtencompiler unterstützt, die vor Windows 7 Version des Windows SDK ausgeliefert wurden. |
| Opcode | QName | Der Name eines Opcodes, der einen Vorgang innerhalb der Aufgabe identifiziert. Geben Sie den Namen eines Opcodes an, den Sie im Manifest definiert haben, oder einen der in Winmeta.xml definierten Opcodes. Ausführliche Informationen zum Definieren eines Opcodes finden Sie unter Dem komplexen OpcodeType-Typ. Wenn die Aufgabe, auf die Sie verweisen, taskspezifische (lokale) Opcodes enthält, können Sie einen der aufgabenspezifischen Opcodes oder einen opcode angeben, der auf Anbieterebene definiert ist (ein globaler Opcode). Wenn Sie einen globalen Opcode angeben, kann der Wert des globalen Opcodes nicht mit einem der lokalen Opcodes für den Task identisch sein. Wenn Sie auf einen lokalen Opcode verweisen, muss das Aufgabenattribut auf die Aufgabe verweisen, zu der der lokale Opcode gehört. Wenn Sie keinen Opcode angeben, enthält der Ereignisdeskriptor eine Null für opcode. |
| Symbol | CSymbolType | Das Symbol, das verwendet werden soll, um auf den Ereignisdeskriptor für dieses Ereignis in Ihrer Anwendung zu verweisen. Der Nachrichtencompiler (MC.exe) verwendet das Symbol, um eine Konstante für den Ereignisdeskriptor in der Headerdatei zu erstellen, die der Compiler generiert. Wenn Sie kein Symbol angeben, generiert der Compiler ein Symbol für Sie. Sie verwenden den Deskriptor, wenn Sie die EventWrite-Funktion aufrufen, um das Ereignis zu schreiben. |
| task | QName | Der Name einer Aufgabe, die die Komponente oder Unterkomponente identifiziert, die dieses Ereignis generiert. Geben Sie den Namen einer Aufgabe an, die Sie im Manifest definiert haben. Ausführliche Informationen zum Definieren einer Aufgabe finden Sie unter Komplexer TaskType-Typ. Wenn Sie keine Aufgabe angeben, enthält der Ereignisdeskriptor eine 0 (null) für die Aufgabe. |
| Vorlage | token | Der Vorlagenbezeichner der Vorlage, die die Datenelemente definiert, die dieses Ereignis enthält. Geben Sie den Bezeichner einer Vorlage an, die Sie im Manifest definiert haben. Ausführliche Informationen zum Definieren einer Vorlage finden Sie unter Dem komplexen TemplateItemType-Typ. |
| Wert | UInt32Type | Der Ereignisbezeichner. Der Bezeichner muss innerhalb der Liste der von Ihnen definierten Ereignisse eindeutig sein. |
| version | unsignedByte | Eine 1-Byte-Versionsnummer der Ereignisdefinition. |
Hinweise
Wenn Sie EvtFormatMessage verwenden, um die Nachrichtenzeichenfolge für das Ereignis zu formatieren (oder die Ereignisanzeige zum Anzeigen der Meldungszeichenfolge verwenden), kann die Nachrichtenzeichenfolge Einfügezeichenfolgen und beliebige Formatzeichenfolgen enthalten, die von der Win32 FormatMessage-Funktion unterstützt werden. Die Einfügezeichenfolgen sind auf %n oder %n!s! beschränkt. (z.B. %1), wobei n der 1-basierte Verweis auf die in der Vorlage des Ereignisses definierten Datenelemente ist. Die Meldungszeichenfolge kann auch Parametereinfügungszeichenfolgen im Format %%n (z.B. %%4) enthalten. Die maximale Anzahl von Einfügezeichenfolgen, die die Nachricht enthalten kann, beträgt 100.
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows [Nur Vista-Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows Nur Server [ 2008-Desktop-Apps] |