Differences Between NDIS and CoNDIS WAN Driver Implementations (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.

This topic lists the differences between NDIS WAN drivers and CoNDIS WAN drivers. NDIS WAN drivers are miniport drivers. CoNDIS WAN drivers can be either a miniport call manager (MCM) or a miniport driver that is combined with a separate call manager.

The primary differences between CoNDIS WAN drivers and NDIS WAN drivers are:

  • The version number specified in the NDIS_MINIPORT_CHARACTERISTICS structure that is passed to the NdisMRegisterMiniport function is version 3.0 to 4.0 for NDIS WAN miniport drivers and is version 5.0 or later for CoNDIS WAN miniport drivers.

  • You register NDIS WAN miniport drivers, CoNDIS WAN miniport drivers, and CoNDIS WAN MCMs as miniport drivers. However, if there is a separate CoNDIS call manager, you must register the call manager as a protocol. For more information about registering an NDIS WAN miniport driver, see Registering an NDIS WAN Miniport Driver. For more information about registering CoNDIS WAN drivers, see Registering CoNDIS WAN Drivers.

  • The medium type that the miniport driver sets in the SelectedMediumIndex parameter of the MiniportInitialize function is different for CoNDIS WAN and NDIS WAN drivers. In addition, a CoNDIS MCM or call manager must register an address family. For more information about NDIS WAN driver initialization, see Initializing an NDIS WAN Miniport Driver. For more information about CoNDIS WAN miniport driver initialization, see Registering the WAN Address Family.

  • NDIS WAN miniport drivers implement signaling with TAPI OIDs. The CoNDIS model uses a call manager or MCM to implement signaling. For more information about CoNDIS call managers, see Connection-Oriented Environment.

  • In an NDIS WAN environment, an application must set up a connection by making or accepting a call. After the application establishes a connection, links are used to route data. In a CoNDIS environment, a virtual connection (VC) is created to establish the connection and route data.

  • Different function calls are used to implement the following operations in CoNDIS and NDIS WAN drivers:

  • NDIS WAN miniport drivers keep a WAN-specific set of statistics (see OID_WAN_GET_STATS_INFO). CoNDIS WAN miniport drivers should keep a set of statistics for each VC on the miniport driver's NIC (see OID_WAN_CO_GET_STATS_INFO).

  • CoNDIS WAN miniport drivers use an NDIS_PACKET descriptor instead of the NDIS_WAN_PACKET descriptor that NDIS WAN miniport drivers use.

  • Some functions use different parameter values. For example, both NDIS WAN and CoNDIS WAN miniport drivers use NdisMRegisterMiniport to register, but the MiniportXxx functions that each driver type registers are different.

  • NDIS WAN and CoNDIS WAN miniport drivers use different WAN OIDs. The OIDs that are prefixed with OID_WAN_ are associated with NDIS WAN drivers (see Standard WAN Objects). The OIDs that are prefixed with OID_WAN_CO_ are associated with CoNDIS drivers (see CoNDIS WAN Objects).

    The exceptions to note are: OID_WAN_PERMANENT_ADDRESS, OID_WAN_CURRENT_ADDRESS, and OID_WAN_MEDIUM_SUBTYPE. Both NDIS WAN and CoNDIS WAN drivers use these OIDs.

  • An NDIS WAN miniport driver is very closely tied to TAPI. The TAPI service provider APIs (See the Microsoft Windows SDK for more information about TAPI service provider APIs.) are directly mapped to TAPI OIDs. In the CoNDIS architecture, NDPROXY handles the TAPI complexity. Therefore, the CoNDIS model requires fewer TAPI OIDs.

  • NDIS WAN and CoNDIS WAN miniport drivers use different TAPI OIDs. The OIDs that are prefixed with OID_TAPI_ are associated with NDIS WAN drivers (see TAPI Objects). The OIDs that are prefixed with OID_CO_TAPI_ are associated with CoNDIS drivers (see TAPI Extensions for Connection-Oriented NDIS).

 

 

Send comments about this topic to Microsoft