EndQueryStateVariable 方法检索上一个 BeginQueryStateVariable 操作的结果,并检索特定于服务的结果状态变量值。
语法
HRESULT EndQueryStateVariable(
[in] ULONG64 ullRequestID,
[out, retval] VARIANT *pValue
);
参数
[in] ullRequestID
指向 64 位 ULONG 值的指针,该值对应于在此调用之前启动的 BeginQueryStateVariable 操作。
[out, retval] pValue
输入时,包含一个空数组。 在输出时,接收对 BeginQueryStateVariable by bstrVariableName 中指定的变量值的引用。 返回的数据类型取决于为其调用查询的状态变量。
注意 使用 VariantClear 清除此参数。
返回值
如果成功,则返回 S_OK。 否则,方法将返回 WinError.h 中定义的 COM 错误代码或以下值之一:
| 返回代码 | 说明 |
|---|---|
|
状态变量未发生事件,远程查询返回错误代码。 这不是传输错误;设备收到了请求,但它返回了错误。 |
|
请求的状态变量不存在。 |
|
设备在 30 秒超时期限内未响应。 |
|
使用 vInActionArgs 传递的一个或多个参数无效。 |
|
由于 UPnP 协议级别出现问题,查询未完成。 |
|
状态变量未发生事件,并且由于 HTTP 问题,对值的远程查询失败。 若要检索 HTTP 错误代码,请使用 IUPnPService::LastTransportStatus。 |
|
状态变量已发生事件,但 UPnP 软件无法返回值,因为它仍在等待事件通知。 |
注意 某些值可以指示已从 UPnP 认证的设备收到错误。 有关详细信息,请参阅 设备错误代码。
要求
| 最低受支持的客户端 | Windows 8 [仅限桌面应用] |
| 最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
| 目标平台 | Windows |
| 标头 | upnp.h |
| DLL | Upnp.dll |