Partager via


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
S_OK
La méthode s’est terminée avec succès.
E_INVALIDARG
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.
E_FAIL
L’hôte de l’appareil est dans un état inattendu.
E_OUTOFMEMORY
Mémoire insuffisante pour terminer l’opération.
E_ABORT
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

Voir aussi

IWSDDeviceHost