Microsoft Windows CE 3.0  

NdisMWanIndicateReceive

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.

This function notifies the PPP protocol driver that a packet has been received for an established link to be forwarded to TCP/IP.

VOID NdisMWanIndicateReceive(
OUT PNDIS_STATUS
Status
,
IN NDIS_HANDLE
MiniportAdapterHandle
,
IN NDIS_HANDLE
NdisLinkContext
,
IN PUCHAR
PacketBuffer
,
IN UINT
PacketSize
);

Parameters

Status
Points to a caller-supplied variable in which this function returns the status of the indication, which can be one of the following:
Value Meaning
NDIS_STATUS_SUCCESS NDISWAN recognized and accepted the packet.
NDIS_STATUS_NOT_ACCEPTED NDISWAN did not recognize the frame.

Any other status indicates that NDISWAN recognized the frame, but for some reason was unable to accept it.

MiniportAdapterHandle
Specifies the handle originally input to MiniportInitialize.
NdisLinkContext
Specifies the handle supplied by NDISWAN in the NDIS_MAC_LINE_UPstructure at the miniport's initial call to NdisMIndicateStatusfor this link.
PacketBuffer
Specifies the base virtual address of the buffer containing the received packet.
PacketSize
Specifies the size in bytes of the received packet data.

Return Values

None

Remarks

When a miniport calls NdisMWanIndicateReceive, the PPP protocol driver indicates the packet by calling the ProtocolReceivefunctions of bound protocol drivers. The PPP protocol driver then forward then packet to TCP/IP. The entire packet is available for inspection by protocols, because WAN miniports never indicate partial packets with only a lookahead portion of the packet data.

Consequently, such a protocol will never call NdisTransferDataso the underlying miniport driver needs no MiniportTransferDatafunction. The miniport always passes up an entire packet due to compression and encryption that might be applied to the packet from the transmitting node. Also, because the link is point-to-point, at least one higher-level protocol accepts each received packet.

For any protocol that receives an indication through NdisMWanIndicateReceive, the buffer at PacketBufferis valid only during the current call to its ProtocolReceivefunction. Because the packet might be compressed, the entire packet must be available when this call is made. This buffer should contain the same data and size as the buffer sent by the driver on the remote node.

The data contained in the header is the same as that received on the network adapter. A WAN miniport need not remove any headers or trailers from the data its network adapter receives. The transmitting driver does not add padding to the packet.

Requirements

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

MiniportInitialize, MiniportTransferData, NdisMIndicateStatus, NdisMWanIndicateReceiveComplete, NdisTransferData, ProtocolReceive