Diferencias en la inicialización
Un administrador de llamadas es un protocolo NDIS; por lo tanto, sigue la secuencia de inicialización de un protocolo orientado a la conexión, pero con un paso adicional. En su controlador ProtocolBindAdapterEx , inmediatamente después de completar los pasos de inicialización de un protocolo orientado a la conexión, un administrador de llamadas debe registrar una familia de direcciones llamando a NdisCmRegisterAddressFamilyEx. La llamada a NdisCmRegisterAddressFamilyEx, en la que un administrador de llamadas registra sus funciones de administrador de llamadas, identifica el protocolo como administrador de llamadas. El administrador de llamadas debe registrar una familia de direcciones para cada NIC a la que se enlaza.
Un controlador MCM es un controlador de minipuerto; por lo tanto, sigue la secuencia de inicialización de un controlador de miniporte orientado a la conexión con la adición del siguiente paso: un controlador MCM debe registrar una familia de direcciones llamando a NdisMCmRegisterAddressFamilyEx en su función MiniportInitializeEx , inmediatamente después de completar la secuencia de inicialización del controlador de miniport. La llamada a NdisMCmRegisterAddressFamilyEx, en la que un controlador MCM registra sus funciones de administrador de llamadas, distingue el controlador MCM de un controlador miniporte orientado a la conexión normal. Aunque un controlador MCM registra sus controladores de controlador de minipuerto solo una vez durante la inicialización mediante una llamada a NdisMRegisterMiniportDriver, debe llamar a NdisMCmRegisterAddressFamilyEx una vez para cada NIC que controla.