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 字符串 安全描述符定义语言 (SDDL) 访问描述符,用于控制对支持通道的日志文件的访问。 如果将 隔离 特性设置为 "应用程序" 或 "系统",则访问描述符将控制对该文件的读取访问权限, (将) 忽略写入权限。 如果将 隔离 特性设置为 "自定义",则访问描述符将控制对该通道的写入访问权限以及对该文件的读取访问权限。
chid 令牌 唯一标识提供程序定义或导入的通道列表中的通道的标识符。 在事件中引用通道时使用此值。 如果未指定通道标识符,请在事件定义中使用通道的名称来引用此通道。
enabled boolean 确定是否已启用通道。 如果设置为 true ,则允许日志记录到通道;否则 为 false。 默认值为 false (禁用日志记录) 。
因为 "调试" 和 "分析通道类型" 是高容量通道,所以仅当调查写入到通道的组件的问题时,才应启用通道;否则,通道应保持禁用状态。
每次启用调试和分析通道时,该服务都会从通道中清除事件。
隔离 字符串 隔离值定义通道的默认访问权限。 可以指定以下值之一:
  • 应用程序
  • 系统
  • 自定义
默认隔离是 Application应用程序的默认权限是使用 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 字符串

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

name anyURI

信道的名称。 该名称在提供程序使用的通道列表中必须是唯一的。 命名通道的约定是将通道类型附加到提供商的名称。 例如, 如果提供程序的名称是公司产品组件,并且您定义的是操作通道,则该名称将是公司产品-组件/操作。

通道名称必须少于255个字符,且不能包含以下字符: ">"、"<', '&', '"', '|', '\', ':', '`', '?', '*', or characters with codes less than 31.

符号 CSymbolType

用于在应用程序中引用通道的符号。 消息编译器 (MC.exe) 使用符号为编译器生成的标头文件中的通道创建一个常数。 如果未指定符号,则编译器将为您生成名称。

type 字符串

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

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

管理类型通道支持面向最终用户、管理员和支持人员的事件。 写入管理通道的事件应该有一个明确定义的解决方案,管理员可以在该解决方案中执行操作。管理事件的一个示例是在应用程序无法连接到打印机时发生的事件。 这些事件有很好的记录,或者有与之相关联的消息,可让读者直接说明修正该问题所需执行的操作。

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

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

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

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

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

UInt8Type

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

备注

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

要求

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

`