NdisMEthIndicateReceiveComplete

This function notifies NDIS that an Ethernet receive packet, identified in a preceding call to the NdisMEthIndicateReceive function, has been fully transferred by the NIC so that NDIS can notify the appropriate bound protocols.

At a Glance

Header file: Ndis.h
Windows CE versions: 2.0 and later

Syntax

VOID NdisMEthIndicateReceiveComplete(
IN NDIS_HANDLE
MiniportAdapterHandle );

Parameters

MiniportAdapterHandle
Handle originally input to the MiniportInitialize function.

Remarks

After any Ethernet receive indication, a miniport eventually must call this function to indicate the end of the transfer operation over the net, even if a particular packet is accepted by no bound protocol.

This function both 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 this function, NDIS indicates the completion of the receive operation to each such protocol by calling its ProtocolReceiveComplete function.

ProtocolReceiveComplete functions need not operate under the severe time constraints of the corresponding ProtocolReceive functions. However, another receive indication to the ProtocolReceive function can come in while the ProtocolReceiveComplete function is running.

A miniport need not call this function in one-to-one correspondence with its calls to the NdisMEthIndicateReceive function. That is, an NIC driver can issue a single receive-complete indication for some number of receive indications, particularly when network traffic is high. For example, when a miniport is continually indicating receives from the same source, it might call this function once for every ten indications. On the other hand, a miniport might call this function once for each indication when network traffic is low so that the driver can promptly regain ownership of the memory that it allocated for receives.

A driver that calls this function runs at IRQL DISPATCH_LEVEL.

See Also

NdisMEthIndicateReceive