Partager via


OID_GEN_CO_GET_TIME_CAPS

Notes

OID_GEN_CO_GET_TIME_CAPS est identique à OID_GEN_GET_TIME_CAPS.

L’OID OID_GEN_CO_GET_TIME_CAPS demande à un pilote miniport de retourner ses fonctionnalités pour signaler l’heure locale d’une carte réseau au format GEN_GET_TIME_CAPS structure, qui est définie comme suit :

typedef struct _GEN_GET_TIME_CAPS{
    ULONG   Flags;
    ULONG   ClockPrecision;
} GEN_GET_TIME_CAPS, *PGEN_GET_TIME_CAPS;

Les membres de cette structure contiennent les informations suivantes :

Indicateurs
Les indicateurs suivants peuvent être en ORed ensemble. Tous les indicateurs non spécifiés doivent être définis sur zéro.

READABLE_LOCAL_CLOCK
Lorsqu’elle est définie, indique la présence d’une horloge lisible sur la carte réseau. Même sans une telle horloge matérielle, un pilote miniport peut utiliser l’horloge système en appelant NdisGetCurrentSystemTime, à condition qu’il signale la précision correcte dans le membre ClockPrecision.

CLOCK_NETWORK_DERIVED
Lorsqu’elle est définie, indique que l’heure locale de la carte réseau est dérivée de la connexion réseau, par opposition à une horloge intégrée à exécution libre.

CLOCK_PRECISION
Lorsqu’elle est définie, indique que le membre ClockPrecision contient des informations valides.

RECEIVE_TIME_INDICATION_CAPABLE
Lorsqu’il est défini, indique que le matériel de carte réseau peut noter l’heure locale à laquelle il reçoit la première cellule d’un PDU reçu et que le pilote miniport propage cette heure de réception pour chaque PDU lors de l’indication du paquet à un protocole.

TIMED_SEND_CAPABLE
Lorsqu’elle est définie, indique que la carte réseau peut planifier un paquet pour la transmission en fonction de son heure locale. Les protocoles peuvent utiliser NDIS_SET_PACKET_TIME_TO_SEND pour définir l’horodatage TimeToSend dans le bloc de données hors bande d’un descripteur de paquets. La définition de l’horodatage n’affecte pas le moment où le paquet est effectivement transmis ; à la place, l’horodatage est utilisé pour la conservation des enregistrements. Un pilote de protocole peut utiliser l’horodatage pour déterminer le temps nécessaire pour terminer l’envoi d’un paket.

TIME_STAMP_CAPABLE
Lorsqu’elle est définie, indique que la carte réseau peut marquer (dans le champ approprié du paquet sortant) l’heure à laquelle le premier octet du paquet est transmis et que la carte réseau peut récupérer cette fois à partir du même champ d’un paquet entrant.

ClockPrecision
Spécifie la précision de l’horloge en parties par million. Pour que ces informations soient considérées comme valides, l’indicateur CLOCK_PRECISION doit être défini.

Notes

Un pilote miniport peut prendre en charge certains paramètres de minutage même en l’absence d’une horloge locale ou réseau. En particulier, un pilote miniport peut utiliser l’horloge système pour recevoir des indications de temps, des envois chronométrés et même l’horodatage. Une horloge basée sur une carte réseau est préférable, car elle est susceptible d’offrir une précision plus élevée et d’être accessible avec des latences inférieures à l’horloge système. Dans tous les cas, le pilote miniport doit spécifier la précision de l’horloge qu’il utilise. Cela permet aux protocoles de déterminer comment utiliser au mieux la prise en charge du minutage du pilote miniport.

Si le pilote miniport signale la présence d’une horloge lisible, il doit être prêt à répondre immédiatement à une requête OID_GEN_GET_NETCARD_TIME. La réponse du pilote miniport à cet appel est critique dans le temps et doit donc être synchrone.

Spécifications

Version : Windows Vista et versions ultérieures En-tête : Ntddndis.h (inclure Ndis.h)