首页 > 解决方案 > 在 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:

标签: windowsinstallationdriverdevicecode39

解决方案


推荐阅读