事件

如果裝載的服務有事件狀態變數,則託管服務必須實作 IUPnPEventSource 介面。 此介面有兩種方法: 建議取消新增。 此介面提供一種機制,讓裝置主機訂閱託管服務所產生的事件通知。 一次不會註冊一個以上的事件接收。

託管服務必須藉由保存以參數方式傳遞的IUPnPEventSink介面參考,來實作Advise方法。 如果找到介面, 則建議 方法會保留該介面的參考,直到叫用 Unadvise ,或直到移除託管服務物件為止。 建議 只會呼叫一次。

若要移除訂用帳戶,裝置主機會叫用 Unadvise ,並在呼叫 建議時傳入所使用的物件指標。 如果指標與傳遞給 建議的指標相同,則託管服務會移除訂用帳戶。

當狀態變數的值變更時,託管服務必須發出事件已發生的訊號。 服務會藉由叫用 IUPnPEventSink::OnStateChanged 方法來執行這項作業。

當裝置主機不再需要接收來自託管服務的通知時,它會叫用 IUPnPEventSource::Unadvise,並傳入從 建議收到的相同物件指標。 當裝置不再位於網路上時,裝置主機會叫用這個方法。