硬件设备仿真可以在不同的级别完成。较低级别 - 更好的仿真,但通常低级仿真很难发展。它也可以是硬件仿真 - 实现与真实设备相同的通信协议的硬件设备。但让我们来谈谈软件仿真。考虑以下系统结构:高级(UI) - 硬件访问Dll - 驱动程序 - 通信端口(USB等) - 硬件设备。可以模拟每个级别:从硬件设备本身到硬件访问DLL。
要模拟硬件设备,你应该与硬件开发人员(而不是你的情况,我猜)。你想抓到司机的电话,使整个软件系统透明。我认为你有更好的机会在osronline上获得有关这种方式的信息 - 本网站上没有驱动程序专家。
您可以模拟驱动程序,提供另一个驱动程序甚至用户模式库,该库导出DeviceIoControl,ReadFile,WriteFile。这对硬件访问Dll几乎是透明的 - 在仿真模式下,它应该调用仿真的DeviceIoControl而不是Win32的DeviceIoControl。
最后,您可以通过在Dll本身提供仿真功能或通过使用相同接口编写另一个库来模拟硬件访问Dll。
如您所见,最后两个选项非常简单,并且允许在没有真实设备的情况下进行高级应用程序开发。当然,你想要做到这一点的方式是非常困难的,并且会给出最好的结果。再次尝试在Windows驱动程序开发人员网站上获取有关此信息的更多信息。
这也是很重要的,这个完整的链(从用户界面到设备)是你的什么部分,以及你的客户开发了哪些部分。如果客户提供硬件设备,驱动程序和硬件访问DLL(SDK),那么您就可以模拟此SDK,而无需编写复杂的钩子工具。
你的问题是什么?你试过什么了? –
“b/w”是什么意思?带宽?黑与白? –
正在做作业吗? – cpx