コード例 #1
0
ファイル: MultimediaTimer.cs プロジェクト: Nielk1/NadekoBot
 private static extern uint timeSetEvent(
     uint uDelay,
     uint uResolution,
     LpTimeProcDelegate lpTimeProc,
     int dwUser,
     TimerMode fuEvent
     );
コード例 #2
0
ファイル: MultimediaTimer.cs プロジェクト: Nielk1/NadekoBot
        public MultimediaTimer(Action <object> callback, object state, int period)
        {
            if (period <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(period), "Period must be greater than 0");
            }

            _callback = callback;
            _state    = state;

            _lpTimeProc = CallbackInternal;
            _eventId    = timeSetEvent((uint)period, 1, _lpTimeProc, 0, TimerMode.Periodic);
        }
コード例 #3
0
ファイル: MultimediaTimer.cs プロジェクト: Nielk1/NadekoBot
 public void Dispose()
 {
     _lpTimeProc = default;
     timeKillEvent(_eventId);
 }