NDIS_HARDWARE_CROSSTIMESTAMP-Struktur (ntddndis.h)

Die NDIS_HARDWARE_CROSSTIMESTAMP-Struktur beschreibt den Kreuzzeitstempel zwischen der Hardwareuhr einer Netzwerkkarte und einer Systemuhr.

Syntax

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

Member

Header

Die NDIS_OBJECT_HEADER-Struktur , die diese NDIS_HARDWARE_CROSSTIMESTAMP-Struktur beschreibt. Legen Sie die Member der NDIS_OBJECT_HEADER-Struktur wie folgt fest:

  • Legen Sie das Element Typ auf NDIS_OBJECT_TYPE_DEFAULT fest.

  • Legen Sie den Revisionsmember auf NDIS_HARDWARE_CROSSTIMESTAMP_REVISION_1 fest.

  • Legen Sie das Element Größe auf NDIS_SIZEOF_HARDWARE_CROSSTIMESTAMP_REVISION_1 fest.

Flags

Für die zukünftige Verwendung reserviert. Der Miniporttreiber darf diesen Wert nicht ändern.

SystemTimestamp1

Der Durch Aufrufen von KeQueryPerformanceCounter abgerufene Leistungsindikatorwert (QPC).

HardwareClockTimestamp

Der aktuelle Wert der NIC-Hardwareuhr. Dies sollte der rohe Hardwareuhrwert der NIC sein.

SystemTimestamp2

Ein weiterer Leistungsindikatorwert (QPC), der durch Aufrufen von KeQueryPerformanceCounter abgerufen wird.

Hinweise

Wenn ein Miniporttreiber die OID-Anforderung von OID_TIMESTAMP_GET_CROSSTIMESTAMP empfängt, schließt der Treiber die OID ab, indem er den InformationBuffer im QUERY_INFORMATION mit einer NDIS_HARDWARE_CROSSTIMESTAMP-Struktur auffüllt.

Der Treiber sollte die Felder SystemTimestamp1, HardwareClockTimestamp und SystemTimestamp2 mit Zeitstempeln füllen, die so nah wie möglich beieinander und in der folgenden Reihenfolge stehen:

  1. SystemTimestamp1

  2. HardwareClockTimestamp

  3. SystemTimestamp2

Der Miniporttreiber und die Hardware können die Sammlung dieser Zeitstempel je nach erweiterten Hardwarefunktionen optimieren. Die bei der OID-Vervollständigung zurückgegebenen Werte SystemTimestamp1 und SystemTimestamp2 müssen jedoch genau dem QPC-Wert (Performance Counter) zum Zeitpunkt der Erfassung entsprechen. Der HardwareClockTimestamp muss dem Hardwareuhrwert der NIC zum Zeitpunkt der Erfassung entsprechen. Wenn eine bestimmte Implementierung zwei Statt drei Zeitstempel genauer bestimmen kann (z. B. ein Systemzeitstempel und der entsprechende Zeitstempel der NIC-Hardwareuhr), sollte das SystemTimestamp2-Feld auf den gleichen Wert wie SystemTimestamp1 festgelegt werden.

Der Miniporttreiber sollte die Werte SystemTimestamp1, HardwareClockTimestamp oder SystemTimestamp2 nicht auf Null festlegen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 11
Unterstützte Mindestversion (Server) Windows Server 2022. Unterstützt in NDIS 6.82 und höher.
Kopfzeile ntddndis.h (include ndis.h)

Weitere Informationen

OID_TIMESTAMP_GET_CROSSTIMESTAMP

KeQueryPerformanceCounter

NDIS_OBJECT_HEADER