Compartilhar via


NDIS_HARDWARE_CROSSTIMESTAMP estrutura (ntddndis.h)

A estrutura NDIS_HARDWARE_CROSSTIMESTAMP descreve o carimbo de data/hora cruzado 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 tipo como NDIS_OBJECT_TYPE_DEFAULT.

  • Defina o membro de Revisão de como NDIS_HARDWARE_CROSSTIMESTAMP_REVISION_1.

  • Defina o membro tamanho como NDIS_SIZEOF_HARDWARE_CROSSTIMESTAMP_REVISION_1.

Flags

Reservado para uso futuro. O driver de miniporto 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.

Observações

Quando um driver de miniporto recebe a solicitação OID de OID_TIMESTAMP_GET_CROSSTIMESTAMP, o driver conclui a 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 e na seguinte ordem:

  1. SystemTimestamp1

  2. HardwareClockTimestamp

  3. SystemTimestamp2

O driver de miniporto 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 do relógio de hardware nic correspondente), ele deverá definir o campo SystemTimestamp2 com o mesmo valor que SystemTimestamp1.

O driver de miniporto não deve definir os valores SystemTimestamp1, HardwareClockTimestampou SystemTimestamp2 para zero.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 11
servidor com suporte mínimo Windows Server 2022. Com suporte no NDIS 6.82 e posterior.
cabeçalho ntddndis.h (inclua ndis.h)

Consulte também

OID_TIMESTAMP_GET_CROSSTIMESTAMP

KeQueryPerformanceCounter

NDIS_OBJECT_HEADER