首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于多个程序实例访问同一个设备的有关问题

2013-02-15 
关于多个程序实例访问同一个设备的问题一个usb设备,驱动中会开一个线程一直在检测调用库中发给驱动的事件,

关于多个程序实例访问同一个设备的问题
一个usb设备,驱动中会开一个线程一直在检测调用库中发给驱动的事件,目前的现象是,先后起一个程序两个实例,第一个起来的实例能够正常访问usb设备,而第二个则hang住了,似乎是驱动中的WaitForSingleObject(hCommandExec, INFINITE),没有等到第二个实例程序发送的事件信号。很奇怪。下面是驱动中等待事件的一个代码片段,请参照:

DWORD WINAPI MessageLoopThreadProc(void *Data)
{
      for(;;)
      {
         if (WaitForSingleObject(hCommandExec, INFINITE) == WAIT_OBJECT_0)
          {
              ResetEvent(hCommandExec);
               ...........
           }
      }
}

这个线程除非拔掉usb设备才会退出。
[解决办法]
《Windows核心编程》

热点排行