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:
SystemTimestamp1
HardwareClockTimestamp
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) |