Compartir a través de


Método IUPnPReregistrar::ReregisterDevice (upnphost.h)

El método ReregisterDevice vuelve a registrar un dispositivo con el host del dispositivo. El host del dispositivo almacena la información del dispositivo. A continuación, el host del dispositivo devuelve un identificador de dispositivo y publica y anuncia el dispositivo en la red.

Sintaxis

HRESULT ReregisterDevice(
  [in] BSTR bstrDeviceIdentifier,
  [in] BSTR bstrXMLDesc,
  [in] BSTR bstrProgIDDeviceControlClass,
  [in] BSTR bstrInitString,
  [in] BSTR bstrContainerId,
  [in] BSTR bstrResourcePath,
  [in] long nLifeTime
);

Parámetros

[in] bstrDeviceIdentifier

Especifica el identificador de dispositivo del dispositivo. Use el identificador devuelto por IUPnPRegistrar::RegisterDevice.

[in] bstrXMLDesc

Especifica la plantilla de descripción del dispositivo XML del dispositivo que se va a registrar.

[in] bstrProgIDDeviceControlClass

Especifica el ProgID de un objeto de control de dispositivo que implementa la interfaz IUPnPDeviceControl . Esta interfaz debe ser un servidor COM (CLSCTX_INPROC_SERVER) en proceso y debe ser accesible para LocalService.

[in] bstrInitString

Identifica la cadena de inicialización específica del dispositivo. Esta cadena se pasa posteriormente a IUPnPDeviceControl::Initialize.

[in] bstrContainerId

Especifica una cadena que identifica el grupo de procesos al que pertenece el dispositivo. Todos los dispositivos con el mismo identificador de contenedor se encuentran en el mismo proceso.

[in] bstrResourcePath

Especifica la ubicación del directorio de recursos del dispositivo. Este directorio de recursos contiene los archivos de icono y las descripciones de servicio que se especifican en la plantilla de descripción del dispositivo bstrXMLDesc. El directorio de recursos también puede contener los archivos de presentación. Sin embargo, esto es opcional.

[in] nLifeTime

Especifica la duración del anuncio del dispositivo, en segundos. Una vez expirado el tiempo de espera, se actualizan los anuncios. Si especifica cero, se usa el valor predeterminado de 1800 (30 minutos). El valor mínimo permitido es 900 (15 minutos); Si especifica algo menor que 900, se devuelve un error.

Valor devuelto

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

Código devuelto Descripción
UPNP_E_DEVICE_NOTREGISTERED
El dispositivo no se ha registrado. Use RegisterRunningDevice para registrar un dispositivo no registrado.
UPNP_E_DEVICE_RUNNING
El dispositivo se está ejecutando actualmente. Use ReregisterRunningDevice para volver a registrar un dispositivo mientras se ejecuta.
UPNP_E_DUPLICATE_NOT_ALLOWED
Existe un elemento duplicado.
UPNP_E_DUPLICATE_SERVICE_ID
Existe un identificador de servicio duplicado para un servicio dentro del mismo dispositivo primario.
UPNP_E_INVALID_DESCRIPTION
La descripción del dispositivo no es válida.
UPNP_E_INVALID_ICON
Hay un error en el elemento icon de la descripción del dispositivo.
UPNP_E_INVALID_SERVICE
Hay un error en un elemento de servicio en la descripción del dispositivo.
UPNP_E_REQUIRED_ELEMENT_ERROR
Falta un elemento necesario.

Comentarios

Use el identificador devuelto en pbstrDeviceIdentifier al invocar IUPnPRegistrar::UnregisterDevice.

Entre los errores comunes que pueden producirse al invocar esta función se incluyen:

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 upnphost.h
Archivo DLL Upnphost.dll

Consulte también

IUPnPRegistrar

IUPnPReregistrar