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 de NDIS_HARDWARE_CROSSTIMESTAMP . Establezca los miembros de la estructura NDIS_OBJECT_HEADER de la siguiente manera:

  • Establezca el miembro Type en NDIS_OBJECT_TYPE_DEFAULT.

  • Establezca el miembro Revision en NDIS_HARDWARE_CROSSTIMESTAMP_REVISION_1.

  • Establezca el miembro Size en NDIS_SIZEOF_HARDWARE_CROSSTIMESTAMP_REVISION_1.

Flags

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

SystemTimestamp1

Valor del contador de rendimiento (QPC) obtenido mediante una llamada 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 mediante una llamada a KeQueryPerformanceCounter.

Comentarios

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

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

  1. SystemTimestamp1

  2. HardwareClockTimestamp

  3. SystemTimestamp2

El controlador de miniporte y el hardware son gratuitos para optimizar la colección de estas marcas de tiempo en función de las funcionalidades avanzadas de hardware. Sin embargo, los valores SystemTimestamp1 y SystemTimestamp2 devueltos en la finalización del OID deben corresponder con precisión al valor del contador de rendimiento (QPC) en el momento de la captura. 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 del reloj de hardware NIC correspondiente), debe establecer el campo SystemTimestamp2 en el mismo valor que SystemTimestamp1.

El controlador de minipuerto no debe establecer los valores SystemTimestamp1, HardwareClockTimestamp o SystemTimestamp2 en cero.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 11
Servidor mínimo compatible Windows Server 2022. Compatible con NDIS 6.82 y versiones posteriores.
Encabezado ntddndis.h (include ndis.h)

Consulte también

OID_TIMESTAMP_GET_CROSSTIMESTAMP

KeQueryPerformanceCounter

NDIS_OBJECT_HEADER