我写了一个WIA微驱动程序,它目前只产生虚拟数据--以后它应该从扫描仪获取数据。
如预期的那样调用MicroEntry()和SetPixelWindow()函数,然后扫描(SCAN_FIRST,...)被调用并扫描(SCAN_NEXT,...)被多次调用。
然后我得到一个错误(消息没有特殊的含义)-当使用"Windows Live图片库“和当使用"Windows传真和扫描”。我用的是64位的Windows 7。
我尝试使用Windows驱动程序工具包中的官方WIA微驱动程序示例。我看不出哪些函数是按哪种顺序调用的,但使用这两个程序时也会收到错误消息。
因为微软的官方驱动也不能工作,所以我认为问题不是出在我的程序里,而是出在操作系统的某个地方。
我的问题:
是否有任何已知的原因导致这些驱动程序无法工作?
有什么变通办法吗?
谢谢。
发布于 2015-07-16 23:10:15
我自己找到了答案:
官方示例微驱动程序有一个bug!因为我使用这个驱动程序作为我自己的驱动程序的模板,所以我的驱动程序也有同样的错误。
问题是“SCAN_FINISH ()”函数的最后一个参数在扫描阶段是空的,但是示例驱动程序总是将0写到这个指针所指向的位置。
我想知道为什么微软没有发现这个bug,因为它总是会导致驱动程序中的异常!
https://stackoverflow.com/questions/31446792
复制相似问题