2010-07-05 119 views
8

由于我们的应用程序以全屏模式运行,因此我们开发了一个键盘挂接驱动程序来禁用用户输入,例如ALT+F4,CTRL+ALT+DEL等等。端口32位Windows驱动程序到64位Windows

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

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

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

以下是我们SetEnv设置:

setenv c:\WinDDK\7600.16385.1 fre x64 

有什么我失踪?

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

+1

没有继续说下去。试试这个:http://www.chris123nt.com/2007/04/28/driver-signing-in-x64/ – 2010-07-05 15:24:20

+0

谢谢你的这个链接。我们已经尝试过,但没有成功...... – 2010-07-05 15:26:24

+0

生成的错误是什么?你如何加载一个没有编译的驱动程序?请稍微具体些...(注意:32位驱动程序不会在x64上加载) – Christopher 2010-07-05 16:49:35

回答

3

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

Win7 64位的驱动程序需要由Microsoft签名的WHQL测试,由您自己签名测试或使用可信证书签名。

第一只刚刚安装。第二个需要使用测试签名配置选项进行引导。当你安装询问你是否信任提供者时,第三个将显示警告。

发展过程中通常你会测试签名驱动程序: MSDN instructions on test signing a driver package