我们编写了一个 Windows 设备驱动程序来访问我们的自定义 PCI 卡。驱动程序使用 CreateFile 获取卡的句柄。
我们最近在一次安装中遇到了问题,卡似乎停止工作了。我们尝试更换卡(更换似乎也不起作用)。计算机供应商更换了主板,但两张卡仍然无法工作。我们将卡片放在不同的计算机上,但都运行良好。
现在我们办公室有电脑供检查。 Windows 设备管理器像往常一样在其他设备中列出我们的卡,并说它工作正常。但是,我们的驱动程序在尝试连接到卡时初始化失败。
我们通过一些额外的调试创建了驱动程序的测试版本,并确定 CreateFile 失败。它返回 INVALID_HANDLE_VALUE,因为它应该在失败时返回。 GetLastError 表示错误是访问被拒绝。
由于我们以本地管理员身份登录系统,什么可以拒绝对设备的访问?
最佳答案
您可能想尝试使用 Windows 内核的“已检查”版本。这是一个调试版本,通过调试 channel 提供了更多的诊断信息。上次我使用一个(几年前)时,该构建在 MSDN 上可用,但我的信息可能已过时。
关于c++ - 驱动程序拒绝访问 PCI 卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2769107/