Как серверы реализуют дочерние идентификаторы
Разработчики серверов могут назначать дочерние идентификаторы простым элементам и доступным объектам. Однако рекомендуемый подход заключается в поддержке стандартного интерфейса объектной модели компонентов (COM) IEnumVARIANT в каждом доступном объекте с потомками.
Если вы реализуете IEnumVARIANT, необходимо:
- Перечисляйте все дочерние элементы, как простые элементы, так и доступные объекты. Предоставьте дочерние идентификаторы для всех простых элементов и предоставьте IDispatch каждому доступному объекту.
- Для доступных объектов задайте члену vt структуры VARIANT значение VT_DISPATCH. Элемент pdispVal должен содержать указатель на интерфейс IDispatch. Обратите внимание, что VARIANT выделяется и освобождается клиентом.
- Для простых элементов дочерний идентификатор может быть любым 32-разрядным положительным целым числом. Обратите внимание, что ноль и отрицательные целые числа зарезервированы Microsoft Active Accessibility. Установите для структуры VARIANTvt член VT_I4 и для члена lVal идентификатор дочернего элемента.
Если вы не поддерживаете IEnumVARIANT, необходимо присвоить идентификаторы дочерним элементам и пронумеровать их в каждом объекте последовательно, начиная с одного.
Клиентам рекомендуется использовать функцию Microsoft Active Accessibility AccessibleChildren вместо прямого вызова сервера интерфейса IEnumVARIANT.