IProfferService.ProfferService(Guid, IServiceProvider, UInt32) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.
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
Parameters
- rguidService
- Guid
[in] A GUID that identifies the service being proffered.
- psp
- IServiceProvider
[in] Pointer to the IServiceProvider interface that provides the environment with the means to request the service.
- pdwCookie
- UInt32
[out, retval] Cookie that identifies the service so that the caller can later revoke the service.
Returns
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
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.