windows - 在 Windows 10 设备驱动程序中使用互斥锁导致代码 39
问题描述
我正在基于 Windows 驱动程序示例存储库中的 avstream/avscamera 示例为虚拟相机开发 Windows 10 设备驱动程序。驱动程序将通过由 Mutex 同步的共享内存从单独运行的 Windows 应用程序中获取其帧。
我可以无错误地构建驱动程序,但是当我尝试使用 Hdwwiz.exe 安装它时,我收到以下错误:
Windows 无法加载此硬件的设备驱动程序。驱动程序可能已损坏或丢失(代码 39)。
有什么想法/建议吗?
如果我注释掉所有的 Mutex 和 Shared memory 方法,安装驱动没有问题。如果我只取消注释执行 CreateMutexA 调用的行,则它的内容为:
void myinitfunction() {
mutex = CreateMutexA(&securityAttributes, false, "mymutexname"); }
我再次收到 Code 39 错误。
这表明我错误地链接了运行时。
可能相关信息:我正在尝试在具有 17134.rs4_release.180410-1804 的 64 位构建版本的笔记本电脑上安装 64 位版本的驱动程序我已将 Windows SDK 版本设置为 10.0.17763.0。(当 SDK 版本设置为 17134 时构建失败,因为 Windows Kits/10/bin/10.0.17134.0 目录不包含 stampinf.exe 文件的实例)。
我的图书馆目录是:
C:\Program Files %28x86%29\Windows Kits\10\Lib\10.0.17763.0\um\x64; C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64\store;$(库路径)
Windows/inf/setupapi.dev.log 文件并没有告诉我更多信息。它有以下文字:
设备状态:0x01802001,问题:0x0 (0x00000000) dvi: {Restarting Devices} 11:09:38.030 dvi: Start: ROOT\AVSCAMERA\0000 !!! dvi:设备未启动:设备有问题:0x27 (CM_PROB_DRIVER_FAILED_LOAD),问题状态:0xc0000034。dvi:{重新启动设备退出} 11:09:38.064 dvi:{配置设备 - 退出(0x00000000)} 11:09:38.065 dvi:设备状态:0x01802401,问题:0x27 设备状态:0x01802001,问题:0x0(0x00000000)dvi : {重启设备} 11:09:38.030 dvi: 开始: ROOT\AVSCAMERA\0000 !!! dvi:设备未启动:设备有问题:0x27 (CM_PROB_DRIVER_FAILED_LOAD),问题状态:0xc0000034。dvi:
解决方案
推荐阅读
- python - 同一数据框 Pandas Python 中的交叉引用列
- swift - collectionView cellForItemAtIndexPath 只调用一次-swift - 以编程方式
- handshake - akka.net 首次发布的消息在死信队列中结束,握手问题
- authorization - 从第三方服务到给定信息系统上的客户端应用程序的动态授权委托
- sql - Sybase bcp 数据类型日期和文本到 oracle 数据库使用 sqlldr
- ibm-doors - 将 DOORS 对象信息导出到 Microsoft Word 的 DXL 脚本 - 随机删除信息
- pandas - 透视数据框以使列中的特定日期变为行
- java - 尝试在空对象引用上调用虚拟方法“java.lang.String com.nabil.myapplication.model.Gregorian.getDate()”
- c++ - 在构造函数 C++ 中将类函数设置为指针
- powershell - 如何将校验和添加到 Get-ChildItem -Recurse?