端口32位Windows驱动程序到64位Windows

Fai*_* S. 8 c 64-bit driver wdk windows-7

由于我们的应用程序在全屏模式下运行,我们开发了一个键盘钩子驱动器禁用像钥匙用户输入ALT+F4,CTRL+ALT+DEL等等.

该驱动程序是使用Windows驱动程序工具包在C中开发的.

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

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

以下是我们的SetEnv设置:

setenv c:\WinDDK\7600.16385.1 fre x64
Run Code Online (Sandbox Code Playgroud)

有什么我想念的吗?

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

Guy*_*ton 3

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

Win7 64 位中的驱动程序需要经过 Microsoft WHQL 测试签名、自己测试签名或使用可信证书签名。

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

通常在开发过程中,您会测试对驱动程序进行签名: MSDN 有关测试签名驱动程序包的说明