BeginQueryStateVariable 方法从特定服务启动状态变量值的异步请求。 此外,如果指示延迟的服务控制协议说明 (SCPD) 下载和事件订阅,并且尚未进行,则此方法将启动 SCPD 下载和事件订阅。
语法
HRESULT BeginQueryStateVariable(
[in] BSTR bstrVariableName,
[in, optional] IUPnPAsyncResult *pAsyncResult,
[out] PULONG64 pullRequestID
);
参数
[in] bstrVariableName
指定请求的状态变量值。
[in, optional] pAsyncResult
指向 IUPnPAsyncResult 对象的指针。 BeginQueryStateVariable 调用完成后,UPnP 将使用 IUPnPAsyncResult::AsyncOperationComplete 方法通知控制点。
[out] pullRequestID
指向用于标识异步 I/O 操作的 64 位 ULONG 值的指针。 在使用 EndQueryStateVariable 结束或取消此操作时,UPnP 控制点必须使用此句柄。
返回值
如果成功,则返回 S_OK。 否则,该方法将返回 WinError.h 中定义的 COM 错误代码或以下值之一:
| 返回代码 | 说明 |
|---|---|
|
未能启动异步操作。 |
|
请求的状态变量(由 bstrVariableName 指示)不存在。 |
注意 某些值可以指示从经过 UPnP 认证的设备收到错误。 有关详细信息,请参阅 设备错误代码。
注解
在使用此方法查询任何事件状态变量之前,应先完成事件订阅。 如果未发生这种情况, 则返回UPNP_E_VARIABLE_VALUE_UNKNOWN ,事件订阅将在内部发生。 因此,下一个 BeginQueryStateVariable 调用将成功。
注意 对于没有事件变量的服务,此方法将始终按预期运行。
要求
| 最低受支持的客户端 | Windows 8 [仅限桌面应用] |
| 最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
| 目标平台 | Windows |
| 标头 | upnp.h |
| DLL | Upnp.dll |