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, который определяет службу, чтобы вызывающий объект мог впоследствии отозвать службу.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В противном случае функция возвращает код ошибки.
Комментарии
Подпись COM
Из проффсерв. IDL:
HRESULT IProfferService::ProfferService(
[in] REFGUID rguidService,
[in] IServiceProvider* psp,
[out] DWORD* pdwCookie
);
Обычно используется в сочетании с вызовом SetSite .
VSPackage не может заменить реализацию службы, которая уже предоставлена средой или другим загруженным пакетом VSPackage. Таким образом, если служба уже предоставлена во время попытки предложить той же службы, IProfferService::ProfferService метод завершится ошибкой и возвратит S_FALSE .
Пакеты VSPackage предложить свои службы, и во время обычных условий они не отменяют свои службы. Эти службы отзываются в рамках последовательности завершения работы среды.