public static PhoenixContact.Common.Ticker.Ticker Create(string name, int intervall, ThreadPriority priority) { lock (TickerFactory.extAccess) { PhoenixContact.Common.Ticker.Ticker ticker = new PhoenixContact.Common.Ticker.Ticker(name, intervall, priority); TickerFactory.TickerList.Add(ticker); if (TickerFactory.timerId == 0U && TickerFactory.TickerList.Count > 0) { TickerFactory.timeProcPeriodic = new TickerFactory.TimeProc(TickerFactory.OnTimerPeriodicEvent); TickerFactory.timerId = TickerFactory.timeSetEvent((uint)TickerFactory.MainTick, 0U, TickerFactory.timeProcPeriodic, 0U, 1U); } return(ticker); } }
private static extern uint timeSetEvent(uint delay, uint resolution, TickerFactory.TimeProc timeProc, uint user, uint mode);