Метод IUPnPService::QueryStateVariable (upnp.h)
Метод QueryStateVariable возвращает значение переменной состояния указанной службы.
Синтаксис
HRESULT QueryStateVariable(
[in] BSTR bstrVariableName,
[out] VARIANT *pValue
);
Параметры
[in] bstrVariableName
Указывает переменную состояния, для которой возвращается значение.
[out] pValue
Получает ссылку на значение переменной, указанное bstrVariableName. Тип возвращаемых данных зависит от переменной состояния, для которой был вызван запрос.
Чтобы освободить этот параметр, используйте VariantClear.
Возвращаемое значение
Если метод выполнен успешно, возвращаемое значение будет S_OK. В противном случае метод возвращает один из кодов com-ошибок, определенных в WinError.h, или одно из возвращаемых значений UPnP, перечисленных в следующей таблице. Некоторые из этих значений указывают на то, что с устройства, сертифицированного UPnP, была получена ошибка. Дополнительные сведения см. в разделе Коды ошибок устройства.
Код возврата | Описание |
---|---|
|
Переменная не имеет события, и удаленный запрос вернул код ошибки. Это не ошибка транспорта; устройство получило запрос, но вернуло ошибку. |
|
Устройство не ответило в течение 30-секундного периода ожидания. |
|
Переменная не существует. |
|
Запрос не был завершен из-за проблем на уровне протокола UPnP. |
|
Переменная не выполняется, и удаленный запрос к значению завершился сбоем из-за проблемы HTTP. Чтобы получить код ошибки HTTP, используйте IUPnPService::LastTransportStatus. |
|
Переменная имеет событие, но программное обеспечение UPnP не может вернуть значение, так как оно по-прежнему ожидает уведомления о событии. |
Комментарии
Форум UPnP не рекомендует использовать этот метод. Если это возможно, используйте действие для конкретной службы, если оно было предоставлено.
Этот метод извлекает значения событийных переменных из локального кэша объекта службы. Кэш содержит значение для каждой переменной, указанной в последнем уведомлении о событии. Этот метод извлекает значения не evented переменных, отправляя удаленный запрос на устройство.
Если приложение вызывает этот метод для переменной событийного состояния, то между моментом инициализации службы и моментом обработки первого события UPNP_E_VARIABLE_VALUE_UNKNOWN возвращается.
Если приложение вызывает этот метод для службы, которая не использует события, и HTTP-запрос завершается сбоем, возвращается UPNP_E_TRANSPORT_ERROR . Чтобы просмотреть состояние, используйте IUPnPService::LastTransportStatus.
Чтобы обойти эту проблему, используйте тип переменной dataTime.tz вместо time.tz в контрольной точке.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Ни одна версия не поддерживается |
Целевая платформа | Windows |
Header | upnp.h |
DLL | Upnp.dll |