IUPnPServiceAsync::BeginInvokeAction 方法 (upnp.h)

BeginInvokeAction 方法在异步模式下调用设备上的操作。 此外,如果已选择加入延迟的 SCPD 下载和事件订阅,并且尚未进行,则此方法将启动 SCPD 下载。

语法

HRESULT BeginInvokeAction(
  [in]           BSTR             bstrActionName,
  [in]           VARIANT          vInActionArgs,
  [in, optional] IUPnPAsyncResult *pAsyncResult,
  [out]          PULONG64         pullRequestID
);

参数

[in] bstrActionName

指定要调用的方法。

[in] vInActionArgs

指定方法的输入参数数组。 如果操作没有输入参数,则此参数必须包含空数组。 此数组的内容特定于服务。

[in, optional] pAsyncResult

指向 IUPnPAsyncResult 对象的指针。 BeginInvokeAction 调用完成后,UPnP 将使用 IUPnPAsyncResult::AsyncOperationComplete 方法通知控制点。

[out] pullRequestID

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

返回值

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

返回代码 说明
E_PENDING
正在对此 IUPnPServiceAsync 对象执行另一个异步操作。 创建另一个 IUPnPServiceAsync 实例或使用 IUPnPServiceAsync::CancelAsyncOperation 取消正在运行的操作。
E_FAIL
未能启动操作。
UPNP_E_INVALID_ACTION
设备不支持此操作。
 
注意 某些值可以指示从经过 UPnP 认证的设备收到错误。 有关详细信息,请参阅 设备错误代码
 

要求

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

另请参阅

IUPnPServiceAsync

IUPnPServiceAsync::EndInvokeAction