Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
OID_GEN_CO_GET_TIME_CAPS est identique à OID_GEN_GET_TIME_CAPS.
Le OID_GEN_CO_GET_TIME_CAPS OID demande à un pilote miniport de retourner ses fonctionnalités pour signaler l’heure locale d’une carte réseau mise en forme comme structure GEN_GET_TIME_CAPS, 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 ORed ensemble. Tous les indicateurs non spécifiés doivent être définis sur zéro.
READABLE_LOCAL_CLOCK
Quand 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, tant qu’il signale la précision correcte dans le membre ClockPrecision.
CLOCK_NETWORK_DERIVED
Quand 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 en cours d’exécution.
CLOCK_PRECISION
Lorsqu’il est défini, indique que le membre ClockPrecision contient des informations valides.
RECEIVE_TIME_INDICATION_CAPABLE
Quand elle est définie, 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 dans un protocole.
TIMED_SEND_CAPABLE
Quand 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 réellement transmis ; Au lieu de cela, l’horodatage est utilisé pour la comptabilité. 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
Quand 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 de CLOCK_PRECISION doit être défini.
Remarques
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 miniporteur peut utiliser l’horloge système pour recevoir les indications de temps, les envois chronométrés et même l’horodatage. Une horloge basée sur une carte réseau est meilleure, car elle est susceptible de fournir 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 le 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.
Exigences
version: Windows Vista et versions ultérieures d’en-tête : Ntddndis.h (include Ndis.h)