Vue d’ensemble des interfaces WSDAPI

L’API Web Services on Devices (WSDAPI) est utilisée pour développer des applications clientes qui recherchent des appareils et y accèdent, et pour développer des hôtes d’appareils et des services associés qui s’exécutent sur Windows Vista et Windows Server 2008. L’API de découverte de fonctions et l’outil WsdCodeGen sont des outils supplémentaires qui peuvent être utilisés pour le développement de client, d’hôte d’appareil et de service. Les interfaces WSDAPI peuvent être utilisées directement pour exposer des fonctionnalités avancées.

Principales interfaces WSDAPI

Les quatre interfaces WSDAPI principales sont IWSDiscoveryProvider, IWSDiscoveryPublisher, IWSDDeviceProxy et IWSDDeviceHost. Pour obtenir la liste de toutes les interfaces WSDAPI, consultez Web Services on Devices Interfaces.

IWSDiscoveryProvider

IWSDiscoveryProvider est utilisé pour implémenter WS-Discovery fonctionnalités sur les clients.

IWSDiscoveryProvider émet des problèmes WS-Discovery les messages Probe et Resolve , et reçoit les messages Hello, Bye, ProbeMatches et ResolveMatches . Utilisez les informations récupérées via l’interface IWSDiscoveryProvider lors de la création d’une interface IWSDDeviceProxy utilisée pour décrire et contrôler un appareil DPWS spécifique.

Une interface IWSDiscoveryProvider n’est pas nécessaire lors de la simple résolution d’une adresse d’appareil DPWS particulière avant de créer un proxy d’appareil. WSDCreateDeviceProxy résout automatiquement l’adresse de l’appareil si nécessaire.

L’API de découverte de fonction peut être utilisée pour la découverte d’appareils et de services génériques, car l’API peut découvrir des appareils DPWS et également des appareils utilisant d’autres protocoles. Envisagez d’utiliser la découverte de fonction lors de l’écriture d’une application de découverte générique.

IWSDiscoveryPublisher

IWSDiscoveryPublisher est utilisé pour implémenter WS-Discovery fonctionnalités sur les services cibles, tels que les appareils.

IWSDiscoveryPublisher permet à une application de publier sa présence à l’aide de WS-Discovery messages Hello et Bye. Cette interface permet à une application de recevoir des requêtes Probe et Resolve, ainsi que de construire et d’envoyer des réponses ProbeMatches et ResolveMatches.

Une interface IWSDiscoveryPublisher n’est pas nécessaire lorsque vous publiez simplement l’existence d’un objet IWSDDeviceHost . IWSDDeviceHost gère sa propre présence WS-Discovery.

IWSDDeviceProxy

IWSDDeviceProxy est utilisé pour implémenter les fonctionnalités WS-Discovery, WS-MetadataExchange et de contrôle côté client. Cette fonctionnalité inclut des fonctionnalités facultatives de canal sécurisé, de WS-Eventing et de pièces jointes.

L’interface IWSDDeviceProxy a les trois utilisations suivantes.

  • Résout les adresses d’appareils logiques, si nécessaire.
  • Initie des demandes de métadonnées aux appareils pour énumérer les types et adresses des services.
  • Fournit une source pour les objets IWSDServiceProxy , qui peuvent être utilisés pour émettre des messages de contrôle à des services spécifiques sur un appareil.

L’objet IWSDDeviceProxy est généralement créé et utilisé entièrement à l’intérieur du code généré par WsdCodeGen.

IWSDDeviceHost

IWSDDeviceHost est utilisé pour implémenter les fonctionnalités WS-Discovery, WS-MetadataExchange et d’hébergement de service côté appareil. Les services hébergés peuvent répondre aux messages de contrôle et prendre en charge les fonctionnalités de canal sécurisé, de WS-Eventing et de pièce jointe.

L’interface IWSDDeviceHost a les utilisations suivantes.

  • Héberge des objets de service.
  • Annonce la présence d’un hôte d’appareil sur le réseau à l’aide de WS-Discovery.
  • Répond aux demandes WS-MetadataExchange et décrit les types et les emplacements des services hébergés.
  • Répartit les requêtes réseau dans les objets de service.

WS-Discovery, WS-MetadataExchange et WS-Eventing fonctionnalités de gestion des abonnements sont entièrement gérées dans l’objet hôte de l’appareil. Pour qu’un service puisse être hébergé dans un hôte d’appareil, les conditions suivantes doivent être remplies.

  • L’hôte doit être créé en appelant WSDCreateDeviceHost.
  • Les métadonnées associées au service doivent être inscrites.
  • Le service lui-même doit être inscrit.
  • L’hôte de l’appareil doit être démarré.

L’objet IWSDDeviceHost est généralement créé et utilisé dans le code généré par WsdCodeGen.