ChannelType 复杂类型

定义提供程序可以记录事件的通道。

<xs:complexType name="ChannelType"
    mixed="true"
>
    <xs:sequence>
        <xs:element name="logging"
            type="ChannelLoggingType"
            minOccurs="0"
         />
        <xs:element name="publishing"
            type="ChannelPublishingType"
            minOccurs="0"
         />
    </xs:sequence>
    <xs:attribute name="name"
        type="anyURI"
        use="required"
     />
    <xs:attribute name="chid"
        type="token"
        use="optional"
     />
    <xs:attribute name="type"
        type="string"
        use="required"
     />
    <xs:attribute name="symbol"
        type="CSymbolType"
        use="optional"
     />
    <xs:attribute name="access"
        type="string"
        use="optional"
     />
    <xs:attribute name="isolation"
        type="string"
        use="optional"
     />
    <xs:attribute name="enabled"
        type="boolean"
        default="false"
        use="optional"
     />
    <xs:attribute name="value"
        type="UInt8Type"
        use="optional"
     />
    <xs:attribute name="message"
        type="string"
        use="optional"
     />
</xs:complexType>

子元素

元素 类型 说明
测 井 ChannelLoggingType 定义用于备份通道的日志文件的属性,例如其容量以及日志文件是连续还是循环。
出版 ChannelPublishingType 定义通道使用的会话的日志记录属性。 只有使用自定义隔离的调试和分析通道可以为其会话指定日志记录属性。

属性

名称 类型 说明
access string 安全描述符定义语言 (SDDL) 访问描述符,用于控制对回通道的日志文件的访问。 如果 隔离 属性设置为应用程序或系统,则访问描述符控制对文件的读取访问权限, (写入权限将被忽略) 。 如果 隔离 属性设置为“自定义”,则访问描述符控制对通道的写入访问权限和对文件的读取访问权限。
chid 令牌 唯一标识提供程序定义或导入的通道列表中的通道的标识符。 在事件中引用通道时使用此值。 如果未指定通道标识符,请使用通道的名称在事件定义中引用此通道。
enabled boolean 确定通道是否已启用。 设置为 true 以允许日志记录到通道;否则为 false。 ) 禁用默认为 false (日志记录。
由于调试和分析通道类型为大容量通道,因此仅当调查写入该通道的组件的问题时,才应启用通道;否则,通道应保持禁用状态。
每次启用调试和分析通道时,服务都会清除通道中的事件。
隔离 string 隔离值定义通道的默认访问权限。 可以指定以下值之一:
  • 应用程序
  • 系统
  • 自定义
默认隔离为 应用程序应用程序的默认权限是使用 SDDL) 显示的 (:
文本
            L"O:BAG:SYD:"
            L"(A;;0xf0007;;;SY)"                // local system               (read, write, clear)
            L"(A;;0x7;;;BA)"                    // built-in admins            (read, write, clear)
            L"(A;;0x7;;;SO)"                    // server operators           (read, write, clear)
            L"(A;;0x3;;;IU)"                    // INTERACTIVE LOGON          (read, write)
            L"(A;;0x3;;;SU)"                    // SERVICES LOGON             (read, write)
            L"(A;;0x3;;;S-1-5-3)"               // BATCH LOGON                (read, write)
            L"(A;;0x3;;;S-1-5-33)"              // write restricted service   (read, write)
            L"(A;;0x1;;;S-1-5-32-573)";         // event log readers          (read) 

系统的默认 权限是使用 SDDL) 显示的 (:

文本
            L"O:BAG:SYD:"
            L"(A;;0xf0007;;;SY)"                // local system             (read, write, clear)
            L"(A;;0x7;;;BA)"                    // built-in admins          (read, write, clear)
            L"(A;;0x3;;;BO)"                    // backup operators         (read, write)
            L"(A;;0x5;;;SO)"                    // server operators         (read, clear) 
            L"(A;;0x1;;;IU)"                    // INTERACTIVE LOGON        (read)
            L"(A;;0x3;;;SU)"                    // SERVICES LOGON           (read, write)
            L"(A;;0x1;;;S-1-5-3)"               // BATCH LOGON              (read)
            L"(A;;0x2;;;S-1-5-33)"              // write restricted service (write)
            L"(A;;0x1;;;S-1-5-32-573)";         // event log readers        (read)

自定义隔离的默认权限与应用程序相同。

指定 应用程序 隔离的通道使用相同的 ETW 会话。 系统 隔离也是如此 。 但是,如果指定 自定义 隔离,该服务将为通道创建单独的 ETW 会话。 使用 自定义 隔离可以控制通道和后盾文件的访问权限。 由于只有 64 个 ETW 会话可用,因此应限制使用 自定义 隔离。

message string

通道的本地化显示名称。 消息字符串引用清单的 stringTable 部分中的本地化字符串。

name anyURI

信道的名称。 该名称在提供程序使用的通道列表中必须是唯一的。 命名通道的约定是将通道类型追加到提供程序的名称。 例如, 如果提供商的名称是 Company-Product-Component,并且你正在定义操作通道,则名称将是 Company-Product-Component/Operational。

通道名称必须小于 255 个字符,并且不能包含以下字符:“>”、“<”、“&”、“”、“|”、“\”、“:”、“?”、“*”或代码小于 31 的字符。

符号 CSymbolType

用于引用应用程序中通道的符号。 消息编译器 (MC.exe) 使用符号为编译器生成的头文件中的通道创建常量。 如果未指定符号,编译器会为你生成名称。

type 字符串

标识通道的类型。 可以指定以下类型之一:

  • 管理员
  • 可运行
  • 分析
  • 调试

管理员类型通道支持面向最终用户、管理员和支持人员的事件。 写入管理员通道的事件应具有一个定义完善的解决方案,管理员可以对其执行操作。管理员事件的一个示例是应用程序无法连接到打印机时发生的事件。 这些事件记录良好,或者有一条消息与它们关联,该消息为读者提供必须执行的操作的直接说明,以纠正问题。

操作类型通道支持用于分析和诊断问题或事件的事件。 它们可用于根据问题或发生的事件触发工具或任务。 例如,在系统中添加或移除打印机时发生的事件就是一个操作事件。

分析类型通道支持在大容量中发布的事件。 它们描述程序操作并指示用户无法处理的问题。

调试类型通道支持仅由开发人员用来诊断调试问题的事件。

默认情况下,分析和调试通道处于禁用状态,仅应启用以确定问题的原因。 例如,可以启用通道,运行导致问题的方案,禁用通道,然后查询事件。 请注意,启用通道会清除现有事件的通道。 如果分析和调试通道使用循环支持文件,则必须禁用通道来查询其事件。

所有管理员通道使用相同的 ETW 会话;操作通道也是如此。 但是,每个分析和调试通道都使用单独的 ETW 会话,这是仅在需要时启用这些通道类型的另一个原因, (有有限数量的 ETW 会话可用) 。

UInt8Type

一个数字标识符,用于唯一标识提供程序定义的通道列表中的通道。 如果未指定,消息编译器会分配值。

备注

如果通道的名称遵循通道命名约定,则Windows 事件查看器将使用反斜杠后面的字符串列出通道。 例如,如果通道名称为 Company-Product-Component/Operational,则事件查看器将在 Company-Product-Component 提供程序下将通道列为 Operational。 否则,整个通道名称将显示在提供程序下。 如果提供,则使用本地化的显示名称。

要求

要求
最低受支持的客户端
Windows Vista [仅限桌面应用]
最低受支持的服务器
Windows Server 2008 [仅限桌面应用]

`