Connection-Oriented Environment for Network Drivers (NDIS 5.1)
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
NDIS supports the following connection-oriented drivers:
Connection-oriented miniport drivers
Connection-oriented clients
Call managers
Integrated miniport call manager (MCM) drivers
The following figure shows a configuration of connection-oriented clients, a call manager, and a connection-oriented miniport driver.
The following figure shows a configuration of connection-oriented clients and an MCM driver.
A connection-oriented miniport driver controls one or more network interface cards (NIC) and provides an interface between connection-oriented protocols (connection-oriented clients and call managers) and the NIC hardware.
A call manager is an NDIS protocol driver that provides call setup and tear-down services for connection-oriented clients. A call manager uses the send and receive capabilities of a connection-oriented miniport driver to exchange signaling messages with network entities, such as network switches or remote peers. A call manager supports one or more signaling protocols, such as ATM UNI 3.1 as specified by the ATM Forum.
An MCM driver is a connection-oriented miniport driver that also provides call manager services to connection-oriented clients. Although an MCM driver provides the same connection-oriented services to clients as does a call manager paired with a connection-oriented miniport driver, its call manager/miniport driver interface is internal to the driver and therefore opaque to NDIS.
More than one call manager and/or MCM driver can coexist in the same environment. Also, each call manager or MCM driver can support more than one signaling protocol.
A connection-oriented client uses the call setup and tear-down services of a call manager or MCM driver. A connection-oriented client also uses the send and receive capabilities of a connection-oriented miniport driver or an MCM driver to send and receive data.
A connection-oriented client can be similar to a connectionless protocol in that it can, at its upper edge, provide its own network and transport-layer services to a higher-layer application. However, unlike a connectionless protocol, a connection-oriented client, at its lower edge, uses the services of a call manager and a connection-oriented miniport driver, or it uses the services of an MCM driver.
Alternatively, a connection-oriented client can be an adaptation layer (that can be an intermediate driver) residing between a legacy protocol and connection-oriented NDIS. Examples of such an adaptation layer are IP/ATM and LAN Emulation (LANE), both of which use call management services to establish underlying connections, but which hide the connection-oriented nature of this interface from the connectionless protocols above it. Note that the definition of such a connection-oriented client's upper-edge interface is beyond the scope of NDIS documentation. If a client is serving as an adaptation layer, its upper-edge interface is defined by the protocol that it is adapting to connection-oriented NDIS.
For more information about connection-oriented drivers, see Connection-Oriented Environment for Network Drivers.