次の方法で共有


WSDAPI インターフェイスの概要

デバイス上の Web サービス API (WSDAPI) は、デバイスを検索してアクセスするクライアント アプリケーションを開発し、Windows Vista および Windows Server 2008 で実行されるデバイス ホストと関連サービスを開発するために使用されます。 Function Discovery API と WsdCodeGen ツールは、クライアント、デバイス ホスト、およびサービス開発に使用できる補助ツールです。 WSDAPI インターフェイスは、高度な機能を公開するために直接使用できます。

主要な WSDAPI インターフェイス

4 つの主要な WSDAPI インターフェイスは、 IWSDiscoveryProviderIWSDiscoveryPublisherIWSDDeviceProxyおよび IWSDDeviceHost です。 すべての WSDAPI インターフェイスの一覧については、「 デバイス インターフェイス上の Web サービス」を参照してください。

IWSDiscoveryProvider

IWSDiscoveryProvider は、クライアントにWS-Discovery機能を実装するために使用されます。

IWSDiscoveryProvider は、 probe メッセージと Resolve メッセージWS-Discovery発行し、 HelloByeProbeMatchesResolveMatches の各メッセージを受信します。 特定の DPWS デバイスの記述と制御に使用される IWSDDeviceProxy インターフェイスを作成するときは、IWSDiscoveryProvider インターフェイスを介して取得した情報を使用します。

デバイス プロキシを作成する前に特定の DPWS デバイス アドレスを解決する場合、 IWSDiscoveryProvider インターフェイスは必要ありません。 WSDCreateDeviceProxy は、必要に応じてデバイス アドレスを自動的に解決します。

関数探索 API は、汎用デバイスとサービスの検出に使用できます。これは、API が DPWS デバイスを検出し、他のプロトコルを使用するデバイスも検出できるためです。 汎用探索アプリケーションを記述する場合は、Function Discovery の使用を検討してください。

IWSDiscoveryPublisher

IWSDiscoveryPublisher は、デバイスなどのターゲット サービスにWS-Discovery機能を実装するために使用されます。

IWSDiscoveryPublisher を使用すると、アプリケーションは Hello メッセージと Bye メッセージWS-Discovery使用してそのプレゼンスを公開できます。 このインターフェイスを使用すると、アプリケーションは Probe 要求と Resolve 要求を受信し、ProbeMatches 応答と ResolveMatches 応答を構築して送信できます。

IWSDDeviceHost オブジェクトの存在を単に公開する場合、IWSDiscoveryPublisher インターフェイスは必要ありません。 IWSDDeviceHost は 、独自のWS-Discoveryプレゼンスを管理します。

IWSDDeviceProxy

IWSDDeviceProxy は、クライアント側の WS-Discovery、WS-MetadataExchange、および制御機能を実装するために使用されます。 この機能には、オプションのセキュリティで保護されたチャネル、WS-Eventing、添付ファイルの機能が含まれます。

IWSDDeviceProxy インターフェイスには、次の 3 つの用途があります。

  • 必要に応じて、論理デバイス アドレスを解決します。
  • サービスの種類とアドレスを列挙するために、デバイスへのメタデータ要求を開始します。
  • デバイス上の特定のサービスに制御メッセージを発行するために使用できる IWSDServiceProxy オブジェクトのソースを提供します。

IWSDDeviceProxy オブジェクトは通常、WsdCodeGen によって生成されたコード内で作成され、完全に使用されます。

IWSDDeviceHost

IWSDDeviceHost は、デバイス側の WS-Discovery、WS-MetadataExchange、およびサービス ホスティング機能を実装するために使用されます。 ホストされるサービスは、制御メッセージに応答する場合があり、セキュリティで保護されたチャネル、WS-Eventing、添付ファイルの機能をサポートする場合があります。

IWSDDeviceHost インターフェイスには、次の用途があります。

  • サービス オブジェクトをホストします。
  • WS-Discovery を使用して、ネットワーク上のデバイス ホストの存在をアナウンスします。
  • WS-MetadataExchange要求に応答し、ホストされているサービスの種類と場所について説明します。
  • ネットワーク要求をサービス オブジェクトにディスパッチします。

WS-Discovery、WS-MetadataExchange、および WS-Eventing サブスクリプション管理機能は、デバイス ホスト オブジェクト内で完全に処理されます。 デバイス ホスト内でサービスをホストする前に、次の要件を満たす必要があります。

  • ホストは、 WSDCreateDeviceHost を呼び出して作成する必要があります。
  • サービスに関連付けられているメタデータを登録する必要があります。
  • サービス自体を登録する必要があります。
  • デバイス ホストを起動する必要があります。

IWSDDeviceHost オブジェクトは、通常、WsdCodeGen によって生成されたコード内で作成され、使用されます。