Share via


Méthode IUPnPService ::AddCallback (upnp.h)

La méthode AddCallback enregistre le rappel d’une application auprès de l’infrastructure UPnP.

Syntaxe

HRESULT AddCallback(
  [in] IUnknown *pUnkCallback
);

Paramètres

[in] pUnkCallback

Spécifie la référence à l’interface qui contient le rappel à inscrire. L’objet référencé par pUnkCallback doit prendre en charge l’interface IUPnPServiceCallback ou l’interface IDispatch .

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.

Remarques

N’appelez pas cette méthode à partir d’un rappel ; une altération de la mémoire se produit.

Si plusieurs rappels sont inscrits, l’infrastructure UPnP appelle les rappels de manière séquentielle.

L’objet référencé par pUnkCallback doit prendre en charge l’interface IUPnPServiceCallback ou l’interface IDispatch . La méthode AddCallback interroge d’abord pUnkCallback pour l’interface IUPnPServiceCallback . Si cette interface n’est pas prise en charge, la méthode AddCallback interroge pUnkCallback pour l’interface IDispatch . Si l’interface IDispatch n’est pas prise en charge, les deux vérifications ont échoué et la méthode AddCallback retourne E_FAIL.

Si seul IDispatch est pris en charge, l’objet de service appelle le rappel en appelant IDispatch ::Invoke avec l’ID de dispatch spécifié comme zéro, ce qui indique la méthode par défaut. Cette méthode IDispatch par défaut se fait passer les mêmes paramètres que la méthode IUPnPServiceCallback , mais le premier paramètre passé est une chaîne qui indique la raison pour laquelle le rappel est appelé. Les valeurs valides sont VARIABLE_UPDATE et SERVICE_INSTANCE_DIED.

Cette méthode contient les arguments suivants :

  • Raison pour laquelle le rappel est appelé. Elle est appelée soit parce qu’une variable d’état a changé (VARIABLE_UPDATE) soit parce que le service instance est devenu indisponible (SERVICE_INSTANCE_DIED).
  • Objet de service pour lequel le rappel est appelé.

Si le rappel est appelé pour une modification de variable d’état, la méthode reçoit deux arguments supplémentaires :

  • Nom de la variable qui a changé.
  • Nouvelle valeur.

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

Voir aussi

IUPnPService

IUPnPServiceCallback