使用英语阅读

通过


事件处理

如果托管服务具有事件状态变量,则必须实现 IUPnPEventSource 接口。 此接口有两种方法: 建议取消advise。 此接口为设备主机提供一种机制,用于订阅托管服务生成的事件通知。 一次注册的事件接收器不超过一个。

托管服务必须通过保存对作为参数传递的 IUPnPEventSink 接口的引用来实现建议方法。 如果找到接口, 则 Advise 方法会保留对该接口的引用,直到调用 Unadvise 或删除托管服务对象为止。 建议 仅调用一次。

若要删除订阅,设备主机会调用 Unadvise ,并在调用 建议时传入使用的对象指针。 如果指针与传递给 建议的指针相同,则托管服务会删除订阅。

当状态变量的值更改时,托管服务必须发出事件已发生的信号。 服务通过调用 IUPnPEventSink::OnStateChanged 方法执行此操作。

当设备主机不再需要从托管服务接收通知时,它会调用 IUPnPEventSource::Unadvise,传入它从 建议收到的同一对象指针。 当设备不再位于网络上时,设备主机将调用此方法。