This function notifies NDISWAN that one or more receives have been completed for an established link so that NDISWAN can notify the appropriate bound protocols.
VOID NdisMWanIndicateReceiveComplete( NDIS_HANDLEMiniportAdapterHandle, NDIS_HANDLENdisLinkContext);
Parameters
- MiniportAdapterHandle
[in] Specifies the handle originally input to MiniportInitialize. - NdisLinkContext
[in] Specifies the handle supplied by NDISWAN in the NDIS_MAC_LINE_UP structure at the miniport's initial call to NdisMIndicateStatus for this link.
Return Values
None.
Remarks
After any WAN receive indication, a miniport must eventually call NdisMWanIndicateReceiveComplete.
NdisMWanIndicateReceiveComplete indicates the completion of a transfer operation for a receive. In addition, it notifies any bound protocol that has already consumed the initial indication that it may begin post-processing the received data.
When a miniport calls NdisMWanIndicateReceiveComplete, NDISWAN calls the ProtocolReceiveComplete function of bound protocol drivers. ProtocolReceiveComplete functions need not operate under the severe time constraints of the corresponding ProtocolReceive functions.
A WAN miniport need not call NdisMWanIndicateReceiveComplete in one-to-one correspondence with its calls to NdisMWanIndicateReceive. That is, a NIC driver can issue a single receive-complete indication for some number of receive indications, particularly when a sequence of receives is coming in to its NIC. Such a driver can call NdisMWanIndicateReceiveComplete after several calls to NdisMWanIndicateReceive have occurred, thereby giving bound protocols the opportunity to notify clients of received packets without incurring the overhead of processing one-to-one completion notifications. As a general rule, a miniport should call NdisMWanIndicateReceiveComplete once for every ten receive indications when network traffic is high.
On the other hand, a miniport might call NdisMWanIndicateReceiveComplete once for each indication when network traffic is low so that the driver can regain ownership of the memory it allocated for receives promptly.
A ProtocolReceive function is re-entrant, and ProtocolReceiveComplete can run concurrently with ProtocolReceive, particularly in SMP machines.
Requirements
OS Versions: Windows CE .NET 4.0 and later.
Header: Ndis.h.
Link Library: Ndis.dll.
See Also
MiniportInitialize | NDIS_MAC_LINE_UP | NdisMIndicateStatus | ProtocolReceiveComplete | ProtocolReceive | NdisMWanIndicateReceive
Send Feedback on this topic to the authors