Gestione eventi

Un servizio ospitato deve implementare l'interfaccia IUPnPEventSource se ha variabili di stato eventi. Questa interfaccia include due metodi: Consiglia e Unadvise. Questa interfaccia fornisce un meccanismo per l'host del dispositivo per sottoscrivere le notifiche degli eventi generate dal servizio ospitato. Non saranno presenti più sink eventi registrati alla volta.

Un servizio ospitato deve implementare il metodo Advise tenendo un riferimento all'interfaccia IUPnPEventSink , passata come parametro. Se l'interfaccia viene trovata, il metodo Advise contiene un riferimento a tale interfaccia fino a quando non viene richiamata Unadvise o fino a quando l'oggetto del servizio ospitato non viene rimosso. Il consiglio viene chiamato una sola volta.

Per rimuovere la sottoscrizione, l'host del dispositivo richiama Unadvise e passa il puntatore dell'oggetto usato quando viene chiamato Consiglia. Il servizio ospitato rimuove la sottoscrizione se il puntatore è uguale a quello passato a Consiglia.

Quando cambia il valore di una variabile di stato, il servizio ospitato deve segnalare che si è verificato un evento. I servizi lo fanno richiamando il metodo IUPnPEventSink::OnStateChanged .

Quando l'host del dispositivo non deve più ricevere notifiche dal servizio ospitato, richiama IUPnPEventSource::Unadvise, passando lo stesso puntatore a oggetti ricevuto da Consiglia. L'host del dispositivo richiama questo metodo quando il dispositivo non sarà più in rete.