Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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)
Syntax
'Declaration
Function ProfferService ( _
ByRef rguidService As Guid, _
psp As IServiceProvider, _
<OutAttribute> ByRef pdwCookie As UInteger _
) As Integer
int ProfferService(
ref Guid rguidService,
IServiceProvider psp,
out uint pdwCookie
)
int ProfferService(
[InAttribute] Guid% rguidService,
[InAttribute] IServiceProvider^ psp,
[OutAttribute] unsigned int% pdwCookie
)
abstract ProfferService :
rguidService:Guid byref *
psp:IServiceProvider *
pdwCookie:uint32 byref -> int
function ProfferService(
rguidService : Guid,
psp : IServiceProvider,
pdwCookie : uint
) : int
Parameters
- rguidService
Type: System.Guid%
[in] A GUID that identifies the service being proffered.
- psp
Type: Microsoft.VisualStudio.OLE.Interop.IServiceProvider
[in] Pointer to the IServiceProvider interface that provides the environment with the means to request the service.
- pdwCookie
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.
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.
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.