NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG
微型端口驱动程序使用 NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG 状态指示将 NIC 硬件和微型端口驱动程序的当前时间戳配置报告给 NDIS 和过度覆盖驱动程序。
此状态指示表示当前启用或禁用了哪些时间戳功能。 有关状态指示驱动程序用于报告时间戳功能的信息,请参阅 NDIS_STATUS_TIMESTAMP_CAPABILITY。
注解
在初始化期间,微型端口驱动程序应从其 MiniportInitializeEx 函数中指示当前时间戳配置。 驱动程序应:
使用当前时间戳配置初始化 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。
通过调用 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_STATUS_TIMESTAMP_CAPABILITY