ProtocolReceiveComplete

This function is a required driver function in any protocol. ProtocolReceiveComplete completes post-processing of one or more preceding receive indications from a network adapter driver.

VOID ProtocolReceiveComplete(
  NDIS_HANDLE ProtocolBindingContext 
);

Parameters

  • ProtocolBindingContext
    [in] Specifies the handle to a protocol-allocated context area in which the protocol driver maintains per-binding runtime state. The driver supplied this handle when it called NdisOpenAdapter.

Return Values

None.

Remarks

ProtocolReceiveComplete performs post-processing, such as notifying interested clients of processed data received from a remote node, after one or more calls to the driver's ProtocolReceive function.

When an underlying miniport calls NdisMXXXIndicateReceiveComplete, NDIS calls the ProtocolReceiveComplete function of bound protocols. NDIS always calls ProtocolReceiveComplete after one or more calls to the driver's ProtocolReceive function, regardless of whether any particular packets are accepted by bound protocols.

An underlying miniport need not make calls to NdisMXXXIndicateReceive in one-to-one correspondence with its calls to NdisMXXXIndicateReceiveComplete. ProtocolReceiveComplete is re-entrant because the underlying network adapter driver sometimes must wait to call NdisMXXXIndicateReceiveComplete until no receive operations are in progress.

After ProtocolReceiveComplete is called, the underlying network adapter driver can make another receive indication before ProtocolReceiveComplete returns control, so ProtocolReceiveComplete can execute concurrently with the driver's ProtocolReceive function in SMP machines.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: Ndis.h.
Link Library: Ndislib.lib.

See Also

ProtocolReceive | NdisOpenAdapter

 Last updated on Tuesday, May 18, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.