Compartilhar via


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

O método QueryStateVariable retorna o valor da variável de estado do serviço especificado.

Sintaxe

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

Parâmetros

[in] bstrVariableName

Especifica a variável de estado para a qual retornar um valor.

[out] pValue

Recebe uma referência ao valor da variável especificada por bstrVariableName. O tipo dos dados retornados depende da variável de estado para a qual a consulta foi invocada.

Para liberar esse parâmetro, use VariantClear.

Retornar valor

Se o método for bem-sucedido, o valor retornado será S_OK. Caso contrário, o método retornará um dos códigos de erro COM definidos em WinError.h ou um dos valores retornados específicos do UPnP listados na tabela a seguir. Alguns desses valores indicam que um erro foi recebido de um dispositivo certificado por UPnP. Para obter mais informações, consulte Códigos de erro do dispositivo.

Código de retorno Descrição
UPNP_E_DEVICE_ERROR
A variável não é eventuais e a consulta remota retornou um código de erro. Este não é um erro de transporte; o dispositivo recebeu a solicitação, mas retornou um erro.
UPNP_E_DEVICE_TIMEOUT
O dispositivo não respondeu dentro do período de tempo limite de 30 segundos.
UPNP_E_INVALID_VARIABLE
A variável não existe.
UPNP_E_PROTOCOL_ERROR
A consulta não foi concluída devido a problemas no nível do protocolo UPnP.
UPNP_E_TRANSPORT_ERROR
A variável não é eventuária e a consulta remota para o valor falhou devido a um problema de HTTP. Para recuperar o código de erro HTTP, use IUPnPService::LastTransportStatus.
UPNP_E_VARIABLE_VALUE_UNKNOWN
A variável é evented, mas o software UPnP não pode retornar um valor porque ainda está aguardando uma notificação de evento.

Comentários

O Fórum UPnP desencoraja o uso desse método. Se possível, use uma ação específica do serviço, se uma tiver sido fornecida.

Esse método recupera os valores de variáveis evented do cache local do objeto de serviço. O cache contém o valor de cada variável indicada na última notificação de evento. Esse método recupera os valores de variáveis não evented enviando uma consulta remota para o dispositivo.

Se um aplicativo invocar esse método para uma variável de estado evented, entre a hora em que um serviço se inicializar pela primeira vez e a hora em que processar seu primeiro evento, UPNP_E_VARIABLE_VALUE_UNKNOWN será retornado.

Se um aplicativo invocar esse método para um serviço que não usa eventos e a solicitação HTTP falhar, UPNP_E_TRANSPORT_ERROR será retornado. Para exibir o status, use IUPnPService::LastTransportStatus.

Nota A variável time.tz pode conter informações incorretas de fuso horário no ponto de controle. Por exemplo, você pode ter um dispositivo e um ponto de controle em execução no mesmo fuso horário, -7,00. Quando o ponto de controle consulta uma variável time.tz para a hora atual, o dispositivo retorna uma estrutura de datas com o valor de fuso horário definido como -8,00 em vez de -7,00.

Para contornar esse problema, use o tipo de variável dataTime.tz time.tz no ponto de controle.

 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Nenhum compatível
Plataforma de Destino Windows
Cabeçalho upnp.h
DLL Upnp.dll

Confira também

Iupnpservice

IUPnPService::LastTransportStatus