Liaison tardive : que se passe-t-il en coulisse ?

La liste suivante décrit le processus général pour effectuer une liaison tardive :

  • Un objet est lié à un objet d’annuaire ADSI. Par exemple, « LDAP : converti = JeffSmith, OU = Sales, DC = fabrikam, DC = COM » est lié à l’aide de la liaison tardive COM. ADSI appelle alors la méthode QueryInterface sur l’interface IDispatch .
  • ADSI recherche un objet dans la classe utilisateur et crée un objet qui prend en charge les interfaces appropriées, telles que IADs, IADsUser.
  • ADSI effectue une recherche dans le registre et trouve des CLSID d’extension pour l’utilisateur. N’oubliez pas que l’interface ADSI met en cache ces données.
  • Un événement effectue un appel à la méthode MyNewMethod . ADSI recherche son ID de dispatch et les ID de dispatch pour d’autres extensions ADSI. ADSI recherche ensuite l’extension qui sert cet appel et appelle l’interface IADsExtension pour cette extension.
  • L’extension exécute la fonction.
  • À présent, le writer client appelle la méthode YourNewMethod à l’aide de l’interface IDispatch pour l’extension actuelle. L’implémentation IDispatch de l’extension délègue à IDispatch pour ADSI.
  • IDispatch pour ADSI recherche à nouveau l’extension appropriée, ou elle-même, puis appelle l’extension appropriée à l’aide de l’interface IADsExtension pour cette extension.