共用方式為


WSDAPI 介面概觀

裝置上的 Web 服務 API (WSDAPI) 可用來開發用戶端應用程式來尋找和存取裝置,以及開發在 Windows Vista 和 Windows Server 2008 上執行的裝置主機和相關聯的服務。 函式 探索 API 和 WsdCodeGen 工具是可用於用戶端、裝置主機和服務開發的補充工具。 WSDAPI 介面可以直接用來公開進階功能。

主要 WSDAPI 介面

四個主要 WSDAPI 介面是 IWSDiscoveryProviderIWSDiscoveryPublisherIWSDDeviceProxyIWSDDeviceHost。 如需所有 WSDAPI 介面的清單,請參閱 裝置介面上的 Web 服務

IWSDiscoveryProvider

IWSDiscoveryProvider 可用來在用戶端上實作WS-Discovery功能。

IWSDiscoveryProvider 問題WS-Discovery 探查解決 訊息,並接收 HelloByeProbeMatchesResolveMatches 訊息。 建立用來描述及控制特定 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所產生的程式碼內建立及使用。