Condividi tramite


Interfaccia IServiceProvider (servprov.h)

Fornisce un meccanismo di accesso generico per individuare un servizio identificato da GUID.

Ereditarietà

L'interfaccia IServiceProvider eredita dall'interfaccia IUnknown.

Metodi

L'interfaccia IServiceProvider include questi metodi.

 
IServiceProvider::QueryService

Funge da metodo factory per tutti i servizi esposti tramite un'implementazione di IServiceProvider.
IServiceProvider::QueryService

Funge da metodo factory per tutti i servizi esposti tramite un'implementazione di IServiceProvider. Accetta un parametro CLSID.

Commenti

L'interfaccia IServiceProvider è un meccanismo di accesso generico per individuare un servizio identificato da GUID fornito tramite un controllo o qualsiasi altro oggetto con cui il servizio può comunicare. Ad esempio, un oggetto incorporato (ad esempio un controllo OLE) comunica in genere solo con l'oggetto sito client associato nel contenitore tramite l'interfaccia IOleClientSite fornita tramite IOleObject::SetClientSite. L'oggetto incorporato deve chiedere al sito client di un altro servizio supportato dal contenitore quando tale servizio potrebbe non essere implementato nel sito client.

Il sito client deve fornire un mezzo in base al quale il controllo gestito dal sito può accedere al servizio quando necessario. Ad esempio, la funzione IOleInPlaceSite::GetWindowContext) può essere usata da un oggetto o un controllo sul posto per accedere ai puntatori di interfaccia per l'oggetto documento che contiene il sito e l'oggetto frame che contiene il documento. Poiché questi puntatori di interfaccia esistono su oggetti separati, il controllo non può chiamare queryInterface del sito per ottenere tali puntatori. Usare invece l'interfaccia IServiceProvider.

L'interfaccia IServiceProvider deve eseguire l'overload di un singolo metodo, QueryService, tramite cui un chiamante specifica l'ID del servizio (SID, GUID), l'IID dell'interfaccia da restituire e l'indirizzo della variabile del puntatore dell'interfaccia del chiamante. Il secondo overload inferisce l'IID dal puntatore di output passato al metodo .

L'IID per questa interfaccia è IID_IServiceProvider.

Requisiti

Requisito Valore
Client minimo supportato Windows Build 22000
Server minimo supportato Windows Build 22000
Intestazione servprov.h