ULONGLONG
NDIS_GET_PACKET_TIME_RECEIVED(
IN PNDIS_PACKET Packet
);
NDIS_GET_PACKET_TIME_RECEIVED returns the TimeReceived value from the out-of-band data block associated with a given packet descriptor.
Parameters
Packet
Points to a packet descriptor.
Return Value
NDIS_GET_PACKET_TIME_RECEIVED returns the timestamp, if any, set by the miniport when the net packet was received on the underlying NIC.
Comments
When a protocol driver’s ProtocolReceivePacket function is called with an indication, it can use this macro to retrieve the TimeReceived timestamp using the Packet pointer it is given on entry.
A protocol driver can call NdisQueryReceiveInformation to obtain this timestamp from the NDIS_PACKET_OOB_DATA block associated with a packet descriptor when its ProtocolReceive function is given an indication. However, this call is superfluous if the protocol is bound to an underlying driver that does not supply out-of-band information with its indications.
All timestamps set in the NDIS_PACKET_OOB_DATA blocks associated with packet descriptors are expressed in system time units as the number of 100-nanosecond intervals since January 1, 1601.
A highest-level protocol driver might use this macro before it forwards a received net packet to clients if its clients expect timestamps. Still higher-level drivers or system components can convert this timestamp into locale-specific values more meaningful to the end user.
Callers of NDIS_GET_PACKET_TIME_RECEIVED run at IRQL <= DISPATCH_LEVEL.
See Also
MiniportHandleInterrupt, MiniportTimer, NdisGetCurrentSystemTime, NDIS_GET_PACKET_TIME_SENT, NdisMIndicateReceivePacket, NDIS_OOB_DATA_FROM_PACKET, NDIS_PACKET_OOB_DATA, NdisQueryReceiveInformation, NDIS_SET_PACKET_TIME_RECEIVED, ProtocolReceive, ProtocolReceivePacket