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中定义的以下级别之一:
  • win:Critical
  • win:Error
  • win:Warning
  • win:Informational

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 [仅限桌面应用]