Export (0) Print
Expand All

IProfferService.ProfferService Method

Allows the caller to proffer a new service to the set of services presently proffered by the environment, either natively or by other installed VSPackages.

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

int ProfferService(
	ref Guid rguidService,
	IServiceProvider psp,
	out uint pdwCookie


Type: System.Guid

[in] A GUID that identifies the service being proffered.

Type: Microsoft.VisualStudio.OLE.Interop.IServiceProvider

[in] Pointer to the IServiceProvider interface that provides the environment with the means to request the service.

Type: System.UInt32

[out, retval] Cookie that identifies the service so that the caller can later revoke the service.

Return Value

Type: System.Int32
If the method succeeds, it returns S_OK. If it fails, it returns an error code.

COM Signature

From proffserv.idl:

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

Normally used in conjunction with a call to SetSite.

A VSPackage cannot replace the implementation of a service that is already provided by the environment or another loaded VSPackage. Therefore, if a service is already provided at the time an attempt to proffer the same service is made, the IProfferService::ProfferService method will fail and return S_FALSE.

VSPackages proffer their services, and, during normal conditions, they do not revoke their services. These services are revoked as part of the shutdown sequence of the environment.

© 2014 Microsoft