IUPnPService ::QueryStateVariable, méthode (upnp.h)
La méthode QueryStateVariable retourne la valeur de la variable d’état du service spécifié.
Syntaxe
HRESULT QueryStateVariable(
[in] BSTR bstrVariableName,
[out] VARIANT *pValue
);
Paramètres
[in] bstrVariableName
Spécifie la variable d’état pour laquelle retourner une valeur.
[out] pValue
Reçoit une référence à la valeur de la variable spécifiée par bstrVariableName. Le type des données retournées dépend de la variable d’état pour laquelle la requête a été appelée.
Pour libérer ce paramètre, utilisez VariantClear.
Valeur retournée
Si la méthode réussit, la valeur de retour est S_OK. Sinon, la méthode retourne l’un des codes d’erreur COM définis dans WinError.h ou l’une des valeurs de retour spécifiques à UPnP répertoriées dans le tableau suivant. Certaines de ces valeurs indiquent qu’une erreur a été reçue d’un appareil certifié UPnP. Pour plus d’informations, consultez Codes d’erreur d’appareil.
Code de retour | Description |
---|---|
|
La variable n’est pas événementielle et la requête distante a retourné un code d’erreur. Il ne s’agit pas d’une erreur de transport ; l’appareil a reçu la demande, mais il a renvoyé une erreur. |
|
L’appareil n’a pas répondu dans le délai d’attente de 30 secondes. |
|
La variable n’existe pas. |
|
La requête ne s’est pas terminée en raison de problèmes au niveau du protocole UPnP. |
|
La variable n’est pas événementielle et la requête distante pour la valeur a échoué en raison d’un problème HTTP. Pour récupérer le code d’erreur HTTP, utilisez IUPnPService ::LastTransportStatus. |
|
La variable est événementielle, mais le logiciel UPnP ne peut pas retourner une valeur, car il attend toujours une notification d’événement. |
Remarques
Le forum UPnP déconseille l’utilisation de cette méthode. Si possible, utilisez une action spécifique au service, le cas échéant.
Cette méthode récupère les valeurs des variables événementielles du cache local de l’objet de service. Le cache contient la valeur de chaque variable indiquée dans la dernière notification d’événement. Cette méthode récupère les valeurs des variables non événementielles en envoyant une requête distante à l’appareil.
Si une application appelle cette méthode pour une variable d’état événementielle, entre le moment où un service s’initialise pour la première fois et le moment où il traite son premier événement, UPNP_E_VARIABLE_VALUE_UNKNOWN est retourné.
Si une application appelle cette méthode pour un service qui n’utilise pas d’événements et que la requête HTTP échoue, UPNP_E_TRANSPORT_ERROR est retournée. Pour afficher les status, utilisez IUPnPService ::LastTransportStatus.
Pour contourner ce problème, utilisez le type de variable dataTime.tz plutôt time.tz sur le point de contrôle.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Aucun pris en charge |
Plateforme cible | Windows |
En-tête | upnp.h |
DLL | Upnp.dll |