次の方法で共有


IWSDDeviceHost インターフェイス (wsdhost.h)

DPWS 準拠のデバイス を表します。 デバイス ホストは、WS-Discovery プロトコルを使用して、ネットワーク上での存在を読み上げるようになります。 デバイス ホストは、検出クエリとメタデータ要求にも自動的に応答します。

呼び出し元は、ユーザーが実装したサービスをデバイス ホストに登録できます。 これらのサービスはデバイス メタデータで公開され、サービスはネットワーク経由で使用できるようになります。 これらのサービスにバインドされたメッセージは、サービス オブジェクトに自動的にディスパッチされます。

WSDCreateDeviceHost または WSDCreateDeviceHostAdvanced を呼び出して、このインターフェイスを公開するオブジェクトを作成します。

継承

IWSDDeviceHost インターフェイスは、IUnknown インターフェイスから継承されます。 IWSDDeviceHost には、次の種類のメンバーもあります。

メソッド

IWSDDeviceHost インターフェイスには、これらのメソッドがあります。

 
IWSDDeviceHost::AddDynamicService

受信要求のサービス オブジェクトを登録しますが、デバイス ホスト メタデータにサービスを追加しません。 これは、一時的な (動的) サービスに使用されます。
IWSDDeviceHost::Init

IWSDDeviceHost オブジェクトのインスタンスを初期化します。
IWSDDeviceHost::RegisterPortType

受信メッセージのポートの種類を登録します。
IWSDDeviceHost::RegisterService

受信要求のサービス オブジェクトを登録し、デバイス ホスト メタデータにサービスを追加します。
IWSDDeviceHost::RemoveDynamicService

AddDynamicService を使用して登録されたサービス オブジェクトの登録を解除します。
IWSDDeviceHost::RetireService

RegisterService を使用して登録されたサービス オブジェクトの登録を解除し、デバイス ホスト メタデータからサービスを削除します。
IWSDDeviceHost::SetMetadata

ユーザー定義のサービス メタデータを除き、デバイスのメタデータを設定します。
IWSDDeviceHost::SetServiceDiscoverable

WS-Discovery を使用してサービスをアドバタイズするかどうかを制御します。
IWSDDeviceHost::SignalEvent

イベントが発生したことをサブスクライブしているすべてのクライアントに通知します。
IWSDDeviceHost::Start

デバイス ホストを起動し、WS-Discovery Hello メッセージを使用してデバイス ホストを発行します。
IWSDDeviceHost::Stop

WS-Discovery Bye メッセージを送信し、ホストを停止します。
IWSDDeviceHost::Terminate

ホストを終了し、アタッチされているサービスを解放します。

注釈

このインターフェイスを取得すると、アプリケーションは次のようになります。

  1. RegisterPortType メソッドを呼び出して、必要なすべてのポートの種類を登録します。
  2. SetMetadata を呼び出してデバイスを記述し、必要に応じて RegisterService を 1 回以上呼び出して、サービス ホスト メタデータに記述されているサービスを登録します。
  3. Start メソッドを呼び出してデバイス ホストを起動し、WS-Discovery を使用してデバイスを発行します。デバイス ホストを起動した後、必要に応じて次のことができます。
    1. サービス ホスト メタデータに記述されていないサービス (アドホック印刷ジョブなど) に対して AddDynamicService を呼び出します。
    2. RetireService を呼び出して、RegisterService メソッドによってアクティブ化されたサービスに対するアクションを終了し、切断します。
    3. SignalEvent メソッドを呼び出して、特定のイベントに関連するサブスクリプションに対して通知を送信する必要があることを示します。
  4. Stop メソッドを呼び出してホストの実行を終了し、デバイスのパブリケーションを終了します。

IWSDDeviceHost オブジェクトは、ホストを呼び出すときに (通知コールバックを使用して) 必要に応じてサービスのオブジェクトを提供できます。これは、そのサービスに送信された要求メッセージを受け取ります。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wsdhost.h (Wsdapi.h を含む)

こちらもご覧ください

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