Frage

Ich repariere einen Fehler mit Windows Vista 64 Bit einer 32-Bit-Anwendung, wenn ich versuche, die Funktion Wow64DisableWow64FsRedirection zu verwenden, (...) die Compiler sagt ‚nicht deklarierter Bezeichner ...‘.

Ich bin auch die Windows.h Header-Datei und legen Sie _WIN32_WINNT auf 0x0501.

Irgendwelche Ideen?

Danke.

EDIT: Wir sind mit MS Visual Studio 2003

War es hilfreich?

Lösung

Können Sie diese API in der Header-Datei sehen? das Visual Studio, Sie verwenden werden kann, aktualisierte Header wird nicht Datei, wobei in diesem Fall benötigen Sie eine Loadlibrary für Kernel32.dll und dann GetProcAddress für die gewünschte Funktion zu tun.

Andere Tipps

Ihre Plattform SDK-Dateien sind wahrscheinlich zu alt, um diese Funktion zu haben. Diese Funktion erschien zuerst in dem XP-64-Bit-Plattform-SDK. Sie können die neueste SDK erhalten hier: http://www.microsoft.com/downloads/details.aspx?FamilyID=e6e1c3df-a74f-4207-8586-711ebe331cdc&displaylang=en

Auch wenn es sagt, es ist „The Windows SDK für Windows Server® 2008“ es ist nur das jüngste SDK und haben alle rückwärts kompatiblen Dateien die Sie benötigen.

Nachdem Sie es installiert haben, auf Ihrem Compiler abhängig werden Sie wahrscheinlich das include darauf zeigen müssen.

Wenn Ihre Anwendung auf Windows XP 32-Bit oder Windows 2000 arbeiten, sollten Sie LoadLibrary() und GetProcAddress() verwenden, wie Canopus vorgeschlagen, weil Wow64DisableWow64FsRedirection() und Wow64RevertWow64FsRedirection() nicht bis Windows XP 64-Bit und Server 2003 SP1 hinzugefügt wurden (nach der Dokumentation ).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top