Différences dans l’initialisation
Un gestionnaire d’appels est un protocole NDIS ; Par conséquent, il suit la séquence d’initialisation d’un protocole orienté connexion, mais avec une étape supplémentaire. Dans son gestionnaire ProtocolBindAdapterEx , immédiatement après avoir effectué les étapes d’initialisation d’un protocole orienté connexion, un gestionnaire d’appels doit inscrire une famille d’adresses en appelant NdisCmRegisterAddressFamilyEx. L’appel à NdisCmRegisterAddressFamilyEx, dans lequel un gestionnaire d’appels inscrit ses fonctions de gestionnaire d’appels, identifie le protocole en tant que gestionnaire d’appels. Le gestionnaire d’appels doit inscrire une famille d’adresses pour chaque carte réseau à laquelle il se lie.
Un pilote MCM est un pilote miniport ; Par conséquent, il suit la séquence d’initialisation d’un pilote miniport orienté connexion avec l’ajout de l’étape suivante : un pilote MCM doit inscrire une famille d’adresses en appelant NdisMCmRegisterAddressFamilyEx dans sa fonction MiniportInitializeEx , immédiatement après avoir terminé la séquence d’initialisation du pilote miniport . L’appel à NdisMCmRegisterAddressFamilyEx, dans lequel un pilote MCM inscrit ses fonctions de gestionnaire d’appels, distingue le pilote MCM d’un pilote miniport normal orienté connexion. Bien qu’un pilote MCM n’enregistre ses gestionnaires de pilotes miniport qu’une seule fois pendant l’initialisation en appelant NdisMRegisterMiniportDriver, il doit appeler NdisMCmRegisterAddressFamilyEx une fois pour chaque carte réseau qu’il contrôle.