Compartilhar via


Método IProfferService.ProfferService (Guid, IServiceProvider, UInt32)

 

Publicado: abril de 2016

Permite que o chamador proffer um novo serviço para o conjunto de serviços proffered atualmente pelo ambiente de nativamente ou por outros VSPackages instalados.

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)

Sintaxe

int ProfferService(
    [InAttribute] ref Guid rguidService,
    IServiceProvider psp,
    out uint pdwCookie
)
int ProfferService(
    [InAttribute] Guid% rguidService,
    IServiceProvider^ psp,
    [OutAttribute] unsigned int% pdwCookie
)
abstract ProfferService : 
        rguidService:Guid byref *
        psp:IServiceProvider *
        pdwCookie:uint32 byref -> int
Function ProfferService (
    <InAttribute> ByRef rguidService As Guid,
    psp As IServiceProvider,
    <OutAttribute> ByRef pdwCookie As UInteger
) As Integer

Parâmetros

  • rguidService
    [in] Um GUID que identifica o serviço que está sendo proffered.
  • psp
    [in] Ponteiro para o IServiceProvider interface que fornece o ambiente com os meios para solicitar o serviço.
  • pdwCookie
    [out, retval] Cookie que identifica o serviço para que o chamador poderá revogar posteriormente o serviço.

Valor de retorno

Type: System.Int32

Se o método for bem-sucedido, ele retorna S_OK.Se ele falhar, ele retorna um código de erro.

Comentários

COM assinatura

De proffserv.idl:

HRESULT IProfferService::ProfferService(
   [in] REFGUID rguidService,
   [in] IServiceProvider* psp,
   [out] DWORD* pdwCookie
);

Normalmente usado em conjunto com uma chamada para SetSite.

VSPackage não é possível substituir a implementação de um serviço que já é fornecido pelo ambiente ou outro carregado VSPackage.Portanto, se um serviço já é fornecido no momento em uma tentativa de proffer o mesmo serviço é feita, o IProfferService::ProfferService método irá falhar e exibir S_FALSE.

Os VSPackages proffer seus serviços e, durante condições normais, eles não revogue seus serviços.Esses serviços são revogados como parte da seqüência de desligamento do ambiente.

Consulte também

Interface IProfferService
Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo