2012-08-06 91 views
3

我运行WinCE下对.NET精简一些C#软件,这是一个TITAN板在手持设备中。曾有间歇性错误报告时.wav文件保存,即经过多次记录装置有时会失败记录,因此再次直到设备已经重启不会做。waveInOpen,waveInClose问题释放资源

我复制的错误上的开发工具包,并通过调试已经看到,记录.wav文件时,正在使用的waveInOpen和waveInClose方法(从coredll.dll中)。但是,当问题发生时,waveInOpen正在返回MMSYSERROR.ALLOCATED,表示正在使用资源(误报)。在没有waveInClose被调用之后调用waveInOpen来清除资源时,永远不会有任何时间。

有谁知道这个DLL,硬件,还是有办法来迫使资源释放,使记录能够重新任何问题?

回答

1

要知道,Windows CE的工作时,你不应该只是假设OS将是100%可靠。 OEM必须创建驱动程序和OAL代码以使操作系统适应其硬件,并且在该过程中肯定会引入错误。

如果你是100%肯定你的电话打开和关闭配对,那么它听起来很像有在音频驱动程序本身存在问题。我建议您创建最简单的repro应用程序,然后将其传递给repro,然后再向OEM的支持团队请求它们查看它。

+0

感谢,这正是我做了什么 - 我等着听回来。尽管我正在努力工作,并希望将其发布给社区。 – MrShoes 2012-08-06 14:34:43