Interface IServiceProvider (servprov.h)

Fornece um mecanismo de acesso genérico para localizar um serviço identificado por GUID.

Herança

A interface IServiceProvider herda da interface IUnknown.

Métodos

A interface IServiceProvider tem esses métodos.

 
IServiceProvider::QueryService

Atua como o método de fábrica para quaisquer serviços expostos por meio de uma implementação de IServiceProvider.
IServiceProvider::QueryService

Atua como o método de fábrica para quaisquer serviços expostos por meio de uma implementação de IServiceProvider. Aceita um parâmetro CLSID.

Comentários

A interface IServiceProvider é um mecanismo de acesso genérico para localizar um serviço identificado por GUID fornecido por meio de um controle ou qualquer outro objeto com o qual o serviço possa se comunicar. Por exemplo, um objeto inserido (como um controle OLE) normalmente se comunica apenas com seu objeto de site cliente associado no contêiner por meio da interface IOleClientSite fornecida usando IOleObject::SetClientSite. O objeto inserido deve solicitar ao site do cliente algum outro serviço que o contêiner dê suporte quando esse serviço pode não ser implementado no site do cliente.

O site do cliente deve fornecer um meio pelo qual o controle gerenciado pelo site pode acessar o serviço quando necessário. Por exemplo, a função IOleInPlaceSite::GetWindowContext) pode ser usada por um objeto ou controle in-loco para acessar ponteiros de interface para o objeto de documento que contém o site e o objeto frame que contém o documento. Como esses ponteiros de interface existem em objetos separados, o controle não pode chamar QueryInterface do site para obter esses ponteiros. Em vez disso, use a interface IServiceProvider.

A interface IServiceProvider precisa sobrecarregar um único método, QueryService, por meio do qual um chamador especifica a ID de serviço (SID, um GUID), a IID da interface a ser retornada e o endereço da variável de ponteiro da interface do chamador. A segunda sobrecarga infere o IID do ponteiro de saída passado para o método .

A IID para essa interface é IID_IServiceProvider.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Build 22000
Servidor mínimo com suporte Windows Build 22000
Cabeçalho servprov.h