Connection-Oriented Timing Features
Connection-oriented NDIS supports using a NIC's local time for scheduling the transmission of packets and for time-stamping send and receive packets.
Note These connection-oriented timing features are optional. These features are not supported by all CoNDIS NICs.
A connection-oriented protocol driver can call NdisCoOidRequest to query the local timing capabilities of a connection-oriented miniport driver or an MCM driver with OID_GEN_CO_GET_TIME_CAPS. In response to such a query, the miniport driver or MCM driver returns information about:
Whether there is a readable clock on the NIC.
Whether the NIC derives its time from the network connection.
The precision of the local clock.
Whether the NIC can timestamp received packets with its local time.
Whether the NIC can schedule a send packet for transmission according to its local time.
Whether the NIC can timestamp transmitted packets with its local time.
To obtain a NIC's local time, a connection-oriented protocol can call NdisCoOidRequest to query a connection-oriented miniport driver or MCM driver with OID_GEN_CO_GET_NETCARD_TIME. The connection-oriented miniport driver or MCM driver synchronously returns its local time, which the connection-oriented protocol can then use to schedule the transmission of packets.
Timing information for a send or receive packet is contained in the packet's out-of-band (OOB) data. For more information, see NET_BUFFER_LIST.