MCM Drivers vs. Call Managers

An integrated MCM driver is a connection-oriented miniport driver that also provides call manager services to connection-oriented clients. As such, an MCM driver performs all the connection-oriented functions of both a connection-oriented miniport driver and a call manager. Like all miniport drivers, MCM drivers must use NdisXxx calls to communicate with the underlying NIC hardware.

An MCM driver differs from a call manager in two major ways:

  • A call manager is an NDIS connection-oriented protocol driver with added call manager functionality. An MCM driver is an NDIS connection-oriented miniport driver with added call manager functionality.

  • The interface between a call manager and a connection-oriented miniport driver is fully exposed to NDIS--that is, all communication between the call manager and the miniport driver passes through NDIS. Except for the activation and deactivation of client VCs (VCs used for transmitting outgoing or incoming client data), the interface between the call manager part of an MCM driver and the miniport driver part of an MCM driver is opaque to NDIS. The activation and deactivation of client VCs must be accomplished through NDIS because NDIS keeps track of client VCs.

The differences between an MCM driver and a call manager are further described in the following sections:

Differences in Initialization

Differences in Calls to NdisXxx Functions

Differences in Virtual Connections