Interface et accessibilité IDispatch
L’interface IDispatch a été initialement conçue pour prendre en charge Automation. Il fournit un mécanisme de liaison tardive permettant d’accéder et de récupérer des informations sur les méthodes et propriétés d’un objet. Auparavant, les développeurs de serveurs devaient implémenter les interfaces IDispatch et IAccessible pour leurs objets accessibles ; c’est-à-dire qu’ils devaient fournir une double interface. Avec Microsoft Active Accessibility 2.0, les serveurs peuvent retourner E_NOTIMPL à partir de méthodes de IDispatch et Microsoft Active Accessibility implémente l’interface IAccessible pour eux.
Outre les méthodes héritées de IUnknown, les développeurs de serveurs doivent implémenter les méthodes suivantes dans la définition de classe de chaque objet exposé :
- GetTypeInfoCount retourne le nombre de descriptions de type pour l’objet. Pour les objets qui prennent en charge IDispatch, le nombre d’informations de type est toujours un.
- GetTypeInfo récupère une description de l’interface programmable de l’objet.
- GetIDsOfNames mappe le nom d’une méthode ou d’une propriété à un DISPID, qui est utilisé ultérieurement pour appeler la méthode ou la propriété.
- Invoke appelle l’une des méthodes de l’objet, ou obtient ou définit l’une de ses propriétés.