NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG

微型端口驱动程序使用 NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG 状态指示将 NIC 硬件和微型端口驱动程序的当前时间戳配置报告给 NDIS 和过度覆盖驱动程序。

此状态指示表示当前启用或禁用了哪些时间戳功能。 有关状态指示驱动程序用于报告时间戳功能的信息,请参阅 NDIS_STATUS_TIMESTAMP_CAPABILITY

注解

在初始化期间,微型端口驱动程序应从其 MiniportInitializeEx 函数中指示当前时间戳配置。 驱动程序应:

  1. 使用当前时间戳配置初始化 NDIS_TIMESTAMP_CAPABILITIES 结构。 驱动程序设置 NDIS_TIMESTAMP_CAPABILITIES 结构的成员,如下所示:

    • 驱动程序使用 TimestampFlags 字段来指示其当前时间戳配置。 如果当前启用了相应的时间戳功能, 则NDIS_TIMESTAMP_CAPABILITY_FLAGS 结构中的每个标志都应设置为 TRUE ;否则应设置为 FALSE

    注意

    为了确定当前启用或禁用了哪些时间戳功能,微型端口将读取时间戳相关关键字的当前值 *PtpHardwareTimestamp*SoftwareTimestamp。 有关使用这些关键字并确定要启用的时间戳功能的详细信息,请参阅 NDIS 数据包时间戳的标准化 INF 关键字

    注意

    如果实现找到通过 关键字启用的硬件和软件时间戳,则微型端口应仅启用硬件时间戳,并应禁用软件时间戳。

    • 如果在当前配置中启用了硬件跨时间戳,驱动程序应将 CrossTimestamp 字段设置为 TRUE ;如果未启用,则驱动程序应将 FALSE

    • HardwareClockFrequencyHz 字段必须包含 NIC 硬件时钟的当前运行频率。

    • 标头”字段中的“类型”字段应设置为“NDIS_OBJECT_TYPE_DEFAULT”,将“修订”设置为NDIS_TIMESTAMP_CAPABILITIES_REVISION_1

  2. 通过调用 NdisMIndicateStatusEx 来报告当前配置,生成NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG状态指示。 NDIS_STATUS_INDICATION 结构的 StatusBuffer 字段应指向初始化的 NDIS_TIMESTAMP_CAPABILITIES 结构。

微型端口驱动程序必须在指示 NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG 之前至少生成一次 NDIS_STATUS_TIMESTAMP_CAPABILITY指示。 否则,NDIS 将拒绝 NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG 状态指示,并且不会将其指示给过度的驱动程序。

例如,如果微型端口驱动程序使用NDIS_STATUS_TIMESTAMP_CAPABILITY状态 (指示指示 NIC 的硬件时间戳功能发生了更改,NDIS_TIMESTAMP_CAPABILITIES结构中的HardwareClockFrequencyHz 字段由于 NIC 硬件) 发生基础更改,则它还必须使用 NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG 报告当前配置中的相应更改NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG 状态指示。

微型端口驱动程序还必须在检测到当前时间戳配置更改时生成 NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG 状态指示。

要求

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

另请参阅

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

NDIS 数据包时间戳的标准化 INF 关键字

NDIS_STATUS_TIMESTAMP_CAPABILITY

NDIS_TIMESTAMP_CAPABILITIES

NDIS_TIMESTAMP_CAPABILITY_FLAGS

MiniportInitializeEx

NdisMIndicateStatusEx

NDIS_STATUS_INDICATION