WSDAPI 介面概觀
裝置上的 Web 服務 API (WSDAPI) 可用來開發用戶端應用程式來尋找和存取裝置,以及開發在 Windows Vista 和 Windows Server 2008 上執行的裝置主機和相關聯的服務。 函式 探索 API 和 WsdCodeGen 工具是可用於用戶端、裝置主機和服務開發的補充工具。 WSDAPI 介面可以直接用來公開進階功能。
主要 WSDAPI 介面
四個主要 WSDAPI 介面是 IWSDiscoveryProvider、 IWSDiscoveryPublisher、 IWSDDeviceProxy和 IWSDDeviceHost。 如需所有 WSDAPI 介面的清單,請參閱 裝置介面上的 Web 服務。
IWSDiscoveryProvider
IWSDiscoveryProvider 可用來在用戶端上實作WS-Discovery功能。
IWSDiscoveryProvider 問題WS-Discovery 探查 和 解決 訊息,並接收 Hello、 Bye、 ProbeMatches和 ResolveMatches 訊息。 建立用來描述及控制特定 DPWS 裝置的IWSDeviceProxy介面時,請使用透過IWSDiscoveryProvider介面擷取的資訊。
在建立裝置 Proxy 之前,只要解析特定的 DPWS 裝置位址,就不需要 IWSDiscoveryProvider 介面。 WSDCreateDeviceProxy 會視需要自動解析裝置位址。
函式 探索 API 可用於一般裝置和服務探索,因為 API 可以探索 DPWS 裝置,以及使用其他通訊協定的裝置。 撰寫泛型探索應用程式時,請考慮使用函式探索。
IWSDiscoveryPublisher
IWSDiscoveryPublisher 可用來在目標服務上實作WS-Discovery功能,例如裝置。
IWSDiscoveryPublisher 可讓應用程式使用 hello 和 Bye 訊息 WS-Discovery來發佈其目前狀態。 此介面可讓應用程式接收探查和解析要求,以及建構及傳送 ProbeMatches 和 ResolveMatches 回應。
只要發佈IWSDDeviceHost物件是否存在,就不需要IWSDiscoveryPublisher介面。 IWSDDeviceHost 會管理自己的WS-Discovery狀態。
IWSDDeviceProxy
IWSDDeviceProxy 可用來實作用戶端 WS-Discovery、WS-MetadataExchange 和控制功能。 此功能包括選擇性的安全通道、WS-Eventing 和附件功能。
IWSDDeviceProxy介面具有下列三種用途。
- 視需要解析邏輯裝置位址。
- 起始裝置的中繼資料要求,以列舉服務的類型和位址。
- 提供 IWSDServiceProxy 物件的來源,可用來對裝置上的特定服務發出控制訊息。
IWSDDeviceProxy物件通常是在WsdCodeGen所產生的程式碼內建立及使用。
IWSDDeviceHost
IWSDDeviceHost 可用來實作裝置端 WS-Discovery、WS-MetadataExchange 和服務裝載功能。 託管服務可以回應控制訊息,而且可能支援安全通道、WS 事件和附件功能。
IWSDDeviceHost介面具有下列用途。
- 裝載服務物件。
- 使用 WS-Discovery 宣佈網路上有裝置主機。
- 回應WS-MetadataExchange要求,並描述託管服務的類型和位置。
- 將網路要求分派至服務物件。
WS-Discovery、WS-MetadataExchange 和WS-Eventing訂用帳戶管理功能會完全在裝置主機物件內處理。 必須先符合下列需求,才能將服務裝載于裝置主機內。
- 主機必須藉由呼叫 WSDCreateDeviceHost來建立。
- 與服務相關聯的中繼資料必須註冊。
- 必須註冊服務本身。
- 裝置主機必須啟動。
IWSDDeviceHost物件通常是在WsdCodeGen所產生的程式碼內建立及使用。