Share via


Interface IServiceProvider (servprov.h)

Fournit un mécanisme d’accès générique pour localiser un service identifié par GUID.

Héritage

L’interface IServiceProvider hérite de l’interface IUnknown.

Méthodes

L’interface IServiceProvider possède ces méthodes.

 
IServiceProvider ::QueryService

Agit comme méthode de fabrique pour tous les services exposés via une implémentation d’IServiceProvider.
IServiceProvider ::QueryService

Agit comme méthode de fabrique pour tous les services exposés via une implémentation d’IServiceProvider. Accepte un paramètre CLSID.

Remarques

L’interface IServiceProvider est un mécanisme d’accès générique permettant de localiser un service identifié par GUID fourni via un contrôle ou tout autre objet avec lequel le service peut communiquer. Par exemple, un objet incorporé (tel qu’un contrôle OLE) communique généralement uniquement avec son objet de site client associé dans le conteneur via l’interface IOleClientSite fournie à l’aide d’IOleObject ::SetClientSite. L’objet incorporé doit demander au site client un autre service que le conteneur prend en charge lorsque ce service n’est peut-être pas implémenté dans le site client.

Le site client doit fournir un moyen par lequel le contrôle géré par le site peut accéder au service si nécessaire. Par exemple, la fonction IOleInPlaceSite ::GetWindowContext) peut être utilisée par un objet ou un contrôle sur place pour accéder aux pointeurs d’interface pour l’objet document qui contient le site et l’objet frame qui contient le document. Étant donné que ces pointeurs d’interface existent sur des objets distincts, le contrôle ne peut pas appeler le QueryInterface du site pour obtenir ces pointeurs. Utilisez plutôt l’interface IServiceProvider.

L’interface IServiceProvider doit surcharger une seule méthode, QueryService, par laquelle un appelant spécifie l’ID de service (SID, guid), l’IID de l’interface à retourner et l’adresse de la variable pointeur d’interface de l’appelant. La deuxième surcharge déduit l’IID du pointeur de sortie passé dans la méthode.

L’IID de cette interface est IID_IServiceProvider.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Build 22000
Serveur minimal pris en charge Windows Build 22000
En-tête servprov.h