NDIS_HARDWARE_CROSSTIMESTAMP structure (ntddndis.h)

La structure NDIS_HARDWARE_CROSSTIMESTAMP décrit l’horodatage croisé entre l’horloge matérielle d’une carte réseau et une horloge système.

Syntaxe

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

Membres

Header

Structure NDIS_OBJECT_HEADER qui décrit cette structure NDIS_HARDWARE_CROSSTIMESTAMP . Définissez les membres de la structure NDIS_OBJECT_HEADER comme suit :

  • Définissez le membre Typesur NDIS_OBJECT_TYPE_DEFAULT.

  • Définissez le membre Revision sur NDIS_HARDWARE_CROSSTIMESTAMP_REVISION_1.

  • Définissez le membre Taillesur NDIS_SIZEOF_HARDWARE_CROSSTIMESTAMP_REVISION_1.

Flags

Réservé pour un usage futur. Le pilote miniport ne doit pas modifier cette valeur.

SystemTimestamp1

Valeur du compteur de performances (QPC) obtenue en appelant KeQueryPerformanceCounter.

HardwareClockTimestamp

Valeur actuelle de l’horloge matérielle de la carte réseau. Il doit s’agir de la valeur d’horloge matérielle brute de la carte réseau.

SystemTimestamp2

Une autre valeur de compteur de performances (QPC) obtenue en appelant KeQueryPerformanceCounter.

Remarques

Lorsqu’un pilote miniport reçoit la requête OID de OID_TIMESTAMP_GET_CROSSTIMESTAMP, il termine l’OID en remplissant informationBuffer dans le QUERY_INFORMATION avec une structure de NDIS_HARDWARE_CROSSTIMESTAMP .

Le pilote doit remplir les champs SystemTimestamp1, HardwareClockTimestamp et SystemTimestamp2 avec des horodatages pris aussi près que possible et dans l’ordre suivant :

  1. SystemTimestamp1

  2. HardwareClockTimestamp

  3. SystemTimestamp2

Le pilote et le matériel miniport sont gratuits pour optimiser la collecte de ces horodatages en fonction des fonctionnalités matérielles avancées. Toutefois, les valeurs SystemTimestamp1 et SystemTimestamp2 retournées lors de la saisie semi-automatique OID doivent correspondre avec précision à la valeur du compteur de performances (QPC) au moment de la capture. HardwareClockTimestamp doit correspondre à la valeur d’horloge matérielle de la carte réseau au point de capture. Si une implémentation particulière peut déterminer plus précisément deux horodatages au lieu de trois (par exemple, un horodatage système et l’horodatage de l’horloge matérielle de la carte réseau correspondant), elle doit définir le champ SystemTimestamp2 sur la même valeur que SystemTimestamp1.

Le pilote miniport ne doit pas définir les valeurs SystemTimestamp1, HardwareClockTimestamp ou SystemTimestamp2 sur zéro.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 11
Serveur minimal pris en charge Windows Server 2022. Pris en charge dans NDIS 6.82 et versions ultérieures.
En-tête ntddndis.h (include ndis.h)

Voir aussi

OID_TIMESTAMP_GET_CROSSTIMESTAMP

KeQueryPerformanceCounter

NDIS_OBJECT_HEADER