Connection-Oriented Timing Features (NDIS 5.1)
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.Connection-oriented NDIS supports using a NIC's local time for scheduling the transmission of packets and for time-stamping send and receive packets.
A connection-oriented protocol can call NdisCoRequestto 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 the following information:
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 NdisCoRequestto 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 NDIS_PACKET_OOB_DATA.