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 | Typ | 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. Ausführliche Informationen finden Sie unter Erstellen einer ETW-Sitzung unter Steuern von Ereignisablaufverfolgungssitzungen. |
keywords | QNameList | Eine durch Leerzeichen getrennte Liste von Schlüsselwort (keyword) Namen, die die Kategorie von Ereignissen identifizieren, zu denen dieses Ereignis gehört. Geben Sie einen Schlüsselwort (keyword) Namen 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 eine Null für Schlüsselwörter. |
Level | QName | Die Ausführlichkeitsebene, die 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 im komplexen LevelType-Typ . Wenn Sie keine Ebene angeben, enthält der Ereignisdeskriptor eine Null für ebene. 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 Nachrichtenzeichenfolge verweist auf eine lokalisierte Zeichenfolge im Abschnitt stringTable des Manifests. Sie müssen eine Nachricht angeben, wenn der Kanaltyp, in den das Ereignis geschrieben wird, Admin ist. |
notLogged | 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 in Versionen des Nachrichtencompilers nicht unterstützt, die vor der 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 oder einem der in Winmeta.xml definierten Opcodes definiert haben. Ausführliche Informationen zum Definieren eines Opcode finden Sie im komplexen OpcodeType-Typ . Wenn die Aufgabe, auf die Sie verweisen, aufgabenspezifische (lokale) Opcodes enthält, können Sie einen der aufgabenspezifischen Opcodes oder einen auf Anbieterebene definierten Opcode (globaler Opcode) angeben. 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 task-Attribut 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, mit dem auf den Ereignisdeskriptor für dieses Ereignis in Ihrer Anwendung verwiesen werden soll. Der Nachrichtencompiler (MC.exe) verwendet das Symbol, um eine Konstante für den Ereignisdeskriptor in der Vom Compiler generierten Headerdatei zu erstellen. Wenn Sie kein Symbol angeben, generiert der Compiler eines 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 im komplexen TaskType-Typ . Wenn Sie keine Aufgabe angeben, enthält der Ereignisdeskriptor eine Null für 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 im komplexen TemplateItemType-Typ . |
value | UInt32Type | Der Ereignisbezeichner. Der Bezeichner muss innerhalb der Von Ihnen definierten Liste der Ereignisse eindeutig sein. |
version | unsignedByte | Eine Ein-Byte-Versionsnummer der Ereignisdefinition. |
Bemerkungen
Wenn Sie EvtFormatMessage verwenden, um die Nachrichtenzeichenfolge für das Ereignis zu formatieren (oder die Ereignisanzeige zum Anzeigen der Nachrichtenzeichenfolge verwenden), kann die Nachrichtenzeichenfolge Einfügezeichenfolgen und alle Formatzeichenfolgen enthalten, die die Win32 FormatMessage-Funktion unterstützt. Die Einfügezeichenfolgen sind auf %n oder %n!s beschränkt! (z. B. %1), wobei n der one-based Verweis auf die in der Ereignisvorlage definierten Datenelemente ist. Die Nachrichtenzeichenfolge kann auch Parametereinfügungszeichenfolgen in der Form %%n (z. B. %%4) enthalten. Die maximale Anzahl von Einfügezeichenfolgen, die die Nachricht enthalten kann, ist 100.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2008 [nur Desktop-Apps] |