WAN Miniport Drivers (Windows Embedded CE 6.0)
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.
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.