Microsoft Windows CE 3.0  

NdisMWanIndicateReceiveComplete

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This function notifies the PPP protocol driver that one or more receives have been completed so that PPP can notify the appropriate bound protocol(s).

VOID NdisMWanIndicateReceiveComplete(
IN NDIS_HANDLE
MiniportAdapterHandle
IN NDIS_HANDLE
NdisLinkContext
);

Parameters

MiniportAdapterHandle
Specifies the handle originally input to MiniportInitialize.
NdisLinkContext
Specifies the handle supplied by NDISWAN in the NDIS_MAC_LINE_UPstructure at the miniport's initial call to NdisMIndicateStatusfor this link.

Return Values

None

Remarks

After any WAN receive indication, a miniport must eventually call NdisMWanIndicateReceiveComplete.

NdisMWanIndicateReceiveCompleteboth indicates the completion of a transfer operation for a receive and notifies any bound protocol that has already consumed the initial indication that it can begin postprocessing the received data.

When a miniport calls NdisMWanIndicateReceiveComplete, the PPP protocol driver calls the ProtocolReceiveCompletefunction(s) of bound protocol driver(s). ProtocolReceiveCompletefunctions need not operate under the severe time constraints of the corresponding ProtocolReceivefunctions.

A WAN miniport need not call NdisMWanIndicateReceiveCompletein one-to-one correspondence with its calls to NdisMWanIndicateReceive. That is, a network adapter 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 network adapter. Such a driver can call NdisMWanIndicateReceiveCompleteafter several calls to NdisMWanIndicateReceivehave 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 NdisMWanIndicateReceiveCompleteonce for every ten receive indications when network traffic is high.

On the other hand, a miniport might call NdisMWanIndicateReceiveCompleteonce for each indication when network traffic is low so that the driver can regain ownership of the memory it allocated for receives promptly.

A ProtocolReceivefunction is re-entrant, and ProtocolReceiveCompletecan run concurrently with ProtocolReceive, particularly in SMP machines.

Requirements

Runs on Versions Defined in Include Link to
Windows CE OS 3.0 and later Ndis.h   Ndislib.lib
Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

MiniportInitialize, NdisMIndicateStatus, NdisMWanIndicateReceive, ProtocolReceive, ProtocolReceiveComplete