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

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