Руководство. предоставление автоматизации для Windows

Вы можете предоставить автоматизацию для окон документов и инструментов. Предоставление автоматизации рекомендуется, если нужно сделать объекты автоматизации доступными в окне, а среда еще не предоставляет готовый объект автоматизации, как это делается в списке задач.

Автоматизация для окон инструментов

Среда предоставляет автоматизацию для окна инструментов, возвращая Стандартный Window объект, как описано в следующей процедуре:

  1. Вызовите GetProperty метод через среду с __VSFPROPID. VSFPROPID_ExtWindowObject в качестве VSFPROPID параметра для получения Window объекта.

  2. Когда вызывающий объект запрашивает в своем окне инструментария определяемый пакет VSPackage, Object среда вызывает QueryInterface для IExtensibleObject IVsExtensibleObject IDispatch интерфейсов, или. IExtensibleObjectИ IVsExtensibleObject предоставляют GetAutomationObject метод.

  3. После того, как среда вызывает GetAutomationObject передачу метода NULL , ответьте на него, передав объект, относящийся к VSPackage.

  4. Если вызывает QueryInterface метод IExtensibleObject и IVsExtensibleObject завершается ошибкой, среда вызывает метод QueryInterface для IDispatch .

Автоматизация для окон документов

Стандартный Document объект также доступен из среды, хотя редактор может иметь собственную реализацию Document объекта путем реализации IExtensibleObject интерфейса и реагирования на GetAutomationObject .

Кроме того, редактор может предоставить специфический для VSPackage объект автоматизации, полученный с помощью Object метода, путем реализации IVsExtensibleObject IExtensibleObject интерфейсов или. Примеры VSSDK вносят объект автоматизации, относящийся к документу RTF.

См. также