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 |
---|---|
|
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. |
|
O dispositivo não respondeu dentro do período de tempo limite de 30 segundos. |
|
A variável não existe. |
|
A consulta não foi concluída devido a problemas no nível do protocolo UPnP. |
|
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. |
|
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.
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 |