EventDefinitionType 复杂类型
定义提供程序可以写入的事件。
<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>
属性
名称 | 类型 | 说明 |
---|---|---|
channel | 令牌 | 标识写入事件的通道的标识符。 指定已定义或导入的通道之一的通道标识符。 如果通道未指定通道标识符,请使用通道的名称。 有关定义或导入通道的详细信息,请参阅 ChannelListType 复杂类型。 如果未指定通道,则事件不会写入通道。 通常,不指定通道的唯一原因是仅将事件写入 ETW 会话。 有关详细信息,请参阅创建 ETW 会话,请参阅 控制事件跟踪会话。 |
关键字 | QNameList | 以空格分隔的关键字 (keyword) 名称列表,用于标识此事件所属的事件类别。 从定义的关键字列表中指定关键字 (keyword) 名称。 有关定义关键字的详细信息,请参阅 KeywordType 复杂类型。 如果未指定关键字,则事件描述符将包含关键字的零。 |
级别 | QName | 写入事件时使用的详细级别。 指定清单中定义的级别的名称,或 Windows SDK 中包含的\Include\Winmeta.xml文件中定义的级别之一。 有关定义级别的详细信息,请参阅 LevelType 复杂类型。 如果未指定级别,则事件描述符将包含 level 的零。 如果写入事件的通道类型管理员,则必须指定级别;该级别必须是Winmeata.xml中定义的以下级别之一:
|
message | strTableRef | 事件的本地化消息。 消息字符串引用清单的 stringTable 节中的本地化字符串。 如果写入事件的通道类型管理员,则必须指定消息。 |
notLogged | boolean | 确定提供程序是否记录此事件。 如果提供程序记录此事件,则指定 true;否则为 false。 使用此属性可指示提供程序不再记录此事件,而不是从清单中删除事件。 在清单中保留事件将允许使用者解码包含事件的旧 etl 文件。 Windows Server 2008 和 Windows Vista: 在 Windows 7 版本 Windows SDK 之前提供的消息编译器版本中不支持此属性。 |
opcode | QName | 用于标识任务内操作的操作码的名称。 指定在清单中定义的操作码的名称或在 Winmeta.xml 中定义的操作码之一。 有关定义操作码的详细信息,请参阅 OpcodeType 复杂类型。 如果引用的任务包含特定于任务 (本地) 操作码,则可以指定其一个特定于任务的操作码,或者在提供程序级别 (全局操作码) 指定一个操作码。 如果指定全局操作码,则全局操作码的值不能与任务的本地操作码之一相同。 如果引用本地操作码,则任务属性必须引用本地操作码所属的任务。 如果未指定操作码,则事件描述符将包含 opcode 的零。 |
符号 | CSymbolType | 用于在应用程序中引用此事件的事件描述符的符号。
消息编译器 (MC.exe) 使用 符号为编译器生成的头文件中的事件描述符创建常量。 如果未指定符号,编译器将生成一个符号。 调用 EventWrite 函数写入事件时,请使用描述符。 |
task | QName | 标识生成此事件的组件或子组件的任务的名称。 指定在清单中定义的任务的名称。 有关定义任务的详细信息,请参阅 TaskType 复杂类型。 如果未指定任务,事件描述符将包含任务的零。 |
template | 令牌 | 定义此事件包含的数据项的模板的模板标识符。 指定在清单中定义的模板的标识符。 有关定义模板的详细信息,请参阅 TemplateItemType 复杂类型。 |
value | UInt32Type | 事件标识符。 标识符在定义的事件列表中必须是唯一的。 |
版本 | unsignedByte | 事件定义的单字节版本号。 |
备注
如果使用 EvtFormatMessage 设置事件 (的消息字符串的格式或使用事件查看器查看消息字符串) ,则消息字符串可以包含插入字符串和 Win32 FormatMessage 函数支持的任何格式字符串。 插入字符串限制为 %n 或 %n!s! 例如, (%1) 其中 n 是事件模板中定义的数据项的从 1 开始的引用。 消息字符串还可以包含 %%n (格式的参数插入字符串,例如 %%4) 。 消息可以包含的最大插入字符串数为 100。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2008 [仅限桌面应用] |