IVsProjectStartupServices Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Обеспечивает расширяемость проектов другими разработчиками.
public interface class IVsProjectStartupServices
public interface class IVsProjectStartupServices
__interface IVsProjectStartupServices
[System.Runtime.InteropServices.Guid("82780F79-A3ED-4B7F-90C0-5FEE14CBB53E")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsProjectStartupServices
[<System.Runtime.InteropServices.Guid("82780F79-A3ED-4B7F-90C0-5FEE14CBB53E")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsProjectStartupServices = interface
Public Interface IVsProjectStartupServices
- Атрибуты
Комментарии
IVsProjectStartupServices
— Это необязательный интерфейс, позволяющий пакету VSPackage стороннего производителя зарегистрировать идентификатор GUID службы, который сохраняется в файле проекта, чтобы каждый раз при загрузке проекта загрузить эти сведения в файл проекта и QueryService
для этого GUID. Это позволяет загружать пакет VSPackage стороннего производителя в момент, когда проект снова загружается. Таким образом, пакет VSPackage стороннего производителя позволяет избежать использования устаревшего параметра предварительной загрузки = 1, ранее нашедшихся в реестре. Однако пакет VSPackage продолжит загружаться во время загрузки проекта.
Вашему проекту нужен только метод QueryService
, передающий ему параметры ( guidService
, IID_IUnknown, &punk
), не пытаясь вызывать метод в службе. После загрузки VSPackage можно перечислить загруженные проекты и выполнить соответствующие операции (например, подключить к событиям проекта).
IVsProjectStartupServices
Интерфейс можно извлечь из иерархии проекта следующим образом:
GetProperty(Ивспрожектстартупсервицес, ивспрожектстартупсервицес...)
IVsProjectStartupServices
используется в основном для расширения, если создается тип проекта, расширяемый другими разработчиками.
Примечания для тех, кто реализует этот метод
Реализован в, IVsHierarchy чтобы сделать проект расширяемым другими разработчиками.
Методы
AddStartupService(Guid) |
Добавляет стороннюю службу в список служб, которые должны запускаться при создании экземпляра проекта и обеспечивает запуск всех сторонних служб. |
GetStartupServiceEnum(IEnumProjectStartupServices) |
Используется для поиска элемента массива службы стороннего производителя по GUID. |
RemoveStartupService(Guid) |
Удаляет идентификатор GUID идентификатора службы из списка запускаемых сторонних служб и освобождает службу, если та была загружена. |