NdisMTrIndicateReceiveComplete (Windows Embedded CE 6.0)

1/6/2010

This function notifies NDIS that a Token Ring receive packet, identified in a preceding call to NdisMTrIndicateReceive, has been fully transferred by the NIC so that NDIS can notify the appropriate bound protocol drivers.

Syntax

VOID NdisMTrIndicateReceiveComplete(
  NDIS_HANDLE MiniportAdapterHandle
);

Parameters

  • MiniportAdapterHandle
    [in] Specifies the handle originally input to MiniportInitialize.

Return Value

None.

Remarks

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

NdisMTrIndicateReceiveComplete 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 post-processing the received data.

When a miniport calls NdisMTrIndicateReceiveComplete, 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 NdisMTrIndicateReceiveComplete in one-to-one correspondence with its calls to NdisMTrIndicateReceive. That is, a 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 NdisMTrIndicateReceiveComplete once for every ten indications. On the other hand, a miniport might call NdisMTrIndicateReceiveComplete once for each indication when network traffic is low so that the driver can regain ownership of the memory it allocated for receives promptly. However, a miniport must call NdisMTrIndicateReceiveComplete at least once per batch of packets indicated from its MiniportHandleInterrupt function.

Requirements

Header ndis.h
Library ndis.dll
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

NDIS Library Functions
NdisMTrIndicateReceive
ProtocolReceiveComplete
ProtocolReceive
MiniportHandleInterrupt