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

指向用于标识异步 I/O 操作的 64 位 ULONG 值的指针。 控制点必须在通过 EndSubscribeToEventsCancelAsyncOperation 结束或取消操作时使用此句柄。

返回值

如果成功,则返回 S_OK。 否则,方法将返回 WinError.h 中定义的 COM 错误代码或以下值之一:

返回代码 说明
E_FAIL
未能启动异步操作。
 
注意 某些值可以指示已从 UPnP 认证的设备收到错误。 有关详细信息,请参阅 设备错误代码
 

注解

在使用 BeginQueryStateVariable 查询任何事件状态变量之前,应先完成事件订阅。 如果未发生这种情况,则返回 UPNP_E_VARIABLE_VALUE_UNKNOWN ,事件订阅将在内部发生。 因此,下一个 BeginQueryStateVariable 调用将成功。

注意 对于没有事件变量的服务, BeginQueryStateVariable 将始终按预期方式运行。
 
多次调用此方法将导致添加多个回调。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 upnp.h
DLL Upnp.dll

另请参阅

IUPnPServiceAsync

IUPnPServiceAsync::CancelAsyncOperation

IUPnPServiceAsync::EndSubscribeToEvents