计时器 [英] Timers
问题描述
您好
我有关于WaitableTime模块的问题
I have a question about WaitableTime module
我可以对多个实例使用相同的句柄吗
Can I use same handle to more than one instance
我的动机是编写一些计时器驱动程序:
my motivation is to write some timer driver:
class TimerDriver
class TimerDriver
{
  private:
private:
static HANDLE m _
static HANDLE m_
class TimerDriver
{
public:
//period=0, one shot timer
void init(DWORD a_Timeout, DWORD a_Period);
void start(void);
void stop(void);
protected:
// notify to applicative lyer
virtual void tmrDrv_done(void) =0;
private:
// common callback, to be called from any timer instance
//calls to tmrDrv_done
static timerCallback(LPVOID,DWORD,DWORD);
//common handle to multiple timer instances
static HANDLE m_pHandle;
};
//driver basic implementation
m_pHandle = /*return val from create function, that gets
timerCallback as a parameter*/
VOID TimerDriver:: timerCallback(LPVOID a, DWORD b, DWORD c)
{
tmrDrv_done();
}
class IAppTimerCallback
{
public:
virtual void appTmr_done(BYTE a_ID)=0;
}
class AppTimer:
public TimerDriver
{
public:
AppTimer(IAppTimerCallback& a_rCallback);
void init(DWORD a_Timeout, DWORD a_Period);
void start(void);
void stop(void);
privte:
void tmrDrv_done();
//dedicated id to specific oject
BYTE m_id;
//counter to amount of created objects
static BYTE m_idCnt;
IAppTimerCallback m_rCallback;
}
//basic implementation
/*init function gives id to created obj*/
void AppTimer:: tmrDrv_done(void)
{
m_rCallback.appTmr_done(m_id);
}
class Appl : public IAppTimerCallback
{
public:
void appTmr_done(BYTE a_ID);
}
//base implementation
void Appl: appTmr_done(a_ID)
{
switch(a_ID){/**/}
}
/// main///
void main(void)
{
Appl app;
AppTimer t1(app);
AppTimer t2(app);
/*
dostuff
*/
}
pHandle;
};
推荐答案
Hi CripplerCrossface,
Hi CripplerCrossface,
欢迎来到MSDN论坛。
Welcome to the MSDN forum.
请参阅您的描述,您的问题与C ++开发有关。由于我们的论坛是讨论VS IDE,我将帮助您将此线程移至相应的论坛:
Visual Studio语言>
Visual C ++ 寻求更专业的支持,感谢您的理解。
Refer to your description, your issue is about the C++ development. Since our forum is to discuss the VS IDE, I will help you move this thread to the appropriate forum: Visual Studio Languages > Visual C++ to seek for a more professional support, thank you for your understanding.
祝你好运,
Sara
这篇关于计时器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!