NdisMWanIndicateReceiveComplete (Windows Embedded CE 6.0)
1/6/2010
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.
Syntax
VOID NdisMWanIndicateReceiveComplete(
NDIS_HANDLE MiniportAdapterHandle,
NDIS_HANDLE NdisLinkContext
);
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 Value
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
Header | ndis.h |
Library | ndis.dll |
Windows Embedded CE | Windows CE .NET 4.0 and later |
See Also
Reference
NDIS Library Functions
MiniportInitialize
NDIS_MAC_LINE_UP
NdisMIndicateStatus
ProtocolReceiveComplete
ProtocolReceive
NdisMWanIndicateReceive