小弟我用MFC中的定时器Timer程序可以正常运行,但是换成多媒体定时器后,运行2分钟,3分钟后就死机

我用MFC中的定时器Timer程序可以正常运行,但是换成多媒体定时器后,运行2分钟,3分钟后就死机?
TimerID=timeSetEvent(48,1,&TimerCallBack,(DWORD)this,1);

void CALLBACK CDlg::TimerCallBack(UINT uTimerID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
{
  CDlg_UDP * pThis=(CDlg_UDP*)dwUser;//由this指针获得实例的指针
  pThis->OnTimer(1);//这儿直接调用的Timer消息处理中的OnTimer函数
}


一共,就改了这么点东西,哪位高手指点一下,可能是哪方面的问题

------解决方案--------------------
改成这个样子试试:
void CALLBACK CDlg::TimerCallBack(UINT uTimerID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
{
if( m_ReEntry )
{
m_ReEntry = true;
CDlg_UDP * pThis=(CDlg_UDP*)dwUser;//由this指针获得实例的指针
pThis->OnTimer(1);//这儿直接调用的Timer消息处理中的OnTimer函数
m_ReEntry = false;
}
}
m_ReEntry 为重入标记,初始值为false