Compartir a través de


Método IUPnPService::QueryStateVariable (upnp.h)

El método QueryStateVariable devuelve el valor de la variable de estado del servicio especificado.

Sintaxis

HRESULT QueryStateVariable(
  [in]  BSTR    bstrVariableName,
  [out] VARIANT *pValue
);

Parámetros

[in] bstrVariableName

Especifica la variable de estado para la que se va a devolver un valor.

[out] pValue

Recibe una referencia al valor de la variable especificada por bstrVariableName. El tipo de los datos devueltos depende de la variable de estado para la que se invocó la consulta.

Para liberar este parámetro, use VariantClear.

Valor devuelto

Si el método se realiza correctamente, el valor devuelto se S_OK. De lo contrario, el método devuelve uno de los códigos de error COM definidos en WinError.h o uno de los valores devueltos específicos de UPnP enumerados en la tabla siguiente. Algunos de estos valores indican que se recibió un error de un dispositivo certificado por UPnP. Para obtener más información, consulte Códigos de error del dispositivo.

Código devuelto Descripción
UPNP_E_DEVICE_ERROR
La variable no tiene eventos y la consulta remota devolvió un código de error. Esto no es un error de transporte; el dispositivo recibió la solicitud, pero devolvió un error.
UPNP_E_DEVICE_TIMEOUT
El dispositivo no ha respondido dentro del período de tiempo de espera de 30 segundos.
UPNP_E_INVALID_VARIABLE
La variable no existe.
UPNP_E_PROTOCOL_ERROR
La consulta no se completó debido a problemas en el nivel de protocolo UPnP.
UPNP_E_TRANSPORT_ERROR
No se ha producido ningún evento en la variable y se produjo un error en la consulta remota para el valor debido a un problema HTTP. Para recuperar el código de error HTTP, use IUPnPService::LastTransportStatus.
UPNP_E_VARIABLE_VALUE_UNKNOWN
Se produce un evento en la variable, pero el software UPnP no puede devolver un valor porque sigue esperando una notificación de eventos.

Comentarios

El foro UPnP desaconseja el uso de este método. Si es posible, use una acción específica del servicio, si se ha proporcionado una.

Este método recupera los valores de las variables con eventos de la caché local del objeto de servicio. La memoria caché contiene el valor de cada variable indicada en la última notificación de eventos. Este método recupera los valores de variables no con eventos mediante el envío de una consulta remota al dispositivo.

Si una aplicación invoca este método para una variable de estado evented, entre el momento en que un servicio se inicializa por primera vez y la hora en que procesa su primer evento, se devuelve UPNP_E_VARIABLE_VALUE_UNKNOWN .

Si una aplicación invoca este método para un servicio que no usa eventos y se produce un error en la solicitud HTTP, se devuelve UPNP_E_TRANSPORT_ERROR . Para ver el estado, use IUPnPService::LastTransportStatus.

Nota La variable time.tz puede contener información incorrecta de zona horaria en el punto de control. Por ejemplo, puede tener un dispositivo y un punto de control que se ejecute en la misma zona horaria, -7.00. Cuando el punto de control consulta una variable de time.tz para la hora actual, el dispositivo devuelve una estructura datestructure con el valor de zona horaria establecido en -8.00 en lugar de -7.00.

Para solucionar este problema, use el tipo de variable dataTime.tz en su lugar time.tz en el punto de control.

 

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible No se admite ninguno
Plataforma de destino Windows
Encabezado upnp.h
Archivo DLL Upnp.dll

Consulte también

IUPnPService

IUPnPService::LastTransportStatus