2010-07-05 7 views
8

Da unsere Anwendungen im Vollbildmodus ausgeführt werden, haben wir einen Tastatur-Hooking-Treiber entwickelt, um Benutzereingaben für Tasten wie ALT+F4, CTRL+ALT+DEL usw. zu deaktivieren.Port 32-Bit Windows-Treiber auf 64-Bit Windows

Der Treiber wird in C mit dem Windows Driver Kit entwickelt.

Kompilieren für 32-Bit funktioniert und es lädt den Treiber auf Windos 7 32-Bit und es funktioniert wie erwartet.

Kompilieren für 64-Bit funktioniert und es lädt nur den Treiber unter Windows 7 64-Bit (aber ist signiert und in den Tastaturtreibern aufgeführt).

Im Folgenden sind unsere SetEnv Einstellungen:

setenv c:\WinDDK\7600.16385.1 fre x64 

Gibt es etwas, ich bin fehlt?

Muss ich bestimmte Änderungen am Code vornehmen, damit er auf 64-Bit funktioniert?

+1

nichts weiter zu gehen. Versuchen Sie Folgendes: http://www.chris123nt.com/2007/04/28/driver-signing-in-x64/ –

+0

Vielen Dank für diesen Link. Wir haben das bereits ohne Erfolg versucht ... –

+0

Was sind die Fehler, die generiert werden? Wie lädst du einen Treiber, der nicht kompiliert wurde? Seien Sie etwas genauer bitte ... (NB: ein 32-Bit-Treiber wird nicht auf x64 geladen) – Christopher

Antwort

3

Die Build-Option sieht korrekt aus. Sie müssen keine Änderungen am Code vornehmen, es sei denn, der Code nimmt Annahmen über Dinge wie die Größe von Zeigern, Ganzzahlen usw. vor. Skripte, die Treiber durch Mucken mit der Registrierung "installieren", funktionieren möglicherweise nicht.

Treiber in Win7 64 Bit müssen entweder WHQL-Test von Microsoft signiert sein, von Ihnen selbst signiert sein oder mit einem vertrauenswürdigen Zertifikat signiert sein.

Die erste installiert nur. Die zweite erfordert das Booten mit der Konfigurationsoption für die Testsignatur. Der Dritte zeigt bei der Installation eine Warnung an, in der Sie gefragt werden, ob Sie dem Anbieter vertrauen oder nicht.

während der Entwicklung Normalerweise würden Sie den Treiber testen Zeichen: MSDN instructions on test signing a driver package