This macro sets the TimeReceived value in the out-of-band data block associated with a specified packet descriptor.
Header file: | Ndis.h |
Windows CE versions: | 2.0 and later |
NDIS_SET_PACKET_TIME_RECEIVED( IN PNDIS_PACKET Packet,
IN ULONGLONG TimeReceived );
Drivers use this macro to set this time stamp in the out-of-band data block associated with a packet descriptor before calling the NdisMIndicateReceivePacket function. Miniports that indicate multipacket receives can set the TimeReceived parameter for each packet in an idicated array to the same value before making an indication, particularly if the NIC has no internal clock, so the NIC driver calls the NdisGetCurrentSystemTime function.
All time stamps set in the NDIS_PACKET_OOB_DATA structures associated with packet descriptors are expressed in system time units as the number of 100-nanosecond intervals since January 1, 1601. A driver calls NdisGetCurrentSystemTime to supply the TimeReceived parameter to NDIS_SET_PACKET_TIME_RECEIVED.
If the ProtocolReceive function is called with an indicated packet descriptor for which the underlying driver set the TimeReceived time stamp, ProtocolReceive calls NdisQueryReceiveInformation to get this time stamp.
A driver that calls this macro runs in IRQL <=DISPATCH_LEVE.
NdisMIndicateReceivePacket, NDIS_SET_PACKET_TIME_SENT