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

Definição

Permite que o chamador oferecer um novo serviço para o conjunto de serviços atualmente proffered pelo ambiente, seja nativamente ou por outro VSPackages instalado.

public:
 int ProfferService(Guid % rguidService, Microsoft::VisualStudio::OLE::Interop::IServiceProvider ^ psp, [Runtime::InteropServices::Out] System::UInt32 % pdwCookie);
public int ProfferService (ref Guid rguidService, Microsoft.VisualStudio.OLE.Interop.IServiceProvider psp, out uint pdwCookie);
abstract member ProfferService : Guid * Microsoft.VisualStudio.OLE.Interop.IServiceProvider * uint32 -> int
Public Function ProfferService (ByRef rguidService As Guid, psp As IServiceProvider, ByRef pdwCookie As UInteger) As Integer

Parâmetros

rguidService
Guid

no Um GUID que identifica o serviço que está sendo proffereddo.

psp
IServiceProvider

no Ponteiro para a IServiceProvider interface que fornece o ambiente com os meios para solicitar o serviço.

pdwCookie
UInt32

[out, retval] Cookie que identifica o serviço para que o chamador possa revogar posteriormente o serviço.

Retornos

Int32

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

Comentários

Assinatura COM

De proffserv. idl:

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

Normalmente usado em conjunto com uma chamada para SetSite .

Um VSPackage não pode substituir a implementação de um serviço que já é fornecido pelo ambiente ou por outro VSPackage carregado. Portanto, se um serviço já tiver sido fornecido no momento em que uma tentativa de oferecerr o mesmo serviço for feita, o IProfferService::ProfferService método falhará e retornará S_FALSE .

VSPackages oferecer seus serviços e, durante as condições normais, eles não revogam seus serviços. Esses serviços são revogados como parte da sequência de desligamento do ambiente.

Aplica-se a