Differences in Initialization

A call manager is an NDIS protocol; therefore, it follows the initialization sequence for a connection-oriented protocol, but with one additional step. In its ProtocolBindAdapterEx handler, immediately after completing the initialization steps for a connection-oriented protocol, a call manager must register an address family by calling NdisCmRegisterAddressFamilyEx. The call to NdisCmRegisterAddressFamilyEx, in which a call manager registers its call manager functions, identifies the protocol as a call manager. The call manager must register an address family for each NIC to which it binds itself.

An MCM driver is a miniport driver; therefore, it follows the initialization sequence for a connection-oriented miniport driver with the addition of the following step: an MCM driver must register an address family by calling NdisMCmRegisterAddressFamilyEx in its MiniportInitializeEx function, immediately after completing the miniport driver initialization sequence . The call to NdisMCmRegisterAddressFamilyEx, in which an MCM driver registers its call manager functions, distinguishes the MCM driver from a regular connection-oriented miniport driver. Although an MCM driver registers its miniport driver handlers only once during initialization by calling NdisMRegisterMiniportDriver, it must call NdisMCmRegisterAddressFamilyEx once for each NIC that it controls.

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft