Ejemplo n.º 1
0
static void VGA_InstallTimer(unsigned Rate)
{
    if (!VGA_timer_thread)
    {
        VGA_timer = CreateWaitableTimerA( NULL, FALSE, NULL );
        VGA_timer_thread = CreateThread( NULL, 0, VGA_TimerThread, NULL, 0, NULL );
    }
    QueueUserAPC( set_timer_rate, VGA_timer_thread, (ULONG_PTR)Rate );
}
Ejemplo n.º 2
0
HOOKFUNC HANDLE WINAPI MyCreateWaitableTimerA(LPSECURITY_ATTRIBUTES lpTimerAttributes,BOOL bManualReset,LPCSTR lpTimerName)
{
	HANDLE rv = CreateWaitableTimerA(lpTimerAttributes, bManualReset, lpTimerName);
	debuglog(LCF_SYNCOBJ|LCF_DESYNC|LCF_UNTESTED|LCF_TODO, __FUNCTION__ " returned 0x%X.\n", rv);
	EnterCriticalSection(&s_handleCS);
	std::set<HANDLE>& handles = s_threadIdHandles[GetCurrentThreadId()];
	handles.insert(rv);
	LeaveCriticalSection(&s_handleCS);
	return rv;
}
Ejemplo n.º 3
0
 HOOKFUNC HANDLE WINAPI MyCreateWaitableTimerA(LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, LPCSTR lpTimerName)
 {
     ENTER();
     HANDLE rv = CreateWaitableTimerA(lpTimerAttributes, bManualReset, lpTimerName);
     LEAVE(rv);
     EnterCriticalSection(&s_handleCS);
     std::set<HANDLE>& handles = s_threadIdHandles[GetCurrentThreadId()];
     handles.insert(rv);
     LeaveCriticalSection(&s_handleCS);
     return rv;
 }
Ejemplo n.º 4
0
//---------------------------------------------------------------------------
__TROPICALL BTP_Tempo::BTP_Tempo(char *tnome,bool ativarmanual) throw(BTP_Excecao*):BTP_Objeto(tnome)
{
	   BTP_Tempo::numtempo++;

	   char a[50];
	   itoa(BTP_Tempo::numtempo,a,10);
	   strcat(tnome,a);
	   manual=ativarmanual;
	   htimer = CreateWaitableTimerA(NULL, ativarmanual,tnome);
	   ativo=false;
	   intervalo=0;
	   //MessageBoxA(0,tnome,"nome timer",0);
	
}
Ejemplo n.º 5
0
msg_driven_service::msg_driven_service()
:m_semaphore(NULL),
m_hthread(NULL),
m_b_notify_exit(false),
m_timer(NULL),
m_ap_event_mgr(NULL)
{
	InitializeCriticalSection(&m_cs);
	m_semaphore=CreateSemaphoreA(NULL,0,1000,NULL);
	m_timer=CreateWaitableTimerA(NULL,FALSE,NULL);
	LARGE_INTEGER start_time;
	start_time.QuadPart=-1;
	SetWaitableTimer(m_timer,&start_time,1000,NULL,NULL,TRUE);
	m_ap_event_mgr.reset(new time_event_mgr);
}
Ejemplo n.º 6
0
HANDLE CreateWaitableTimerExA(LPSECURITY_ATTRIBUTES lpTimerAttributes, LPCSTR lpTimerName, DWORD dwFlags, DWORD dwDesiredAccess)
{
	BOOL bManualReset;
	bManualReset = (dwFlags & CREATE_WAITABLE_TIMER_MANUAL_RESET) ? TRUE : FALSE;
	return CreateWaitableTimerA(lpTimerAttributes, bManualReset, lpTimerName);
}