estrutura NDIS_HARDWARE_CROSSTIMESTAMP (ntddndis.h)

A estrutura NDIS_HARDWARE_CROSSTIMESTAMP descreve o carimbo de data/hora entre o relógio de hardware de uma NIC e um relógio do sistema.

Sintaxe

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

Membros

Header

A estrutura NDIS_OBJECT_HEADER que descreve essa estrutura NDIS_HARDWARE_CROSSTIMESTAMP . Defina os membros da estrutura NDIS_OBJECT_HEADER da seguinte maneira:

  • Defina o membro Type como NDIS_OBJECT_TYPE_DEFAULT.

  • Defina o membro Revision como NDIS_HARDWARE_CROSSTIMESTAMP_REVISION_1.

  • Defina o membro Size como NDIS_SIZEOF_HARDWARE_CROSSTIMESTAMP_REVISION_1.

Flags

Reservado para uso futuro. O driver de miniporte não deve alterar esse valor.

SystemTimestamp1

O QPC (valor do contador de desempenho) obtido chamando KeQueryPerformanceCounter.

HardwareClockTimestamp

O valor atual do relógio de hardware nic. Esse deve ser o valor bruto do relógio de hardware da NIC.

SystemTimestamp2

Outro QPC (valor de contador de desempenho) obtido chamando KeQueryPerformanceCounter.

Comentários

Quando um driver de miniporto recebe a solicitação OID de OID_TIMESTAMP_GET_CROSSTIMESTAMP, o driver conclui o OID preenchendo o InformationBuffer no QUERY_INFORMATION com uma estrutura NDIS_HARDWARE_CROSSTIMESTAMP .

O driver deve preencher os campos SystemTimestamp1, HardwareClockTimestamp e SystemTimestamp2 com carimbos de data/hora feitos o mais próximo possível um do outro e na seguinte ordem:

  1. SystemTimestamp1

  2. HardwareClockTimestamp

  3. SystemTimestamp2

O driver de miniporte e o hardware são gratuitos para otimizar a coleção desses carimbos de data/hora, dependendo de quaisquer funcionalidades avançadas de hardware. No entanto, os valores SystemTimestamp1 e SystemTimestamp2 retornados na conclusão do OID devem corresponder com precisão ao valor do contador de desempenho (QPC) no momento da captura. O HardwareClockTimestamp deve corresponder ao valor do relógio de hardware da NIC no ponto de captura. Se uma implementação específica puder determinar com mais precisão dois carimbos de data/hora em vez de três (por exemplo, um carimbo de data/hora do sistema e o carimbo de data/hora correspondente do relógio de hardware NIC), ele deverá definir o campo SystemTimestamp2 com o mesmo valor que SystemTimestamp1.

O driver de miniporte não deve definir os valores SystemTimestamp1, HardwareClockTimestamp ou SystemTimestamp2 como zero.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 11
Servidor mínimo com suporte Windows Server 2022. Com suporte no NDIS 6.82 e posterior.
Cabeçalho ntddndis.h (inclua ndis.h)

Confira também

OID_TIMESTAMP_GET_CROSSTIMESTAMP

KeQueryPerformanceCounter

NDIS_OBJECT_HEADER