Поделиться через


Как серверы реализуют дочерние идентификаторы

Разработчики серверов могут назначать дочерние идентификаторы простым элементам и доступным объектам. Однако рекомендуемый подход заключается в поддержке стандартного интерфейса объектной модели компонентов (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.