Aracılığıyla paylaş


Dosya Sistemi Yeniden Yönlendiricisi

%windir%\System32 dizini, 64 bit Windows'ta 64 bit uygulamalar için ayrılmıştır. DLL'lerin 64 bit sürümleri oluşturulduğunda ÇOĞU DLL dosya adı değiştirilmediğinden, DLL'lerin 32 bit sürümleri farklı bir dizinde depolanır. WOW64, birdosya sistemi yeniden yönlendiricisi kullanarak bu farkı gizler.

Çoğu durumda, 32 bitlik bir uygulama %windir%\System32, %windir%\lastgood\system32, or %windir%\regedit.exeerişmeye çalıştığında, erişim mimariye özgü bir yola yönlendirilir.

Not

Bu yollar yalnızca başvuru için sağlanır. Uyumluluk için, uygulamalar bu yolları doğrudan kullanmamalıdır. Bunun yerine, aşağıda açıklanan API'leri çağırmaları gerekir.

 

Özgün Yol 32 bit x86 İşlemleri için Yeniden Yönlendirilen Yol 32 bit ARM İşlemleri için Yeniden Yönlendirilen Yol
%windir%\System32 %windir%\SysWOW64 %windir%\SysArm32
%windir%\lastgood\system32 %windir%\lastgood\SysWOW64 %windir%\lastgood\SysArm32
%windir%\regedit.exe %windir%\SysWOW64\regedit.exe %windir%\ SysArm32\regedit.exe

 

Erişim sistemin UAC istemini görüntülemesine neden oluyorsa yeniden yönlendirme gerçekleşmez. Bunun yerine, istenen dosyanın 64 bit sürümü başlatılır. Bu sorunu önlemek için, yeniden yönlendirmeyi önlemek ve dosyanın 32 bit sürümüne erişim sağlamak için SysWOW64 dizinini belirtin veya UAC isteminin görüntülenmemesi için 32 bit uygulamayı yönetici ayrıcalıklarıyla çalıştırın.

Windows Server 2003 ve Windows XP: UAC desteklenmez.

Bazı alt dizinler yeniden yönlendirmeden muaftır. Bu alt dizinlere erişim %windir%\SysWOW64'e yeniden yönlendirilmiyor:

%windir%\system32\catroot
%windir%\system32\catroot2
\system32\driverstore %windir%
\system32\drivers\etc %windir%
\system32\logfiles %windir%
\system32\spool %windir%

Windows Server 2008, Windows Vista, Windows Server 2003 ve Windows XP: %windir%\system32\driverstore yeniden yönlendirilir.

32 bit sistem dizininin adını almak için 64 bit uygulamalar GetSystemWow64Directory2işlevini (Windows 10, sürüm 1511) veya GetSystemWow64Directoryişlevinikullanmalıdır.

Uygulamalar, %ProgramFiles% dizin adını belirlemek için SHGetKnownFolderPath işlevini kullanmalıdır.

Windows Server 2003 ve Windows XP: Uygulamaları, %ProgramFiles% dizin adını belirlemek için SHGetSpecialFolderPath işlevini kullanmalıdır.

Uygulamalar WOW64DisableWow64FsRedirection, Wow64EnableWow64FsRedirectionve wow64RevertWow64FsRedirectionişlevlerinikullanarak WOW64 dosya sistemi yeniden yönlendiricisini denetleyebilir. Dosya sistemi yeniden yönlendirmesinin devre dışı bırakılması, çağıran iş parçacığı tarafından gerçekleştirilen tüm dosya işlemlerini etkiler, bu nedenle yalnızca tek bir CreateFile çağrısı için gerektiğinde devre dışı bırakılmalıdır ve işlev döndürdüğünden hemen sonra yeniden etkinleştirilmelidir. Dosya sistemi yeniden yönlendirmesinin daha uzun süre devre dışı bırakılması, 32 bit uygulamaların sistem DLL'lerini yüklemesini önleyerek uygulamaların başarısız olmasına neden olabilir.

32 bit uygulamalar, %windir%\System32 için \Sysnative %windir%değiştirerek yerel sistem dizinine erişebilir. WOW64, Sysnative'i dosya sisteminin erişimi yeniden yönlendirmemesi gerektiğini belirtmek için kullanılan özel bir diğer ad olarak tanır. Bu mekanizma esnek ve kullanımı kolaydır, bu nedenle dosya sistemi yeniden yönlendirmesini atlamak için önerilen mekanizmadır. Gerçek olmayan bir sanal dizin olduğundan 64 bit uygulamaların Sysnative diğer adını kullanamayacağını unutmayın.

Windows Server 2003 ve Windows XP: Windows Vista'dan başlayarak Sysnative diğer adı eklenmiştir.