Compartilhar via


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

O método ReregisterDevice registra novamente um dispositivo com o host do dispositivo. As informações do dispositivo são armazenadas pelo host do dispositivo. Em seguida, o host do dispositivo retorna um identificador de dispositivo e publica e anuncia o dispositivo na rede.

Sintaxe

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 o identificador de dispositivo do dispositivo. Use o identificador retornado por IUPnPRegistrar::RegisterDevice.

[in] bstrXMLDesc

Especifica o modelo de descrição do dispositivo XML do dispositivo a ser registrado.

[in] bstrProgIDDeviceControlClass

Especifica o ProgID de um objeto de controle de dispositivo que implementa a interface IUPnPDeviceControl . Essa interface deve ser um servidor COM em processo (CLSCTX_INPROC_SERVER) e deve estar acessível ao LocalService.

[in] bstrInitString

Identifica a cadeia de caracteres de inicialização específica para o dispositivo. Essa cadeia de caracteres é passada posteriormente para IUPnPDeviceControl::Initialize.

[in] bstrContainerId

Especifica uma cadeia de caracteres que identifica o grupo de processos no qual o dispositivo pertence. Todos os dispositivos com a mesma ID de contêiner estão contidos no mesmo processo.

[in] bstrResourcePath

Especifica o local do diretório de recursos do dispositivo. Esse diretório de recursos contém os arquivos de ícone e as descrições de serviço especificadas no modelo de descrição do dispositivo bstrXMLDesc. O diretório de recursos também pode conter os arquivos de apresentação. No entanto, isso é opcional.

[in] nLifeTime

Especifica o tempo de vida do anúncio do dispositivo, em segundos. Depois que o tempo limite expirar, os comunicados serão atualizados. Se você especificar zero, o valor padrão de 1800 (30 minutos) será usado. O valor mínimo permitido é 900 (15 minutos); se você especificar algo menor que 900, um erro será retornado.

Retornar valor

Se o método for bem-sucedido, o valor retornado será S_OK. Caso contrário, o método retorna um dos códigos de erro COM definidos em WinError.h ou um dos seguintes códigos de erro específicos do UPnP.

Código de retorno Descrição
UPNP_E_DEVICE_NOTREGISTERED
O dispositivo não foi registrado. Use RegisterRunningDevice para registrar um dispositivo não registrado.
UPNP_E_DEVICE_RUNNING
O dispositivo está em execução no momento. Use ReregisterRunningDevice para registrar novamente um dispositivo enquanto ele estiver em execução.
UPNP_E_DUPLICATE_NOT_ALLOWED
Existe um elemento duplicado.
UPNP_E_DUPLICATE_SERVICE_ID
Existe uma ID de serviço duplicada para um serviço no mesmo dispositivo pai.
UPNP_E_INVALID_DESCRIPTION
A descrição do dispositivo não é válida.
UPNP_E_INVALID_ICON
Um erro está presente no elemento de ícone da descrição do dispositivo.
UPNP_E_INVALID_SERVICE
Um erro está presente em um elemento de serviço na descrição do dispositivo.
UPNP_E_REQUIRED_ELEMENT_ERROR
Um elemento necessário está ausente.

Comentários

Use o identificador retornado em pbstrDeviceIdentifier ao invocar IUPnPRegistrar::UnregisterDevice.

Erros comuns que podem ocorrer ao invocar essa função incluem:

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Nenhum compatível
Plataforma de Destino Windows
Cabeçalho upnphost.h
DLL Upnphost.dll

Confira também

Iupnpregistrar

IUPnPReregistrar