WAN Miniport Drivers (Windows Embedded CE 6.0)

1/6/2010

The NDIS wide area network (NDISWAN) architecture does not use the PPP protocol driver to bind to TCP/IP as an 802.3 miniport. Instead, it interfaces directly with IP. The operating system does not support multilink PPP.

The following illustration shows the NDISWAN architecture that is implemented.

Ee481889.c0582f28-7307-450f-b8f1-b47884c3218a(en-US,WinEmbedded.60).gif

In the NDISWAN architecture, PPP is implemented as an NDIS protocol driver. PPP communicates with the underlying AsyncMAC miniport through the NDIS layer, which exposes an NDIS protocol interface on the upper edge and an NDIS miniport interface on the lower edge. When PPP receives a WAN packet from TCP/IP, it passes the packet on to the AsyncMAC miniport. After receiving a packet from PPP, the AsyncMAC miniport performs the asynchronous framing, and then forwards the packet to the TAPI device by calling Microsoft® Win32® serial APIs. When receiving a packet through the network, the AsyncMAC miniport strips the flags off the packet, checks the Cyclic Redundancy Check (CRC), and then passes the packet up to PPP through the NDIS layer. The NDISWAN architecture also supports a Point-to-Point Tunneling Protocol (PPTP) miniport, which communicates directly with TCP/IP.

A sample implementation of AsyncMAC is included with Windows Embedded CE and is located in the %_WINCEROOT%\public\common\oak\drivers\netsamp\asyncmac directory.

Before the WAN miniport can send or receive packets on the network, an application must create a connection on the sending node or accept a connection on a remote node by making or accepting a call. Requests from TAPI and status indications to TAPI pass through the WAN miniport.

After a connection with a remote node has been established, packets can be exchanged over the network. The WAN miniport driver specifies the default number of outstanding packets that it can have per data channel in the MaxTransmit value and submits the MaxTransmit value to PPP as a response to an OID_WAN_GET_INFO request. The OID_WAN_GET_INFO structure contains the following information:

  • The type of framing that is required for a packet
  • The amount of padding that must be placed at the head and tail of a frame
  • The maximum size frame that the network adapter driver can send and receive
  • The maximum number of frames that can be queued for transmission
  • The number of links that are supported by the network adapter

The WAN miniport driver might have to modify or add to the header as well as the end of a packet. The NDISWAN implementation provides appropriate padding at the beginning and end of each packet. The WAN miniport can alter the data in the packet in any way that it sees fit to send it on the WAN medium.

See Also

Reference

OID_WAN_GET_INFO

Concepts

Miniport Drivers
Registering as a WAN Miniport Driver
Querying WAN Miniport Driver Information
Sending on a WAN Miniport Driver
WAN Miniport Driver Indications
NDIS Library Functions Used by WAN Miniport Drivers

Other Resources

WWAN Miniport Adapter