Compartir a través de


estructura NDIS_HARDWARE_CROSSTIMESTAMP (ntddndis.h)

La estructura NDIS_HARDWARE_CROSSTIMESTAMP describe la marca de tiempo cruzada entre el reloj de hardware de una NIC y un reloj del sistema.

Sintaxis

typedef struct _NDIS_HARDWARE_CROSSTIMESTAMP {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG64            SystemTimestamp1;
  ULONG64            HardwareClockTimestamp;
  ULONG64            SystemTimestamp2;
} NDIS_HARDWARE_CROSSTIMESTAMP, *PNDIS_HARDWARE_CROSSTIMESTAMP;

Miembros

Header

Estructura NDIS_OBJECT_HEADER que describe esta estructura NDIS_HARDWARE_CROSSTIMESTAMP. Establezca los miembros de la estructura de NDIS_OBJECT_HEADER de la siguiente manera:

  • Establezca el miembro type de en NDIS_OBJECT_TYPE_DEFAULT.

  • Establezca el miembro revisión de en NDIS_HARDWARE_CROSSTIMESTAMP_REVISION_1.

  • Establezca el miembro Tamaño de en NDIS_SIZEOF_HARDWARE_CROSSTIMESTAMP_REVISION_1.

Flags

Reservado para uso futuro. El controlador de miniport no debe cambiar este valor.

SystemTimestamp1

Valor del contador de rendimiento (QPC) obtenido llamando a KeQueryPerformanceCounter.

HardwareClockTimestamp

Valor actual del reloj de hardware de la NIC. Debe ser el valor de reloj de hardware sin procesar de la NIC.

SystemTimestamp2

Otro valor de contador de rendimiento (QPC) obtenido llamando a KeQueryPerformanceCounter.

Observaciones

Cuando un controlador de miniporte recibe la solicitud OID de OID_TIMESTAMP_GET_CROSSTIMESTAMP, el controlador completa el OID rellenando el InformationBuffer de en el QUERY_INFORMATION con una estructura de NDIS_HARDWARE_CROSSTIMESTAMP.

El controlador debe rellenar los campos de SystemTimestamp1, HardwareClockTimestamp y SystemTimestamp2 campos con marcas de tiempo tomadas lo más cerca posible y en el orden siguiente:

  1. SystemTimestamp1

  2. hardwareClockTimestamp

  3. systemTimestamp2

El controlador y el hardware de miniport son gratuitos para optimizar la recopilación de estas marcas de tiempo en función de las funcionalidades avanzadas de hardware. Sin embargo, los valores de SystemTimestamp1 y SystemTimestamp2 devueltos al finalizar el OID deben corresponder con precisión al valor del contador de rendimiento (QPC) en el momento de la captura. El hardwareClockTimestamp debe corresponder al valor de reloj de hardware de la NIC en el punto de captura. Si una implementación determinada puede determinar con más precisión dos marcas de tiempo en lugar de tres (por ejemplo, una marca de tiempo del sistema y la marca de tiempo de reloj de hardware de NIC correspondiente), debe establecer el campo SystemTimestamp2 en el mismo valor que SystemTimestamp1.

El controlador miniport no debe establecer los valores de SystemTimestamp1, HardwareClockTimestampo SystemTimestamp2 en cero.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 11
servidor mínimo admitido Windows Server 2022. Se admite en NDIS 6.82 y versiones posteriores.
encabezado de ntddndis.h (include ndis.h)

Consulte también

OID_TIMESTAMP_GET_CROSSTIMESTAMP

KeQueryPerformanceCounter

NDIS_OBJECT_HEADER