TraceLogging USB4™ 断开事件

USB4 主机路由器和设备路由器驱动程序发出 TraceLogging 事件以报告域的状态。 这些事件称为“断开事件”,当为以下跟踪提供程序启用 ETW 跟踪会话时,驱动程序将报告这些事件。 这些事件通过一系列事件描述域。 发出断开事件后,USB4 驱动程序将继续报告有关路由器枚举和删除的事件。

ETW 提供程序名称:“Microsoft.Windows.USB.USB4.HostRouter”ETW 提供程序 GUID:{575BA31F-2B45-58C2-64FD-F5DC757B6137}

ETW 提供程序名称:“Microsoft.Windows.USB.USB4.DeviceRouter”ETW 提供程序 GUID:{AE795D36-2B11-5EFB-C7E0-5D552BC55D6C}

下表描述了一些感兴趣的 TraceLogging 事件。

  1. RundownStart 和 RundownComplete 事件是标记事件,表示断开事件的开始和结束。 它们不带有任何事件属性或有效负载。

  2. DeviceRouterInformation 事件

    properties 值类型 说明
    IsRundownEvent 布尔 如果它是一个断开时间,则为 True。 如果它报告新设备路由器,则为 False。
    DomainID HexUInt32 此设备路由器的域 ID。
    TopologyID UInt8FixedArray(7) 此设备路由器的 7 字节拓扑 ID。
    DeviceInstancePath WideString 设备路由器的 PnP 分配的设备实例路径。

    它可用于匹配统一设备属性模型中的 PnP API 返回的 DEVPKEY_Device_InstanceId 属性数据。
    VendorId HexUInt16 供应商 ID
    ProductId HexUInt16 产品 ID
    AsciiVendorName 字符串 采用 ASCII 的供应商名称。 相关定义请参见 USB4 DROM 规范的“ASCII 供应商名称条目”章节。
    AsciiModelName 字符串 采用 ASCII 的模型名称。 相关定义请参见 USB4 DROM 规范的“ASCII 模型名称条目”章节。
    DeviceID HexUInt16 对于 Thunderbolt™ 3,它是 Thunderbolt™ 3 标头部分中的“VendorId”字段。
    对于 USB4,它是产品描述符项中的“idVendor”字段。
    ModelID HexUInt16 对于 Thunderbolt™ 3,它是 Thunderbolt™ 3 标头部分中的“Model ID”字段。
    对于 USB4,它是产品描述符项中的“idProduct”字段。
    UUID HexUInt64 设备 UUID。 对于 USB4,它是 USB4 规范定义的 ROUTER_CS_7 和 ROUTER_CS_8 寄存器中的 UUID。
    DeviceFirmwareVersion HexUInt32 设备固件版本。
  3. PortInformation 事件

    properties 值类型 说明
    IsRundownEvent 布尔 如果它是一个断开时间,则为 True。 如果它报告新设备路由器,则为 False。
    IsNewDeviceRouter 布尔 如果报告新设备路由器的端口,则为 True。 如果报告端口状态更改,则为 False。 对于断开事件,它也为 false。
    DomainID HexUInt32 此设备路由器的域 ID。
    TopologyID UInt8FixedArray(7) 此设备路由器的 7 字节拓扑 ID。
    IsDFP 布尔 如果关联的端口为 DFP,则为 True。 如果此端口为 UFP,则为 False。
    Lane0AdapterNumber UInt8 适配器配置空间寄存器 ADP_CS_3 中的“适配器编号”。
    Lane1AdapterNumber UInt8 适配器配置空间寄存器 ADP_CS_3 中的“适配器编号”。
    DownstreamRouterDomainID HexUInt32 下游设备路由器的域 ID。
    DownstreamRouterTopologyID UInt8FixedArray(7) 下游设备路由器的 7 字节拓扑 ID。 如果未在下游连接任何设备路由器,则全部是零。
    SupportedLinkSpeeds HexUInt8 通道适配器配置容量寄存器 LANE_ADP_CS_0[19..16]“支持的链路速度”的值。
    SupportedLinkWidths HexUInt8 通道适配器配置容量寄存器 LANE_ADP_CS_0[25..20]“支持的链路宽度”的值。
    CurrentLinkSpeed HexUInt8 通道适配器配置容量寄存器 LANE_ADP_CS_1[19..16]“当前链路速度”的值。
    NegotiatedLinkWidth HexUInt8 通道适配器配置容量寄存器 LANE_ADP_CS_1[25..20]“协商的链路宽度”的值。
    TargetLinkSpeed HexUInt8 通道适配器配置容量寄存器 LANE_ADP_CS_1[3..0]“目标链路速度”的值。
    TargetLinkWidth HexUInt8 通道适配器配置容量寄存器 LANE_ADP_CS_1[9..4]“目标链路宽度”的值。
    AdapterState HexUInt8 通道适配器配置容量寄存器 LANE_ADP_CS_1[29..26]“适配器状态”的值。
    LaneBonded 布尔 指示是否绑定此端口的通道。
    CableUsbVersion 布尔 端口容量寄存器 PORT_CS_18[7..0]“电缆 USB 版本”的值。
    LinkCLxSupport 布尔 端口容量寄存器 PORT_CS_18[10]“链路 CLx 支持 (LCL)”的值。
    Tbt3CompatibleMode 布尔 端口容量寄存器 PORT_CS_18[9]“TBT3 兼容模式 (TCM)”的值。
  4. PCIeAdapterInformation 事件

    properties 值类型 说明
    IsRundownEvent 布尔 如果它是一个断开时间,则为 True。 如果它报告新设备路由器,则为 False。
    IsNewDeviceRouter 布尔 如果报告新设备路由器的端口,则为 True。 如果报告端口状态更改,则为 False。 对于断开事件,它也为 false。
    DomainID HexUInt32 此设备路由器的域 ID。
    TopologyID UInt8FixedArray(7) 此设备路由器的 7 字节拓扑 ID。
    AdapterNumber Uint8 适配器配置空间寄存器 ADP_CS_3 中的“适配器编号”。
    AdapterType HexUInt32 适配器配置空间寄存器ADP_CS_2[23..0]。 它合并了“适配器类型协议”、“适配器类型版本”和“适配器类型子类型”的值。

    规范参考:“表 8-9。 适配器配置空间基本属性”和“表 8-10. 适配器类型”
    IsDownstream 布尔 如果它是下游 PCIe 适配器,为 True。 如果它是上游,则为 False。
    IsTunneled 布尔 如果协议流量通过隧道传输,则为 True。
  5. DPAdapterInformation 事件

    properties 值类型 说明
    IsRundownEvent 布尔 如果它是一个断开时间,则为 True。 如果它报告新设备路由器,则为 False。
    IsNewDeviceRouter 布尔 如果报告新设备路由器的端口,则为 True。 如果报告端口状态更改,则为 False。 对于断开事件,它也为 false。
    DomainID HexUInt32 此设备路由器的域 ID。
    TopologyID Uint8FixedArray(7) 此设备路由器的 7 字节拓扑 ID。
    AdapterNumber Uint8 适配器配置空间寄存器 ADP_CS_3 中的“适配器编号”。
    AdapterType HexUInt32 适配器配置空间寄存器ADP_CS_2[23..0]。 它合并了“适配器类型协议”、“适配器类型版本”和“适配器类型子类型”的值。

    规范参考:“表 8-9。 适配器配置空间基本属性”和“表 8-10. 适配器类型”
    IsDPOut 布尔 如果它是 DP Out 适配器,则为 True。 如果它是 DP In,则为 False。
    IsTunneled 布尔 如果协议流量通过隧道传输,则为 True。
    MaximalLinkRate HexUInt8 DP 适配器配置空间寄存器 DP_COMMON_CAP[11..8]“最大链路速率”的值。
    MaximalLinkCount HexUInt8 DP 适配器配置空间寄存器 DP_COMMON_CAP[14..12]“最大链路计数”的值。
  6. USB3AdapterInformation 事件

    properties 值类型 说明
    IsRundownEvent 布尔 如果它是一个断开时间,则为 True。 如果它报告新设备路由器,则为 False。
    IsNewDeviceRouter 布尔 如果报告新设备路由器的端口,则为 True。 如果报告端口状态更改,则为 False。 对于断开事件,它也为 false。
    DomainID HexUInt32 此设备路由器的域 ID。
    TopologyID UInt8FixedArray(7) 此设备路由器的 7 字节拓扑 ID。
    AdapterNumber UInt8 适配器配置空间寄存器 ADP_CS_3 中的“适配器编号”。
    AdapterType HexUInt32 适配器配置空间寄存器ADP_CS_2[23..0]。 它合并了“适配器类型协议”、“适配器类型版本”和“适配器类型子类型”的值。

    规范参考:“表 8-9。 适配器配置空间基本属性”和“表 8-10. 适配器类型”
    IsDownstream 布尔 如果它是下游 USB 3.x 适配器,则为 True。 如果它是上游,则为 False。
    IsTunneled 布尔 如果协议流量通过隧道传输,则为 True。
    ActualLinkRate HexUInt8 USB 3.x 适配器配置空间寄存器 ADP_USB3_CS_4[6..0]“实际链路速率”的值。
  7. OtherAdapterInformation 事件

    properties 值类型 说明
    IsRundownEvent 布尔 如果它是一个断开时间,则为 True。 如果它报告新设备路由器,则为 False。
    IsNewDeviceRouter 布尔 如果报告新设备路由器的端口,则为 True。 如果报告端口状态更改,则为 False。 对于断开事件,它也为 false。
    DomainID HexUInt32 此设备路由器的域 ID。
    TopologyID UInt8FixedArray(7) 此设备路由器的 7 字节拓扑 ID。
    AdapterNumber UInt8 适配器配置空间寄存器 ADP_CS_3 中的“适配器编号”。
    AdapterType HexUInt32 适配器配置空间寄存器ADP_CS_2[23..0]。 它合并了“适配器类型协议”、“适配器类型版本”和“适配器类型子类型”的值。

    规范参考:“表 8-9。 适配器配置空间基本属性”和“表 8-10. 适配器类型”
  8. InterDomainPeerInformation 事件

    properties 值类型 说明
    IsRundownEvent 布尔 如果它是一个断开时间,则为 True。
    DomainID HexUInt32 此设备路由器的域 ID。
    TopologyID UInt8FixedArray(7) 此设备路由器的 7 字节拓扑 ID。
    Lane0AdapterNumber UInt8 本地端口的通道 0 适配器编号。 与“PortInformation”事件的 Lane0AdapterNumber 相同。

    它可以与上面的“DomainID”和“TopologyID”属性一起使用,以查找匹配的“PortInformation”事件。
    LocalDomainUUID GUID 域间连接中本地域的域 UUID。
    RemoteDomainUUID GUID 域间连接中远程域的域 UUID。
    LocalRouteString UInt8FixedArray(7) 本地端口的路由字符串。 它采用 7-UINT8 拓扑 ID 格式。
    RemoteRouteString UInt8FixedArray(7) 远程端口的路由字符串。 它采用 7-UINT8 拓扑 ID 格式
    MaxHopID UInt16 远程对等方返回的域间属性块中的“MaxHopID”属性。
  9. DeviceRouterRemoval 事件

    properties 值类型 说明
    DomainID HexUInt32 设备路由器的域 ID。
    TopologyID UInt8FixedArray(7) 设备路由器的 7 字节拓扑 ID。

Thunderbolt 是 Intel Corporation 或其子公司的商标。