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