Méthode IUPnPReregistrar::ReregisterRunningDevice (upnphost.h)
La méthode ReregisterRunningDevice réinscrit un appareil en cours d’exécution auprès de l’hôte de l’appareil. Les informations de l’appareil sont stockées par l’hôte de l’appareil. Ensuite, l’hôte de l’appareil retourne un identificateur d’appareil et publie et annonce l’appareil sur le réseau. La publication de cet appareil ne persiste pas entre les démarrages système.
Syntaxe
HRESULT ReregisterRunningDevice(
[in] BSTR bstrDeviceIdentifier,
[in] BSTR bstrXMLDesc,
[in] IUnknown *punkDeviceControl,
[in] BSTR bstrInitString,
[in] BSTR bstrResourcePath,
[in] long nLifeTime
);
Paramètres
[in] bstrDeviceIdentifier
Spécifie l’identificateur de l’appareil. Il doit s’agir du même identificateur retourné par IUPnPRegistrar::RegisterRunningDevice dans le paramètre pbstrDeviceIdentifier .
[in] bstrXMLDesc
Spécifie le modèle de description d’appareil XML de l’appareil à inscrire.
[in] punkDeviceControl
Spécifie le pointeur IUnknown vers l’objet de contrôle d’appareil de l’appareil.
[in] bstrInitString
Identifie la chaîne d’initialisation spécifique à l’appareil. Cette chaîne est transmise ultérieurement à IUPnPDeviceControl::Initialize.
[in] bstrResourcePath
Spécifie l’emplacement du répertoire de ressources de l’appareil. Ce répertoire de ressources contient les fichiers d’icônes et les descriptions de service qui sont spécifiés dans le modèle de description de l’appareil bstrXMLDesc.
[in] nLifeTime
Spécifie la durée de vie de l’annonce de l’appareil, en secondes. Une fois le délai d’expiration expiré, les annonces sont actualisées. Si vous spécifiez zéro, la valeur par défaut de 1800 (30 minutes) est utilisée. La valeur minimale autorisée est 900 (15 minutes) ; si vous spécifiez une valeur inférieure à 900, une erreur est retournée.
Valeur retournée
Si la méthode réussit, la valeur de retour est S_OK. Sinon, la méthode retourne l’un des codes d’erreur COM définis dans WinError.h, ou l’un des codes d’erreur UPnP suivants.
Code de retour | Description |
---|---|
|
L’appareil n’a pas été inscrit. Utilisez RegisterRunningDevice pour inscrire un appareil non inscrit. |
|
Un élément en double existe. |
|
Il existe un ID de service en double pour un service au sein du même appareil parent. |
|
La description de l’appareil n’est pas valide. |
|
Une erreur est présente dans l’élément icône de la description de l’appareil. |
|
Une erreur est présente dans un élément de service dans la description de l’appareil. |
|
Un élément obligatoire est manquant. |
Remarques
Le client qui appelle cette méthode doit être en mesure d’emprunter l’identité de LocalService pour pouvoir terminer le traitement de cette méthode.
La méthode IUPnPDeviceControl::Initialize est appelée lorsque la première demande de contrôle ou d’événement est reçue.
L’inscription de cet appareil ne persiste pas entre les démarrages système.
Les erreurs courantes qui peuvent se produire lors de l’appel de cette fonction sont les suivantes :
- L’objet COM nécessaire est introuvable.
- Il n’existe aucun accès à l’objet COM pour LocalService.
- Interfaces COM subordonnées.
- Limites de description XML (consultez Création d’une description d’appareil).
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Aucun pris en charge |
Plateforme cible | Windows |
En-tête | upnphost.h |
DLL | Upnphost.dll |
Voir aussi
IUPnPRegistrar::RegisterRunningDevice