NDIS_TIMESTAMP_CAPABILITIES structure (ntddndis.h)

The NDIS_TIMESTAMP_CAPABILITIES structure describes the combined timestamping capabilities of a network interface card (NIC) and miniport driver.

Syntax

typedef struct _NDIS_TIMESTAMP_CAPABILITIES {
  NDIS_OBJECT_HEADER              Header;
  ULONG64                         HardwareClockFrequencyHz;
  BOOLEAN                         CrossTimestamp;
  ULONG64                         Reserved1;
  ULONG64                         Reserved2;
  NDIS_TIMESTAMP_CAPABILITY_FLAGS TimestampFlags;
} NDIS_TIMESTAMP_CAPABILITIES, *PNDIS_TIMESTAMP_CAPABILITIES;

Members

Header

The NDIS_OBJECT_HEADER structure that describes this NDIS_TIMESTAMP_CAPABILITIES structure. Set the members of the NDIS_OBJECT_HEADER structure as follows:

  • Set the Type member to NDIS_OBJECT_TYPE_DEFAULT.

  • Set the Revision member to NDIS_TIMESTAMP_CAPABILITIES_REVISION_1.

  • Set the Size member to NDIS_SIZEOF_TIMESTAMP_CAPABILITIES_REVISION_1.

HardwareClockFrequencyHz

This field contains the nominal frequency of the hardware clock that the NIC uses for timestamping, rounded off to the nearest integer in Hertz units.

CrossTimestamp

A value of TRUE indicates that the miniport/hardware combination is capable of generating a hardware cross timestamp. A value of FALSE indicates this capability does not exist. A cross timestamp is the set of a NIC hardware timestamp and system timestamp(s) obtained very close to each other. The miniport driver handles the OID_TIMESTAMP_GET_CROSSTIMESTAMP OID to generate a cross timestamp.

Reserved1

Reserved for future use.

Reserved2

Reserved for future use.

TimestampFlags

An NDIS_TIMESTAMP_CAPABILITY_FLAGS structure that represents the NIC's timestamping capabilities in various contexts.

Remarks

Miniport drivers use the NDIS_TIMESTAMP_CAPABILITIES structure with the NDIS_STATUS_TIMESTAMP_CAPABILITY status indication to report the NIC's hardware timestamping capabilities and the miniport driver's software timestamping capabilities to NDIS and overlying drivers.

Note

An implementation must support hardware timestamps and cross timestamps. Supporting software timestamps is optional.

Miniport drivers use the NDIS_TIMESTAMP_CAPABILITIES structure with the NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG status indication to report which timestamping capabilities are currently enabled.

For more information, see Reporting timestamping capabilities and current configuration.

Requirements

Requirement Value
Minimum supported client Windows 11
Minimum supported server Windows Server 2022. Supported in NDIS 6.82 and later.
Header ntddndis.h (include ndis.h)

See also

NDIS_TIMESTAMP_CAPABILITY_FLAGS

NDIS_STATUS_TIMESTAMP_CAPABILITY

NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG

OID_TIMESTAMP_GET_CROSSTIMESTAMP

MiniportInitializeEx

NDIS_OBJECT_HEADER

Reporting timestamping capabilities and current configuration