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 终止主机并释放任何附加服务。 |
注解
检索此接口后,应用程序将:
- 调用 RegisterPortType 方法以注册所有必要的端口类型。
- 调用 SetMetadata 来描述设备,并选择性地调用 RegisterService 一次或多次注册服务主机元数据中所述的服务。
- 调用 Start 方法以启动设备主机并使用 WS-Discovery 发布设备。启动设备主机后,可以选择:
- 对于服务主机元数据中未描述的服务, (调用 AddDynamicService ,例如,临时打印作业) 。
- 调用 RetireService 以终止操作,并断开由 RegisterService 方法激活的服务。
- 调用 SignalEvent 方法以指示应为与特定事件相关的订阅发送通知。
- 调用 Stop 方法可终止主机执行并终止设备的发布。
当调用主机收到定向到该服务的请求消息时, IWSDDeviceHost 对象可以使用通知回调 (按需服务提供对象) 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | wsdhost.h (包括 Wsdapi.h) |