锁住的代码太多,时间太长TRACE("%d\n",m_dwRoom);
EnterCriticalSection(&m_cs);
回调函数里,能直接用类的成员变量?

解决方案 »

  1.   

    参数里有个用户数据,转换了类的指针,然后调用  
    CMyVideo *p = (CMyVideo*)lpUser;p->PushVideoData(); 
      

  2.   

    1.在别的修改m_dwRoom的地方,也打上TRACE;2.m_cs没有初始化?
      

  3.   

    就这一个地方用到了m_dwRoom。
    CRITICAL_SECTION  m_cs;InitializeCriticalSection(&m_cs);
    用过了
      

  4.   

    回调函数,是不是在构造函数对m_dwRoom赋值前,就运行了。
      

  5.   

    是this指针的问题。在主对话框的类中声明了CMyVideo m_MyVideo;在CMyVideo类中的一个回调函数中  传递了this指针,CMyVideo *p = (CMyVideo*)this;   p->PushVideoData在CMyVideo::CMyVideo()构造中的this 和 传递给回调函数的this指针 不一样
      

  6.   

    如果绑定this指针 为 当前使用的这个