RECEIVE_COMPLETE_HANDLER callback function
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
The ProtocolReceiveComplete function is a required driver function in any protocol. ProtocolReceiveComplete completes postprocessing of one or more preceding receive indications from a NIC driver.
Syntax
RECEIVE_COMPLETE_HANDLER ProtocolReceiveComplete;
VOID ProtocolReceiveComplete(
_In_ NDIS_HANDLE ProtocolBindingContext
)
{ ... }
Parameters
- ProtocolBindingContext [in]
Specifies the handle to a protocol-allocated context area in which the protocol driver maintains per-binding run-time state. The driver supplied this handle when it called NdisOpenAdapter.
Return value
None
Remarks
ProtocolReceiveComplete performs postprocessing, 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 driver calls NdisM...IndicateReceiveComplete, NDIS calls the ProtocolReceiveComplete function(s) of bound protocol(s). NDIS always calls ProtocolReceiveComplete after one or more calls to the driver's ProtocolReceive function, regardless of whether any particular packet(s) are accepted by bound protocols.
An underlying miniport driver need not make calls to NdisM..IndicateReceive in one-to-one correspondence with its calls to NdisM...IndicateReceiveComplete. ProtocolReceiveComplete is reentrant because the underlying NIC driver sometimes must wait to call NdisM...IndicateReceiveComplete until no receive operations are in progress.
After ProtocolReceiveComplete is called, the underlying NIC 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
Target platform |
Desktop |
Version |
Not supported for NDIS 6.0 drivers in Windows Vista. Supported for NDIS 5.1 drivers in Windows Vista and Microsoft Windows XP |
Header |
Ndis.h (include Ndis.h) |
IRQL |
<= DISPATCH_LEVEL |
See also
NdisMArcIndicateReceiveComplete
NdisMEthIndicateReceiveComplete
NdisMFddiIndicateReceiveComplete
NdisMTrIndicateReceiveComplete
NdisMWanIndicateReceiveComplete