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.
typedef struct _NDIS_HARDWARE_CROSSTIMESTAMP {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG64 SystemTimestamp1;
ULONG64 HardwareClockTimestamp;
ULONG64 SystemTimestamp2;
} NDIS_HARDWARE_CROSSTIMESTAMP, *PNDIS_HARDWARE_CROSSTIMESTAMP;
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.
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 :
SystemTimestamp1
HardwareClockTimestamp
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.
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) |