在Window 64位系統中,System32文件夾存放64位的程序,SysWoW64文件夾存放32位程序,當一個32位程序訪問System32文件夾時,系統會自動重定向到SysWoW64文件夾,如:當32位程序通過CreateProcess創建C:\Windows\System32\osk.exe進程時,系統自動重定向到C:\Windows\SysWoW64\osk.exe文件,而SysWoW64文件夾下並不存在nbtstat程序,於是返回的錯誤碼就是2(即系統找不到指定的文件)。
解決該問題的方法是通過路徑C:\Windows\sysnative\****的方式來訪問系統文件,上面的情況通過C:\Windows\sysnative\osk.exe這個路徑就可以解決這個問題。
C:\Windows\sysnative這個文件夾實際上並不存在,是Windows 64位系統對32位程序訪問64位程序的一個重定向的機制。