2010-07-05 143 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

相關問題