Compartilhar via


Como registrar um dispositivo com o host do dispositivo

Você pode registrar um dispositivo em execução ou um dispositivo não em execução.

Registrando um dispositivo em execução

Os dispositivos são registrados usando a interface IUPnPRegistrar . Somente os administradores têm permissão para registrar dispositivos em execução. Para registrar um dispositivo que tenha um objeto de controle de dispositivo em execução, um aplicativo deve invocar IUPnPRegistrar::RegisterRunningDevice, passando o seguinte:

  • O texto da descrição do dispositivo.
  • Um ponteiro IUnknown para o objeto de controle do dispositivo.
  • Uma cadeia de caracteres de inicialização que é passada para o método IUPnPDeviceControl::Initialize do objeto de controle do dispositivo.
  • O local do diretório de recursos.
  • O tempo de vida do dispositivo.
  • O parâmetro ID do dispositivo (um parâmetro OUT), que é o valor retornado dessa chamada; um ponteiro para a ID do dispositivo é retornado em C++.

Registrando um dispositivo que não está em execução

Por padrão, somente administradores e usuários interativos têm permissão para registrar dispositivos que não estão em execução. Para registrar um dispositivo com um objeto de controle de dispositivo que não está em execução, o aplicativo usa o método IUPnPRegistrar::RegisterDevice .

Para registrar programaticamente um dispositivo com um objeto de controle de dispositivo não em execução, o aplicativo deve invocar IUPnPRegistrar::RegisterDevice e passá-lo os seguintes parâmetros:

  • O texto da descrição do dispositivo.
  • O ProgID do objeto de controle do dispositivo.
  • Uma cadeia de caracteres de inicialização que é passada para o método IUPnPDeviceControl::Initialize do objeto de controle do dispositivo.
  • Uma ID de contêiner.
  • O local do diretório de recursos.
  • O tempo de vida do dispositivo.
  • O parâmetro ID do dispositivo (um parâmetro OUT), que é o valor retornado dessa chamada; um ponteiro para a ID do dispositivo é retornado em C++.

Os registros de dispositivos não em execução podem ser configurados para persistir entre as inicializações do sistema (os dispositivos não são publicados durante a fase de desligamento). Portanto, se eles estiverem configurados dessa forma, os dispositivos serão publicados e anunciados sempre que o computador for inicializado.