我正在开发mac上的设备驱动程序。我的问题是我们如何使设备请求异步同步。就像我向设备发送一个send encapsulated命令,并在获得中断管道通知后使用get encapsulated命令获取响应。所以我怎么能让我的线程等到所有上述请求都没有完成(发送和获取)。但是来自get encap的函数被称为虚函数并由上层调用。因此,如果我在该虚拟功能中处理等待,那么直到我的等待过程中我才能得到响应。 请帮我解决这个问题。
事先知道了。答案 0 :(得分:0)
**
bool class::USBSetPacketFilter()
{
IOReturn Value
.... .................
value = send_Encasulated_command(* of structure, length);
IOLocksleepdeadline(x, y, z, w);
global variable which is updated when get_Encap is completed.
if (Value == IOSuccess &&XVZ == true)
return true;
else return false
}
** 在其他函数中读取中断管道
pipe->Read(mMemDes,&**m_CommInfo**,NULL);
。