Comment les serveurs implémentent les ID enfants
Les développeurs de serveurs peuvent affecter des ID enfants à des éléments simples et à des objets accessibles. Toutefois, l’approche recommandée consiste à prendre en charge l’interface COM (Component Object Model) standard IEnumVARIANT dans chaque objet accessible qui a des enfants.
Si vous implémentez IEnumVARIANT, vous devez :
- Énumérez tous les enfants, à la fois les éléments simples et les objets accessibles. Fournissez des ID enfants pour tous les éléments simples et fournissez l’IDispatch à chaque objet accessible.
- Pour les objets accessibles, définissez le membre vt du variant sur VT_DISPATCH. Le membre pdispVal doit contenir un pointeur vers l’interface IDispatch . Notez que le variant est alloué et libéré par le client.
- Pour les éléments simples, l’ID enfant est n’importe quel entier positif 32 bits. Notez que les entiers zéro et négatif sont réservés par Microsoft Active Accessibility. Définissez le membre vt de structure VARIANT sur VT_I4 et le membre lVal sur l’ID enfant.
Si vous ne prenez pas en charge IEnumVARIANT, vous devez attribuer des ID enfants et numéroter les enfants dans chaque objet de manière séquentielle en commençant par un.
Il est recommandé que les clients utilisent la fonction Microsoft Active Accessibility AccessibleChildren plutôt que d’appeler directement l’interface IEnumVARIANT du serveur.