IProfferService.ProfferService(Guid, IServiceProvider, UInt32) Метод

Определение

Позволяет вызывающему объекту предлагать новую службу набору служб, в настоящее время предлагаемых средой — с использованием уже имеющихся системных средств или путем установки других пакетов VSPackage.

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

Параметры

rguidService
Guid

[in] GUID, идентифицирующий предлагаемую службу.

psp
IServiceProvider

[in] Указатель на интерфейс IServiceProvider, который предоставляет среду со средствами для запроса службы.

pdwCookie
UInt32

[out, retval] Файл cookie, который определяет службу, чтобы вызывающий объект мог впоследствии отозвать службу.

Возвращаемое значение

Int32

Если метод завершается успешно, возвращает значение S_OK. В противном случае функция возвращает код ошибки.

Комментарии

Подпись COM

Из проффсерв. IDL:

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

Обычно используется в сочетании с вызовом SetSite .

VSPackage не может заменить реализацию службы, которая уже предоставлена средой или другим загруженным пакетом VSPackage. Таким образом, если служба уже предоставлена во время попытки предложить той же службы, IProfferService::ProfferService метод завершится ошибкой и возвратит S_FALSE .

Пакеты VSPackage предложить свои службы, и во время обычных условий они не отменяют свои службы. Эти службы отзываются в рамках последовательности завершения работы среды.

Применяется к