﻿DWORD CFDDController::TimerThreadFunc()
{
	LARGE_INTEGER i1,i2,li_clock;
	double res;
	QueryPerformanceFrequency(&li_clock);

	double dClk = (double)li_clock.QuadPart;

	do
	{
		QueryPerformanceCounter(&i1);

		Periodic();

		do 
		{
			QueryPerformanceCounter(&i2);
			res = (double)(i2.QuadPart - i1.QuadPart) / dClk;
		} while (res < 0.000064); //64 мкс
	}
	while (!m_lockKillTimerEvent.IsLocked());   //пока не придёт событие остановки

	m_lockKillTimerEvent.UnLock(); //выставляем событие, что таймер остановился, и можно продолжать остальные действия по остановке
	return 0;
}
