Microsoft Windows CE 3.0  

ProtocolReceiveComplete

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.

ProtocolReceiveCompleteis a required driver function in any protocol. ProtocolReceiveCompletecompletes postprocessing of one or more preceding receive indications from a network adapter driver.

VOID ProtocolReceiveComplete(
IN NDIS_HANDLE
ProtocolBindingContext
);

Parameters

ProtocolBindingContext
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.

Comments

ProtocolReceiveCompleteperforms postprocessing, such as notifying interested clients of processed data received from a remote node, after one or more calls to the driver's ProtocolReceivefunction.

When an underlying miniport calls NdisM..IndicateReceiveComplete, NDIS calls the ProtocolReceiveCompletefunction(s) of bound protocol(s). NDIS always calls ProtocolReceiveCompleteafter one or more calls to the driver's ProtocolReceivefunction, regardless of whether any particular packet(s) are accepted by bound protocols.

An underlying miniport need not make calls to NdisM..IndicateReceivein one-to-one correspondence with its calls to NdisM..IndicateReceiveComplete. ProtocolReceiveCompleteis re-entrant because the underlying network adapter driver sometimes must wait to call NdisM..IndicateReceiveCompleteuntil no receive operations are in progress.

After ProtocolReceiveCompleteis called, the underlying network adapter driver can make another receive indication before ProtocolReceiveCompletereturns control, so ProtocolReceiveCompletecan execute concurrently with the driver's ProtocolReceivefunction in SMP machines.

Requirements

Runs on Versions Defined in Include Link to
Windows CE OS 2.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

ProtocolReceive, NdisOpenAdapter