Обработка событий

Размещенная служба должна реализовывать интерфейс иупнпевентсаурце , если он имеет переменные состояния события. Этот интерфейс имеет два метода: advise и unadvise. Этот интерфейс предоставляет механизм для подписки узла устройства на уведомления о событиях, созданные размещенной службой. В каждый момент времени будет зарегистрировано больше одного приемника событий.

Размещенная служба должна реализовать метод advise , задерживая ссылку на интерфейс иупнпевентсинк , который был передан в качестве параметра. Если интерфейс найден, метод advise содержит ссылку на этот интерфейс до вызова метода unadvise или до тех пор, пока объект размещенной службы не будет удален. Предложение advise вызывается только один раз.

Чтобы удалить подписку, узел устройства вызывает метод unadvise и передает указатель на объект, используемый при вызове advise. Размещенная служба удаляет подписку, если указатель совпадает с именем, передаваемым в предложение advise.

При изменении значения переменной состояния размещенная служба должна сообщить о возникновении события. Эти службы выполняет это путем вызова метода иупнпевентсинк:: онстатечанжед .

Когда узлу устройства больше не требуется получать уведомления от размещенной службы, он вызывает иупнпевентсаурце:: unadvise, передавая тот же указатель объекта, который был получен от advise. Узел устройства вызывает этот метод, когда устройство больше не будет находиться в сети.