Метод IUPnPServiceAsync::BeginSubscribeToEvents (upnp.h)

BeginSubscribeToEvents инициирует подписку на события в асинхронном режиме и регистрирует обратный вызов приложения в платформе UPnP.

Синтаксис

HRESULT BeginSubscribeToEvents(
  [in]           IUnknown         *pUnkCallback,
  [in, optional] IUPnPAsyncResult *pAsyncResult,
  [out]          PULONG64         pullRequestID
);

Параметры

[in] pUnkCallback

Указывает ссылку на объект интерфейса, содержащий регистрируемую функцию обратного вызова. Этот объект должен поддерживать интерфейс IUPnPServiceCallback или интерфейс IDispatch .

[in, optional] pAsyncResult

Указывает ссылку на объект IUPnPAsyncResult . После завершения вызова BeginSubscribeToEvents UPnP будет использовать метод IUPnPAsyncResult::AsyncOperationComplete для уведомления контрольной точки.

[out] pullRequestID

Указатель на 64-разрядное значение ULONG , используемое для идентификации асинхронной операции ввода-вывода. Контрольная точка должна использовать этот дескриптор при завершении или отмене операции через EndSubscribeToEvents или CancelAsyncOperation.

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

Возвращает S_OK при успешном выполнении. В противном случае метод возвращает код ошибки COM, определенный в WinError.h , или одно из следующих значений:

Код возврата Описание
E_FAIL
Не удалось запустить асинхронную операцию.
 
Примечание Некоторые значения могут указывать на то, что ошибка получена от устройства, сертифицированного UPnP. Дополнительные сведения см. в разделе Коды ошибок устройства.
 

Комментарии

Подписка на события должна быть завершена перед запросом любых переменных состояния события с помощью BeginQueryStateVariable. Если этого не происходит, возвращается UPNP_E_VARIABLE_VALUE_UNKNOWN , а подписка на событие будет выполняться внутри системы. В результате следующий вызов BeginQueryStateVariable будет выполнен успешно.

Примечание Для служб без переменных с событиями BeginQueryStateVariable всегда будет вести себя должным образом.
 
Вызов этого метода несколько раз приведет к добавлению нескольких обратных вызовов.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header upnp.h
DLL Upnp.dll

См. также раздел

IUPnPServiceAsync

IUPnPServiceAsync::CancelAsyncOperation

IUPnPServiceAsync::EndSubscribeToEvents