public void Refresh()
{
ThrowIfDisposed();
lock (m_lock)
{
if (m_refreshQueue != null)
{
throw ComUtils.CreateComException(ResultIds.E_BUSY);
}
m_refreshQueue = new Queue<AeEvent>();
// turn on publishing first.
if (!Active)
{
m_subscription.SetPublishingMode(true);
List<MonitoredItem> itemsToUpdate = new List<MonitoredItem>(m_notifiers.Values);
m_subscription.SetMonitoringMode(MonitoringMode.Reporting, itemsToUpdate);
}
m_subscription.ConditionRefresh();
}
}