Compartir a través de


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

El método AddCallback registra la devolución de llamada de una aplicación con el marco UPnP.

Sintaxis

HRESULT AddCallback(
  [in] IUnknown *pUnkCallback
);

Parámetros

[in] pUnkCallback

Especifica la referencia a la interfaz que contiene la devolución de llamada que se va a registrar. El objeto al que hace referencia pUnkCallback debe admitir la interfaz IUPnPServiceCallback o la interfaz IDispatch .

Valor devuelto

Si el método se realiza correctamente, el valor devuelto se S_OK. De lo contrario, el método devuelve uno de los códigos de error COM definidos en WinError.h.

Comentarios

No llame a este método desde una devolución de llamada; se producen daños en la memoria.

Si se registra más de una devolución de llamada, el marco UPnP invoca las devoluciones de llamada secuencialmente.

El objeto al que hace referencia pUnkCallback debe admitir la interfaz IUPnPServiceCallback o la interfaz IDispatch . El método AddCallback consulta primero pUnkCallback para la interfaz IUPnPServiceCallback . Si no se admite esta interfaz, el método AddCallback consulta pUnkCallback para la interfaz IDispatch . Si no se admite la interfaz IDispatch , ambas comprobaciones han fallado y el método AddCallback devuelve E_FAIL.

Si solo se admite IDispatch , el objeto de servicio invoca la devolución de llamada llamando a IDispatch::Invoke con el identificador de distribución especificado como cero, lo que indica el método predeterminado. Este método IDispatch predeterminado se pasa los mismos parámetros que el método IUPnPServiceCallback , pero el primer parámetro pasado es una cadena que indica el motivo por el que se invoca la devolución de llamada. Los valores válidos son VARIABLE_UPDATE y SERVICE_INSTANCE_DIED.

Este método tiene los argumentos siguientes:

  • Motivo por el que se invoca la devolución de llamada. Se invoca porque una variable de estado ha cambiado (VARIABLE_UPDATE) o porque la instancia de servicio no está disponible (SERVICE_INSTANCE_DIED).
  • Objeto de servicio para el que se invoca la devolución de llamada.

Si se invoca la devolución de llamada para un cambio de variable de estado, el método se pasa dos argumentos adicionales:

  • Nombre de la variable que cambió.
  • Nuevo valor.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible No se admite ninguno
Plataforma de destino Windows
Encabezado upnp.h
Archivo DLL Upnp.dll

Consulte también

IUPnPService

IUPnPServiceCallback