NDIS_TIMESTAMP_CAPABILITY_FLAGS 结构 (ntddndis.h)

NDIS_TIMESTAMP_CAPABILITY_FLAGS 结构表示各种上下文中网络接口卡 (NIC) 和微型端口驱动程序的组合时间戳功能。

语法

typedef struct _NDIS_TIMESTAMP_CAPABILITY_FLAGS {
  BOOLEAN PtpV2OverUdpIPv4EventMsgReceiveHw;
  BOOLEAN PtpV2OverUdpIPv4AllMsgReceiveHw;
  BOOLEAN PtpV2OverUdpIPv4EventMsgTransmitHw;
  BOOLEAN PtpV2OverUdpIPv4AllMsgTransmitHw;
  BOOLEAN PtpV2OverUdpIPv6EventMsgReceiveHw;
  BOOLEAN PtpV2OverUdpIPv6AllMsgReceiveHw;
  BOOLEAN PtpV2OverUdpIPv6EventMsgTransmitHw;
  BOOLEAN PtpV2OverUdpIPv6AllMsgTransmitHw;
  BOOLEAN AllReceiveHw;
  BOOLEAN AllTransmitHw;
  BOOLEAN TaggedTransmitHw;
  BOOLEAN AllReceiveSw;
  BOOLEAN AllTransmitSw;
  BOOLEAN TaggedTransmitSw;
} NDIS_TIMESTAMP_CAPABILITY_FLAGS, *PNDIS_TIMESTAMP_CAPABILITY_FLAGS;

成员

PtpV2OverUdpIPv4EventMsgReceiveHw

值为 TRUE 表示在数据包接收期间,NIC 可以在硬件中识别 IPv4 UDP 数据包中包含的 PTP 版本 2 事件 消息,并在硬件中生成对应于接收此类数据包的时间戳。 值为 FALSE 表示硬件无法执行此操作。

PtpV2OverUdpIPv4AllMsgReceiveHw

值为 TRUE 表示在数据包接收期间,NIC 可以在硬件中识别 任何 PTP 版本 2 消息 (而不仅仅是包含在 IPv4 UDP 数据包中的 PTP 事件消息) ,并在硬件中生成对应于接收此类数据包的时间戳。 值为 FALSE 表示硬件无法执行此操作。

PtpV2OverUdpIPv4EventMsgTransmitHw

值为 TRUE 表示在数据包传输期间,NIC 可以在硬件中识别 IPv4 UDP 数据包中包含的 PTP 版本 2 事件 消息,并在硬件中生成与传输此类数据包时对应的时间戳。 值为 FALSE 表示硬件无法执行此操作。

PtpV2OverUdpIPv4AllMsgTransmitHw

值为 TRUE 表示在数据包传输期间,NIC 可以在硬件中识别 任何 PTP 版本 2 消息 (而不仅仅是 PTP 事件消息) 包含在 IPv4 UDP 数据包中,并在硬件中生成与传输此类数据包时对应的时间戳。 值为 FALSE 表示硬件无法执行此操作。

PtpV2OverUdpIPv6EventMsgReceiveHw

值为 TRUE 表示在数据包接收期间,NIC 可以在硬件中识别 IPv6 UDP 数据包中包含的 PTP 版本 2 事件 消息,并在硬件中生成对应于接收此类数据包的时间戳。 值为 FALSE 表示硬件无法执行此操作。

PtpV2OverUdpIPv6AllMsgReceiveHw

值为 TRUE 表示在数据包接收期间,NIC 可以在硬件中识别 任何 PTP 版本 2 消息 (而不仅仅是 PTP 事件消息) 包含在 IPv6 UDP 数据包中,并在硬件中生成对应于接收此类数据包的时间戳。 值为 FALSE 表示硬件无法执行此操作。

PtpV2OverUdpIPv6EventMsgTransmitHw

值为 TRUE 表示在数据包传输期间,NIC 可以在硬件中识别 IPv6 UDP 数据包中包含的 PTP 版本 2 事件 消息,并在硬件中生成与传输此类数据包时对应的时间戳。 值为 FALSE 表示硬件无法执行此操作。

PtpV2OverUdpIPv6AllMsgTransmitHw

值为 TRUE 表示在数据包传输期间,NIC 可以在硬件中识别 任何 PTP 版本 2 消息 (而不仅仅是 PTP 事件消息) 包含在 IPv6 UDP 数据包中,并在硬件中生成对应于传输此类数据包的时间戳。 值为 FALSE 表示硬件无法执行此操作

AllReceiveHw

如果值为 TRUE ,则表示 NIC 可以为接收的所有数据包生成硬件时间戳,例如 (,而不仅仅是 PTP) 。 值为 FALSE 表示 NIC 没有此功能。

AllTransmitHw

值为 TRUE 表示 NIC 可以生成所有传输数据包的硬件时间戳 (例如,而不仅仅是 PTP) 。 值为 FALSE 表示 NIC 没有此功能。

TaggedTransmitHw

值为 TRUE 指示 NIC 可以在操作系统指示时为任何特定传输的数据包生成硬件时间戳。 操作系统将使用数据包中的元数据字段向微型端口/硬件指示这一点。 有关详细信息,请参阅 将时间戳附加到数据包。 值为 FALSE 表示 NIC 没有此功能。

AllReceiveSw

值为 TRUE 表示微型端口驱动程序可以为所有收到的数据包生成软件时间戳。 驱动程序应通过调用 KeQueryPerformanceCounter API 生成时间戳。 值为 FALSE 表示 NIC 没有此功能。

AllTransmitSw

值为 TRUE 表示微型端口驱动程序可以为所有传输的数据包生成软件时间戳。 在传输数据包之前,应使用 KeQueryPerformanceCounter 在软件中生成时间戳。 值为 FALSE 表示 NIC 没有此功能。

TaggedTransmitSw

值为 TRUE 指示微型端口驱动程序可以在操作系统指示时为任何特定传输的数据包生成软件时间戳。 操作系统将使用数据包中的元数据字段向微型端口指示这一点。 有关详细信息,请参阅 将时间戳附加到数据包。 微型端口驱动程序应在传输数据包之前使用 KeQueryPerformanceCounter 生成时间戳。 值为 FALSE 表示 NIC 没有此功能。

注解

NDIS_TIMESTAMP_CAPABILITY_FLAGS结构是NDIS_TIMESTAMP_CAPABILITIES结构中的字段。

要求

要求
最低受支持的客户端 Windows 11
最低受支持的服务器 Windows Server 2022。 在 NDIS 6.82 及更高版本中受支持。
标头 ntddndis.h (包括 ndis.h)

另请参阅

NDIS_TIMESTAMP_CAPABILITIES

KeQueryPerformanceCounter

报告时间戳功能和当前配置

将时间戳附加到数据包