Partager via


Comment inscrire un appareil auprès de l’hôte de l’appareil

Vous pouvez inscrire un appareil en cours d’exécution ou un appareil non exécuté.

Inscription d’un appareil en cours d’exécution

Les appareils sont inscrits à l’aide de l’interface IUPnPRegistrar . Seuls les administrateurs sont autorisés à inscrire des appareils en cours d’exécution. Pour inscrire un appareil qui a un objet de contrôle d’appareil en cours d’exécution, une application doit appeler IUPnPRegistrar::RegisterRunningDevice, en transmettant ce qui suit :

  • Texte de la description de l’appareil.
  • Pointeur IUnknown vers l’objet de contrôle d’appareil.
  • Chaîne d’initialisation transmise à la méthode IUPnPDeviceControl::Initialize de l’objet de contrôle d’appareil.
  • Emplacement du répertoire de ressources.
  • Durée de vie de l’appareil.
  • Le paramètre Device ID (un paramètre OUT), qui est la valeur de retour de cet appel ; un pointeur vers l’ID d’appareil est retourné en C++.

Inscription d’un appareil non en cours d’exécution

Par défaut, seuls les administrateurs et les utilisateurs interactifs sont autorisés à inscrire des appareils non en cours d’exécution. Pour inscrire un appareil avec un objet de contrôle d’appareil qui n’est pas en cours d’exécution, l’application utilise la méthode IUPnPRegistrar::RegisterDevice .

Pour inscrire par programmation un appareil avec un objet de contrôle d’appareil non actif, l’application doit appeler IUPnPRegistrar::RegisterDevice et lui passer les paramètres suivants :

  • Texte de la description de l’appareil.
  • ProgID de l’objet de contrôle d’appareil.
  • Chaîne d’initialisation transmise à la méthode IUPnPDeviceControl::Initialize de l’objet de contrôle d’appareil.
  • ID de conteneur.
  • Emplacement du répertoire de ressources.
  • Durée de vie de l’appareil.
  • Le paramètre Device ID (un paramètre OUT), qui est la valeur de retour de cet appel ; un pointeur vers l’ID d’appareil est retourné en C++.

Les inscriptions d’appareils non en cours d’exécution peuvent être configurées pour persister entre les démarrages du système (les appareils ne sont pas publiés pendant la phase d’arrêt). Par conséquent, s’ils sont configurés de cette façon, les appareils sont publiés et annoncés chaque fois que l’ordinateur est démarré.