Presentación
La presentación es el último paso del proceso de UPnP. Si un dispositivo tiene una dirección URL para la presentación, un punto de control puede recuperar una página de esta dirección URL y cargar la página en un explorador. En función de las funcionalidades de la página de presentación y del dispositivo, el punto de control puede controlar el dispositivo y ver el estado del dispositivo.
La ruta de acceso del recurso, que se pasa a IUPnPRegistrar durante el registro, es donde se encuentran todos los archivos pertinentes para la presentación del dispositivo. Los desarrolladores de dispositivos pueden proporcionar páginas independientes para cada dispositivo incrustado. La dirección URL de presentación de la plantilla de descripción del dispositivo puede ser una dirección URL absoluta o una dirección URL relativa. Para las direcciones URL relativas, que son relativas a la ruta de acceso del recurso, la plantilla de descripción del dispositivo debe contener un nombre de archivo. IUPnPRegistrar lo convierte en una dirección URL con la ubicación real. Para las direcciones URL absolutas, la ubicación no se modifica.
Para admitir scripts del lado cliente dentro de una página de presentación, normalmente se anexa información adicional a la dirección URL en forma de "cadena de consulta". La información adicional que se anexa es la dirección URL al documento de descripción del dispositivo y el UDN del dispositivo o dispositivo incrustado. La dirección URL de descripción del dispositivo se puede usar para cargar un documento de descripción en el script y, a continuación, controlar el dispositivo a través de sus servicios. El UDN se usa para seleccionar un dispositivo incrustado del dispositivo raíz.
El formato de la dirección URL de presentación modificada es: la dirección URL de presentación real, un signo de interrogación ("?"), la dirección URL de descripción del dispositivo, un signo más ("+"), el UDN del dispositivo. El signo de interrogación denota el inicio de la cadena de consulta.
Si la dirección URL de presentación de la plantilla de descripción del dispositivo era una dirección URL absoluta y ya contenía un signo de interrogación ("?"), la información adicional no se agrega a la dirección URL de la presentación.
Descripción | URL |
---|---|
En la plantilla de descripción del dispositivo | presentationURLMyDevice.html**/presentationURL** |
Generado por el host del dispositivo | presentationURLhttps://machinename/deviceID/MyDevice.html/?https://machine/upnphost/udhisapi.dll?content=uuid:487394 ... + UDN**/presentationURL** |
Un script del lado cliente puede tener que extraer la dirección URL de descripción del dispositivo de la dirección URL de presentación para cargar el objeto IUPnPDescriptionDocument . Esto se hace tomando la cadena de consulta y finalizando en el signo más ("+").
Dim QueryString
QueryString = window.location.search
Dim DescURLString
DescURLString = Trim(Mid(QueryString,2,Instr(QueryString,"+")-2))& vbCrLf
Dim LightDesc
Set LightDesc = CreateObject("UPnP.DescriptionDocument.1")
LightDesc.Load(DescURLString)
En el caso de una página de presentación para un dispositivo insertado, se requiere algún trabajo adicional. Después de cargar UPnPDescriptionDocument, el script debe obtener la colección de dispositivos incrustados y, a continuación, seleccionar el dispositivo que coincida con el UDN en la cadena de consulta. En el siguiente script se muestra cómo seleccionar el dispositivo incrustado para la página de presentación actual. Se supone que LightDesc ya está cargado.
Dim LightDevice
Set LightDevice = LightDesc.RootDevice
Dim EmbeddedDevices
set EmbeddedDevices = LightDevice.Children
Dim DeviceUdnString
DeviceUdnString = Trim(Mid(QueryString,Instr(QueryString,"+")+1,Len(QueryString)))
Dim Item
set Item = EmbeddedDevices.Item(DeviceUdnString)