INTERFACE_HARDWARE_CROSSTIMESTAMP structure (iphlpapi.h)

Describes a cross timestamp retrieved from a network adapter. A cross timestamp refers to a set of network interface card (NIC) hardware timestamp and system timestamp(s) obtained very close to one another.

To retrieve a cross timestamp, call the CaptureInterfaceHardwareCrossTimestamp function. That function returns the timestamp from the network adapter in the form of an INTERFACE_HARDWARE_CROSSTIMESTAMP object.

For more info, and code examples, see Packet timestamping.

Syntax

typedef struct _INTERFACE_HARDWARE_CROSSTIMESTAMP {
  ULONG64 SystemTimestamp1;
  ULONG64 HardwareClockTimestamp;
  ULONG64 SystemTimestamp2;
} INTERFACE_HARDWARE_CROSSTIMESTAMP, *PINTERFACE_HARDWARE_CROSSTIMESTAMP;

Members

SystemTimestamp1

Type: ULONG64

The network adapter driver fills this with a system timestamp whose value corresponds to a value returned by QueryPerformanceCounter (QPC).

SystemTimestamp1 is obtained before HardwareClockTimestamp; while SystemTimestamp2 is taken after HardwareClockTimestamp. The timestamp values are obtained as closely as possible to each other.

HardwareClockTimestamp

Type: ULONG64

The network adapter driver fills this with a value obtained from its network interface card (NIC) hardware clock.

SystemTimestamp2

Type: ULONG64

The network adapter driver fills this with a system timestamp whose value corresponds to a value returned by QueryPerformanceCounter (QPC).

SystemTimestamp1 is obtained before HardwareClockTimestamp; while SystemTimestamp2 is taken after HardwareClockTimestamp. The timestamp values are obtained as closely as possible to each other.

Requirements

Requirement Value
Minimum supported client Windows 11 (Build 10.0.22000.194)
Minimum supported server Windows Server 2022
Header iphlpapi.h

See also

Packet timestamping