IWSDDeviceHost ::Init, méthode (wsdhost.h)
Initialise une instance d’un objet IWSDDeviceHost, qui est la représentation côté hôte d’un appareil.
Syntaxe
HRESULT Init(
[in] LPCWSTR pszLocalId,
[in, optional] IWSDXMLContext *pContext,
[in, optional] IWSDAddress **ppHostAddresses,
[in, optional] DWORD dwHostAddressCount
);
Paramètres
[in] pszLocalId
Adresse logique ou physique de l’appareil. Une adresse logique est de la forme urn:uuid:{guid}
. Si pszLocalId est une adresse logique, l’hôte annonce l’adresse logique, puis la convertit en adresse physique lorsqu’il reçoit des messages Resolve ou Probe.
Si pszLocalId est une adresse physique (telle que l’URL préfixée par http ou https), l’hôte utilise l’adresse comme adresse physique et hébergera sur cette adresse au lieu de l’adresse par défaut.
Pour une communication sécurisée, pszLocalId doit être une URL préfixée par https, et l’hôte utilisera le protocole SSL/TLS sur le port spécifié dans l’URL. Le port recommandé est le port 5358, car ce port est réservé aux connexions sécurisées avec WSDAPI. Si aucun port n’est spécifié, l’hôte utilise le port 443. Le port hôte doit être configuré avec un certificat de serveur SSL. Pour plus d’informations sur la configuration des ports hôtes, consultez HttpSetServiceConfiguration.
Toute URL (http ou https) doit être terminée par une barre oblique de fin. L’URL doit contenir une adresse IP ou un nom d’hôte valide.
La liste suivante montre quelques exemples de valeurs pour pszLocalId. Il ne s’agit pas d’une liste complète de valeurs valides.
- http://192.168.0.1:5357/
- http://localhost/
- http://myHostname:5357/
- https://192.168.0.1:5358/
- https://myHostname/
- https://myHostname/myDevice/
- https://myHostname:5358/
[in, optional] pContext
Interface IWSDXMLContext qui définit des types de messages ou des espaces de noms personnalisés.
[in, optional] ppHostAddresses
Objet IWSDAddress unique ou objet IWSDTransportAddress . Les objets fournissent des informations sur des adresses spécifiques que l’hôte doit écouter.
Si pszLocalId contient une adresse locale, le comportement résultant est un mappage entre l’adresse logique et l’adresse physique fournie (au lieu d’un mappage entre l’adresse logique et l’adresse physique par défaut).
[in, optional] dwHostAddressCount
Nombre d’éléments dans le tableau ppHostAddresses . Si ppHostAddresses est une interface IWSDAddress , count doit être 1.
Valeur retournée
Les valeurs de retour possibles incluent, sans s’y limiter, les éléments suivants :
Code de retour | Description |
---|---|
|
La méthode s’est terminée avec succès. |
|
pszLocalId est NULL, la longueur en caractères de pszLocalId dépasse WSD_MAX_TEXT_LENGTH (8192), ou le nombre d’adresses référencées par ppHostAddresses ne correspond pas à dwHostAddressCount. |
|
L’hôte de l’appareil est dans un état inattendu. |
|
Mémoire insuffisante pour terminer l’opération. |
|
L’initialisation n’a pas pu être terminée. |
Remarques
Cette méthode est appelée par WSDCreateDeviceHost et n’a normalement pas besoin d’être appelée directement par votre code.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wsdhost.h (inclure Wsdapi.h) |
DLL | Wsdapi.dll |