Compartir a través de


Controlar dispositivos

Los servicios que exponen controlan los dispositivos basados en UPnP. Un servicio UPnP es la entidad controlable más pequeña de la arquitectura UPnP. Los dispositivos exponen un servicio para cada función principal que realizan. Normalmente, los dispositivos complejos se componen de varios servicios simples y otros dispositivos.

Un servicio consta de un conjunto de variables de estado y un conjunto de acciones que una aplicación puede invocar que operan en esas variables de estado. En la API de punto de control con tecnología UPnP, los servicios se representan mediante objetos de servicio que exponen la interfaz IUPnPService .

Un tipo de servicio define las variables de estado y las acciones admitidas por un servicio determinado. Por ejemplo, el tipo de servicio de un servicio de reloj define las acciones GetTime y SetTime , junto con una variable de estado time .

Un identificador de servicio diferencia varios tipos de servicio comunes dentro de un único dispositivo. Por ejemplo, puede haber dos servicios de reloj en un reloj de alarma, uno para el reloj normal y el otro para la alarma. Debe haber una manera de diferenciar entre los dos servicios, que tienen tipos de servicio idénticos. El identificador de servicio proporciona una manera única de identificar una instancia de un tipo de servicio. A continuación, este identificador de servicio se usa para tener acceso al servicio correcto desde la colección IUPnPServices , ya que el tipo de servicio no es un identificador único. La interfaz IUPnPService también permite a las aplicaciones registrar una función de devolución de llamada con el objeto de servicio. Cuando cambia el valor de la variable de estado de un servicio, el objeto de servicio invoca la devolución de llamada registrada para notificar a la aplicación del cambio. El marco UPnP también invoca esta devolución de llamada para notificar a las aplicaciones cuando una instancia de servicio no está disponible. El servicio puede dejar de estar disponible por diversos motivos, incluido el error de red transitorio.

Para obtener más información, vea los temas siguientes: