|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.|
This function notifies NDIS that a Token Ring packet, or some initial lookahead portion of the packet, has arrived so NDIS can forward the packet to bound protocols.
VOID NdisMTrIndicateReceive( IN NDIS_HANDLE MiniportAdapterHandle , IN NDIS_HANDLE MiniportReceiveContext , IN PVOID HeaderBuffer , IN UINT HeaderBufferSize , IN PVOID LookaheadBuffer , IN UINT LookaheadBufferSize , IN UINT PacketSize );
A miniport can (and should) set LookaheadBufferSizeto something larger than the minimum required if sufficient received data is available on its NIC.
When PacketSizeis larger than LookaheadBufferSize, a protocol driver call to NdisTransferDatacauses a subsequent call to the MiniportTransferDatafunction, which transfers the remaining data in the packet.
A miniport calls NdisMTrIndicateReceiveif it designates its NIC as of type NdisMedium802_5in response to the OID_GEN_MEDIA_IN_USE query, unless the miniport indicates receives with NdisMIndicateReceivePacket.
When a miniport calls NdisMTrIndicateReceive, NDIS passes a pointer to the header of the packet and a pointer to some or all of the data in the packet to the ProtocolReceivefunction of bound protocol drivers. Each protocol that receives the indication can do the following:
For any protocol driver that receives an indication through NdisMTrIndicateReceive, the HeaderBufferand LookaheadBufferaddresses are valid only during the current call to its ProtocolReceivefunction, and these buffers are read-only. A protocol driver cannot retain a pointer to the indicated packet with these associated buffers nor can it retain any pointers to these buffers for later use. Any data that a protocol driver needs from such a packet must be copied and saved during the receive indication.
The data in the header is the same as that received on the NIC. A miniport driver need not remove any headers or trailers from the data its NIC receives.
The transmitting driver adds padding to any packet that is too short for the requirements of the medium. The receiving miniport can include such padding in the data and length it subsequently indicates. Each bound protocol is responsible for detecting any such padding and ignoring it.
|Runs on||Versions||Defined in||Include||Link to|
|Windows CE OS||3.0 and later||Ndis.h|
Last updated on Tuesday, July 13, 2004