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 错误代码或以下值之一:
| 返回代码 | 说明 |
|---|---|
|
正在对此 IUPnPServiceAsync 对象执行另一个异步操作。 创建另一个 IUPnPServiceAsync 实例或使用 IUPnPServiceAsync::CancelAsyncOperation 取消正在运行的操作。 |
|
未能启动操作。 |
|
设备不支持此操作。 |
注意 某些值可以指示从经过 UPnP 认证的设备收到错误。 有关详细信息,请参阅 设备错误代码。
要求
| 要求 | 值 |
|---|---|
| 最低受支持的客户端 | Windows 8 [仅限桌面应用] |
| 最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
| 目标平台 | Windows |
| 标头 | upnp.h |
| DLL | Upnp.dll |