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 |
---|---|
|
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. |
|
Il dispositivo non ha risposto entro il periodo di timeout di 30 secondi. |
|
La variabile non esiste. |
|
La query non è stata completata a causa di problemi a livello di protocollo UPnP. |
|
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. |
|
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.
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 |