Condividi tramite


struttura NDIS_HARDWARE_CROSSTIMESTAMP (ntddndis.h)

La struttura NDIS_HARDWARE_CROSSTIMESTAMP descrive il timestamp incrociato tra l'orologio hardware di una scheda di interfaccia di rete e un orologio di sistema.

Sintassi

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

Members

Header

Struttura NDIS_OBJECT_HEADER che descrive questa struttura NDIS_HARDWARE_CROSSTIMESTAMP . Impostare i membri della struttura NDIS_OBJECT_HEADER come indicato di seguito:

  • Impostare il membro Typesu NDIS_OBJECT_TYPE_DEFAULT.

  • Impostare il membro Revisionsu NDIS_HARDWARE_CROSSTIMESTAMP_REVISION_1.

  • Impostare il membro Sizesu NDIS_SIZEOF_HARDWARE_CROSSTIMESTAMP_REVISION_1.

Flags

Riservato per utilizzi futuri. Il driver miniport non deve modificare questo valore.

SystemTimestamp1

Valore del contatore delle prestazioni (QPC) ottenuto chiamando KeQueryPerformanceCounter.

HardwareClockTimestamp

Valore corrente dell'orologio hardware della scheda di interfaccia di rete. Deve trattarsi del valore dell'orologio hardware non elaborato della scheda di interfaccia di rete.

SystemTimestamp2

Un altro valore del contatore delle prestazioni (QPC) ottenuto chiamando KeQueryPerformanceCounter.

Commenti

Quando un driver miniport riceve la richiesta OID di OID_TIMESTAMP_GET_CROSSTIMESTAMP, il driver completa l'OID compilando InformationBuffer nella QUERY_INFORMATION con una struttura NDIS_HARDWARE_CROSSTIMESTAMP .

Il driver deve riempire i campi SystemTimestamp1, HardwareClockTimestamp e SystemTimestamp2 con timestamp eseguiti il più vicino possibile e nell'ordine seguente:

  1. SystemTimestamp1

  2. HardwareClockTimestamp

  3. SystemTimestamp2

Il driver e l'hardware miniport sono liberi di ottimizzare la raccolta di questi timestamp a seconda delle funzionalità hardware avanzate. Tuttavia, i valori SystemTimestamp1 e SystemTimestamp2 restituiti al completamento OID devono corrispondere in modo accurato al valore del contatore delle prestazioni (QPC) al momento dell'acquisizione. HardwareClockTimestamp deve corrispondere al valore dell'orologio hardware della scheda di interfaccia di rete al momento dell'acquisizione. Se una particolare implementazione può determinare in modo più accurato due timestamp anziché tre (ad esempio, un timestamp di sistema e il timestamp dell'orologio hardware NIC corrispondente), il campo SystemTimestamp2 deve impostare il campo SystemTimestamp2 sullo stesso valore di SystemTimestamp1.

Il driver miniport non deve impostare i valori SystemTimestamp1, HardwareClockTimestamp o SystemTimestamp2 su zero.

Requisiti

Requisito Valore
Client minimo supportato Windows 11
Server minimo supportato Windows Server 2022. Supportato in NDIS 6.82 e versioni successive.
Intestazione ntddndis.h (include ndis.h)

Vedi anche

OID_TIMESTAMP_GET_CROSSTIMESTAMP

KeQueryPerformanceCounter

NDIS_OBJECT_HEADER