Share via


Fonction WSDCreateDeviceProxy (wsdclient.h)

Crée un proxy d’appareil et retourne un pointeur vers l’interface IWSDDeviceProxy .

Syntaxe

HRESULT WSDCreateDeviceProxy(
  [in]  LPCWSTR         pszDeviceId,
  [in]  LPCWSTR         pszLocalId,
  [in]  IWSDXMLContext  *pContext,
  [out] IWSDDeviceProxy **ppDeviceProxy
);

Paramètres

[in] pszDeviceId

Adresse logique ou physique de l’appareil. Une adresse logique est de la forme urn:uuid:{guid}. Une adresse physique est un URI préfixé par http ou https. Si cette adresse est un URI préfixé par https, le proxy utilise le protocole SSL/TLS.

L’adresse de l’appareil peut être précédée du caractère @ . Lorsque pszDeviceId commence par @, cette fonction ne récupère pas les métadonnées de l’appareil lors de la création du proxy d’appareil.

[in] pszLocalId

Adresse logique ou physique du client, qui est utilisée pour identifier le proxy et agir comme point de terminaison du récepteur d’événements. Une adresse logique est de la forme urn:uuid:{guid}.

Si le client utilise un canal sécurisé pour recevoir des événements, l’adresse est un URI préfixé par https. Cet URI doit spécifier le port 5358, car ce port est réservé aux connexions sécurisées avec WSDAPI. Le port doit être configuré avec un certificat de serveur SSL avant d’appeler WSDCreateDeviceProxyAdvanced. Pour plus d’informations sur la configuration des ports, consultez HttpSetServiceConfiguration.

[in] pContext

Objet IWSDXMLContext qui définit des types de messages ou des espaces de noms personnalisés.

Si la valeur est NULL, un contexte par défaut représentant les espaces de noms et les types de messages intégrés est utilisé.

[out] ppDeviceProxy

Pointeur vers un objet IWSDDeviceProxy que vous utilisez pour représenter un appareil WSD distant pour les applications clientes et les intergiciels.

Valeur retournée

Les valeurs de retour possibles incluent, sans s’y limiter, les éléments suivants :

Code de retour Description
S_OK
Méthode terminée avec succès.
E_INVALIDARG
pszDeviceId a la valeur NULL, pszLocalId a la valeur NULL, la longueur en caractères de pszDeviceId dépasse WSD_MAX_TEXT_LENGTH (8192), ou la longueur en caractères de pszLocalId dépasse WSD_MAX_TEXT_LENGTH (8192).
E_POINTER
ppDeviceProxy a la valeur NULL.
E_OUTOFMEMORY
Mémoire insuffisante pour terminer l’opération.

Remarques

La fonction WSDCreateDeviceProxy appelle la méthode IWSDDeviceProxy::Init, qui initialise un instance d’un objet IWSDDeviceProxy.

Cette fonction récupère également les métadonnées de l’appareil, sauf si le paramètre pszDeviceId commence par le caractère @. Pour récupérer les métadonnées de l’appareil une fois le proxy d’appareil créé, appelez IWSDDeviceProxy::BeginGetMetadata et IWSDDeviceProxy::EndGetMetadata sur l’objet IWSDDeviceProxy retourné.

Pour plus d’informations sur la résolution des problèmes liés aux appels de fonction WSDCreateDeviceProxy , consultez Résolution des problèmes d’applications WSDAPI.

Spécifications

   
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 wsdclient.h (inclure Wsdapi.h)
Bibliothèque Wsdapi.lib
DLL Wsdapi.dll

Voir aussi

Résolution des problèmes des applications WSDAPI