EndInvokeAction 方法检索上一个 BeginInvokeAction 操作的结果,并检索生成的输出参数。
语法
HRESULT EndInvokeAction(
[in, out] ULONG64 ullRequestID,
[in, out] VARIANT *pvOutActionArgs,
[in] VARIANT *pvRetVal
);
参数
[in, out] ullRequestID
输入时,包含对空数组的引用。 在输出时, 接收对特定于服务的输出参数数组的引用。 如果操作没有输出参数,则此参数包含一个空数组。
注意 使用 VariantClear 清除此参数。
[in, out] pvOutActionArgs
输入时包含对空数组的引用。 在输出中, 接收对 VARIANT 的引用,其中包含被调用操作的返回值。
注意 使用 VariantClear 清除此参数。
[in] pvRetVal
对应于在此调用之前启动的 BeginInvokeAction 操作的 64 位 ULONG 值。
返回值
如果成功,则返回 S_OK。 否则,该方法将返回 WinError.h 中定义的 COM 错误代码或以下值之一:
| 返回代码 | 说明 |
|---|---|
|
设备在 30 秒超时期限内未响应。 |
|
发生未知错误。 |
|
传递的一个或多个参数无效。 |
|
设备不支持此操作。 |
|
设备发送了无法处理的响应;例如,响应已损坏。 |
|
UPnP 控制协议级别发生错误。 |
|
发生 HTTP 错误。 使用 IUPnPService::LastTransportStatus 属性获取实际的 HTTP 状态代码。
注意 当 SOAP 响应超过 100 KB 时,也会返回此错误代码。
|
注意 某些值可以指示从经过 UPnP 认证的设备收到错误。 有关详细信息,请参阅 设备错误代码。
要求
| 要求 | 值 |
|---|---|
| 最低受支持的客户端 | Windows 8 [仅限桌面应用] |
| 最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
| 目标平台 | Windows |
| 标头 | upnp.h |
| DLL | Upnp.dll |