【问题标题】:Port 32-Bit Windows driver to 64-Bit Windows将 32 位 Windows 驱动程序移植到 64 位 Windows
【发布时间】:2011-03-11 22:24:25
【问题描述】:

由于我们的应用程序在全屏模式下运行,我们开发了一个键盘挂钩驱动程序来禁用用户对 ALT+F4CTRL+ALT+DEL 等键的输入。

驱动程序是使用 Windows Driver Kit 用 C 语言开发的。

为 32 位编译工作,它在 Windos 7 32 位上加载驱动程序并按预期工作。

为 64 位编译工作,它只是不会在 Windows 7 64 位上加载驱动程序(但已签名并在键盘驱动程序中列出)。

以下是我们的SetEnv 设置:

setenv c:\WinDDK\7600.16385.1 fre x64

我有什么遗漏的吗?

我是否需要对代码进行特定更改才能使其在 64 位上运行?

【问题讨论】:

  • 无事可做。试试这个:chris123nt.com/2007/04/28/driver-signing-in-x64
  • 感谢您提供此链接。我们已经尝试过了,但没有成功...
  • 产生了哪些错误?您如何加载未编译的驱动程序?请更具体一点...(注意:32 位驱动程序不会在 x64 上加载)
  • 没有产生错误。编译工作并通过自定义脚本加载驱动程序,该脚本将它们放入 system32/drivers 目录并将必要的键添加到注册表中。它建立在 Sysinternals Ctrl2Cap 之上。

标签: c windows-7 64-bit driver wdk


【解决方案1】:

构建选项看起来正确。除非代码对指针、整数等的大小做出假设,否则您无需更改代码。通过修改注册表等“安装”驱动程序的脚本可能不起作用。

Win7 64位驱动需要微软WHQL测试签名,自己测试签名,或者使用受信任的证书签名。

第一个刚刚安装。第二个需要使用测试签名配置选项启动。第三个将在您安装时显示警告,询问您是否信任提供者。

通常在开发过程中,您会测试签署驱动程序: MSDN instructions on test signing a driver package

【讨论】:

    猜你喜欢
    • 2012-12-20
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 2020-10-28
    • 2011-10-27
    相关资源
    最近更新 更多