Panoramica delle interfacce WSDAPI
I servizi Web nell'API dispositivi (WSDAPI) vengono usati per sviluppare applicazioni client che trovano e accedono ai dispositivi e per sviluppare host di dispositivi e servizi associati eseguiti in Windows Vista e Windows Server 2008. L'API Individuazione funzioni e lo strumento WsdCodeGen sono strumenti supplementari che possono essere usati per lo sviluppo di client, host dispositivo e servizio. Le interfacce WSDAPI possono essere usate direttamente per esporre funzionalità avanzate.
Interfacce WSDAPI principali
Le quattro interfacce WSDAPI principali sono IWSDiscoveryProvider, IWSDiscoveryPublisher, IWSDDeviceProxy e IWSDDeviceHost. Per un elenco di tutte le interfacce WSDAPI, vedere Servizi Web nelle interfacce dispositivi.
IWSDiscoveryProvider
IWSDiscoveryProvider viene usato per implementare WS-Discovery funzionalità nei client.
IWSDiscoveryProvider genera problemi WS-Discovery messaggi probe e risoluzione e riceve messaggi Hello, Bye, ProbeMatches e ResolveMatches . Usare le informazioni recuperate tramite l'interfaccia IWSDiscoveryProvider durante la creazione di un'interfaccia IWSDDeviceProxy usata per descrivere e controllare un dispositivo DPWS specifico.
Un'interfaccia IWSDiscoveryProvider non è necessaria quando si risolve semplicemente un determinato indirizzo del dispositivo DPWS prima di creare un proxy del dispositivo. WSDCreateDeviceProxy risolve automaticamente l'indirizzo del dispositivo se necessario.
L'API Individuazione funzioni può essere usata per l'individuazione generica di dispositivi e servizi, in quanto l'API può individuare i dispositivi DPWS e anche i dispositivi usando altri protocolli. È consigliabile usare l'individuazione delle funzioni durante la scrittura di un'applicazione di individuazione generica.
IWSDiscoveryPublisher
IWSDiscoveryPublisher viene usato per implementare WS-Discovery funzionalità nei servizi di destinazione, ad esempio i dispositivi.
IWSDiscoveryPublisher consente a un'applicazione di pubblicare la sua presenza usando WS-Discovery messaggi Hello e Bye. Questa interfaccia consente a un'applicazione di ricevere richieste probe e risolvere e costruire e inviare le risposte ProbeMatches e ResolveMatches.
Un'interfaccia IWSDiscoveryPublisher non è necessaria quando si pubblica semplicemente l'esistenza di un oggetto IWSDDeviceHost . IWSDDeviceHost gestisce la propria presenza WS-Discovery.
IWSDDeviceProxy
IWSDDeviceProxy viene usato per implementare funzionalità WS-Discovery lato client, WS-MetadataExchange e controllo. Questa funzionalità include funzionalità di canale sicuro facoltativo, WS-Eventing e funzionalità di allegato.
L'interfaccia IWSDDeviceProxy include i tre usi seguenti.
- Risolve gli indirizzi logici dei dispositivi, se necessario.
- Avvia le richieste di metadati ai dispositivi per enumerare i tipi e gli indirizzi dei servizi.
- Fornisce un'origine per gli oggetti IWSDServiceProxy , che possono essere usati per inviare messaggi di controllo a servizi specifici in un dispositivo.
L'oggetto IWSDDeviceProxy viene in genere creato e usato interamente all'interno del codice generato da WsdCodeGen.
IWSDDeviceHost
IWSDDeviceHost viene usato per implementare funzionalità di hosting WS-Discovery lato dispositivo, WS-MetadataExchange e servizio. I servizi ospitati possono rispondere ai messaggi di controllo e possono supportare funzionalità di canale sicuro, WS-Eventing e allegati.
L'interfaccia IWSDDeviceHost include gli usi seguenti.
- Ospita oggetti di servizio.
- Annuncia la presenza di un host dispositivo nella rete usando WS-Discovery.
- Risponde alle WS-MetadataExchange richieste e descrive i tipi e le posizioni dei servizi ospitati.
- Invia richieste di rete in oggetti di servizio.
La funzionalità di gestione delle sottoscrizioni WS-Discovery, WS-MetadataExchange e WS-Eventing viene gestita interamente all'interno dell'oggetto host del dispositivo. Prima che un servizio possa essere ospitato all'interno di un host del dispositivo, è necessario soddisfare i requisiti seguenti.
- L'host deve essere creato chiamando WSDCreateDeviceHost.
- I metadati associati al servizio devono essere registrati.
- Il servizio stesso deve essere registrato.
- L'host del dispositivo deve essere avviato.
L'oggetto IWSDDeviceHost viene in genere creato e usato all'interno del codice generato da WsdCodeGen.