Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предоставляет универсальный механизм доступа для поиска службы, идентифицируемой идентификатором GUID.
Наследование
Интерфейс IServiceProvider наследуется от интерфейса IUnknown.
Методы
Интерфейс IServiceProvider содержит следующие методы.
|
IServiceProvider::QueryService Выступает в качестве фабричного метода для любых служб, предоставляемых через реализацию IServiceProvider. |
|
IServiceProvider::QueryService Выступает в качестве фабричного метода для любых служб, предоставляемых через реализацию IServiceProvider. Принимает параметр CLSID. |
Комментарии
Интерфейс IServiceProvider — это универсальный механизм доступа для поиска службы, определяемой идентификатором GUID, которая предоставляется с помощью элемента управления или любого другого объекта, с которым служба может взаимодействовать. Например, внедренный объект (например, элемент управления OLE) обычно взаимодействует только со связанным объектом клиентского сайта в контейнере через интерфейс IOleClientSite , предоставляемый с помощью IOleObject::SetClientSite. Внедренный объект должен запрашивать у клиентского сайта какую-то другую службу, которую поддерживает контейнер, если эта служба может не быть реализована на клиентском сайте.
Клиентский сайт должен предоставлять средства, с помощью которых элемент управления, управляемый сайтом, может при необходимости получить доступ к службе. Например, функция IOleInPlaceSite::GetWindowContext) может использоваться объектом на месте или элементом управления для доступа к указателям интерфейса для объекта документа, содержащего сайт, и объекта frame, содержащего документ. Поскольку эти указатели интерфейса существуют в отдельных объектах, элемент управления не может вызвать QueryInterface сайта для получения этих указателей. Вместо этого используйте интерфейс IServiceProvider.
Интерфейс IServiceProvider должен перегрузить один метод QueryService, с помощью которого вызывающий объект задает идентификатор службы (SID, GUID), идентификатор IID возвращаемого интерфейса и адрес переменной указателя интерфейса вызывающего объекта. Вторая перегрузка выводит идентификатор IID из указателя вывода, переданного в метод .
Идентификатор IID для этого интерфейса IID_IServiceProvider.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Сборка Windows 22000 |
| Минимальная версия сервера | Сборка Windows 22000 |
| Верхняя часть | servprov.h |