Compartilhar via


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

O método ReregisterRunningDevice registra novamente um dispositivo em execução 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. A publicação deste dispositivo não persiste entre as inicializações do sistema.

Sintaxe

HRESULT ReregisterRunningDevice(
  [in] BSTR     bstrDeviceIdentifier,
  [in] BSTR     bstrXMLDesc,
  [in] IUnknown *punkDeviceControl,
  [in] BSTR     bstrInitString,
  [in] BSTR     bstrResourcePath,
  [in] long     nLifeTime
);

Parâmetros

[in] bstrDeviceIdentifier

Especifica o identificador de dispositivo do dispositivo. Esse deve ser o mesmo identificador retornado por IUPnPRegistrar::RegisterRunningDevice no parâmetro pbstrDeviceIdentifier .

[in] bstrXMLDesc

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

[in] punkDeviceControl

Especifica o ponteiro IUnknown para o objeto de controle de dispositivo do dispositivo.

[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] 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.

[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.

Valor retornado

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_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

O cliente que invoca esse método deve ser capaz de representar LocalService para poder concluir o processamento desse método.

O método IUPnPDeviceControl::Initialize é invocado quando a primeira solicitação de controle ou evento é recebida.

O registro desse dispositivo não persiste entre as inicializações do sistema.

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

Requisitos

   
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

IUPnPRegistrar::RegisterRunningDevice

IUPnPRegistrar::UnregisterDevice

IUPnPReregistrar