Condividi tramite


Metodo IUPnPService::QueryStateVariable (upnp.h)

Il metodo QueryStateVariable restituisce il valore della variabile di stato del servizio specificato.

Sintassi

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

Parametri

[in] bstrVariableName

Specifica la variabile di stato per cui restituire un valore.

[out] pValue

Riceve un riferimento al valore della variabile specificata da bstrVariableName. Il tipo dei dati restituiti dipende dalla variabile di stato per cui è stata richiamata la query.

Per liberare questo parametro, usare VariantClear.

Valore restituito

Se il metodo ha esito positivo, il valore restituito è S_OK. In caso contrario, il metodo restituisce uno dei codici di errore COM definiti in WinError.h o uno dei valori restituiti specifici di UPnP elencati nella tabella seguente. Alcuni di questi valori indicano che un errore è stato ricevuto da un dispositivo certificato UPnP. Per altre informazioni, vedere Codici di errore del dispositivo.

Codice restituito Descrizione
UPNP_E_DEVICE_ERROR
La variabile non è evento e la query remota ha restituito un codice di errore. Non si tratta di un errore di trasporto; il dispositivo ha ricevuto la richiesta, ma ha restituito un errore.
UPNP_E_DEVICE_TIMEOUT
Il dispositivo non ha risposto entro il periodo di timeout di 30 secondi.
UPNP_E_INVALID_VARIABLE
La variabile non esiste.
UPNP_E_PROTOCOL_ERROR
La query non è stata completata a causa di problemi a livello di protocollo UPnP.
UPNP_E_TRANSPORT_ERROR
La variabile non è evento e la query remota per il valore non è riuscita a causa di un problema HTTP. Per recuperare il codice di errore HTTP, usare IUPnPService::LastTransportStatus.
UPNP_E_VARIABLE_VALUE_UNKNOWN
La variabile viene evento, ma il software UPnP non può restituire un valore perché è ancora in attesa di una notifica evento.

Commenti

Il forum UPnP scoraggia l'uso di questo metodo. Se possibile, usare un'azione specifica del servizio, se è stata fornita.

Questo metodo recupera i valori delle variabili evento dalla cache locale dell'oggetto servizio. La cache contiene il valore per ogni variabile indicata nell'ultima notifica dell'evento. Questo metodo recupera i valori delle variabili non evento inviando una query remota al dispositivo.

Se un'applicazione richiama questo metodo per una variabile di stato evento, tra l'ora in cui un servizio inizializza se stesso e l'ora in cui elabora il primo evento, UPNP_E_VARIABLE_VALUE_UNKNOWN viene restituito.

Se un'applicazione richiama questo metodo per un servizio che non usa eventi e la richiesta HTTP non riesce, UPNP_E_TRANSPORT_ERROR viene restituito. Per visualizzare lo stato, usare IUPnPService::LastTransportStatus.

Nota La variabile time.tz può contenere informazioni sul fuso orario non corrette nel punto di controllo. Ad esempio, è possibile avere un dispositivo e un punto di controllo in esecuzione nello stesso fuso orario, -7.00. Quando il punto di controllo esegue una query time.tz variabile per l'ora corrente, il dispositivo restituisce una struttura di data con il valore del fuso orario impostato su -8.00 anziché -7.00.

Per risolvere questo problema, usare il tipo di variabile dataTime.tz time.tz nel punto di controllo.

 

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Nessuno supportato
Piattaforma di destinazione Windows
Intestazione upnp.h
DLL Upnp.dll

Vedi anche

IUPnPService

IUPnPService::LastTransportStatus