c++ - 驱动程序拒绝访问 PCI 卡

标签 c++ windows device-driver

我们编写了一个 Windows 设备驱动程序来访问我们的自定义 PCI 卡。驱动程序使用 CreateFile 获取卡的句柄。

我们最近在一次安装中遇到了问题,卡似乎停止工作了。我们尝试更换卡(更换似乎也不起作用)。计算机供应商更换了主板,但两张卡仍然无法工作。我们将卡片放在不同的计算机上,但都运行良好。

现在我们办公室有电脑供检查。 Windows 设备管理器像往常一样在其他设备中列出我们的卡,并说它工作正常。但是,我们的驱动程序在尝试连接到卡时初始化失败。

我们通过一些额外的调试创建了驱动程序的测试版本,并确定 CreateFile 失败。它返回 INVALID_HANDLE_VALUE,因为它应该在失败时返回。 GetLastError 表示错误是访问被拒绝。

由于我们以本地管理员身份登录系统,什么可以拒绝对设备的访问?

最佳答案

您可能想尝试使用 Windows 内核的“已检查”版本。这是一个调试版本,通过调试 channel 提供了更多的诊断信息。上次我使用一个(几年前)时,该构建在 MSDN 上可用,但我的信息可能已过时。

关于c++ - 驱动程序拒绝访问 PCI 卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2769107/

相关文章:

c++ - 使用C++标准库进行字符串混淆

Android - 读取 "device attribute"失败并出现错误 "invalid length"

c++ - 指针未正确指向?

windows - 有没有更好的方法从控制台应用程序启动 UWP 应用程序

linux - 从本地工作站到远程服务器的代码库复制

linux-kernel - 在启动时自动加载修改后的 'nvme' 设备驱动程序,而不是默认的 'nvme' 设备驱动程序

ios - iOS 应用程序可以包含用户空间网络设备驱动程序吗?

C++ - 编译时出错

c++ - 命令行上的 vcpkg 设置错误

c++ - 对 `_imp___ZN10HTTPClient5abortEv' 和其他的 undefined reference