MS_WOW64 - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
- æ»ãïŒWindows OSã®åºç€çãããã¯ã64bit察å¿ïŒ
- WOW64
WOW64ã«ã€ããŠã®æ å ±ãçºããŠããã
- WOW64ïŒWindows-on-Windows 64-bitïŒã¯ã64bitçã®Windows OSäžã§
32bitã¢ããªã±ãŒã·ã§ã³ãåäœãããããã®äºæã¬ã€ã€ãŒïŒãµãã·ã¹ãã ïŒã - 64bit OSã¯æ¬æ¥64bitã¢ããªã®ã¿ããã€ãã£ãã§åãããŸããã
éå»ã®è³ç£ïŒ32bitã¢ããªïŒãå®è¡ã§ããããã«ããããã«WOW64ãååšã
32bitã¢ã㪠âïŒãã64bit OSäžã®ïŒWOW64ã¬ã€ã€ãŒïŒã§åäœããïŒâ 64bitã«ãŒãã«ïŒãšã®éã仲ä»ããïŒ
ãšããæµãã§åäœ
- ã«ãŒãã«ã¯64bitã®ã¿ã§ã32bitã«ãŒãã«ããšãã¥ã¬ãŒã·ã§ã³ããŠããèš³ã§ã¯ãªãã
- 32bitã³ãŒãã¯ãŠãŒã¶ãŒã¢ãŒãã§ãWOW64äžã§32bitã§åäœãã64bitã«ãŒãã«ãšã®ä»²ä»ããããã
- ã«ãŒãã«ã¢ãŒãã»ãã©ã€ãã¯32bité察å¿ïŒ64bitå°çšãå¿ èŠïŒã
- WOW64ã¯CPUã®äºæã¢ãŒãïŒIA-32eã®äºæã¢ãŒãïŒãšçµã¿åãããŠå®çŸã
32bitã¢ããªã¯æå€§4GBã®ä»®æ³ã¡ã¢ãªç©ºéãå©çšå¯èœ
ïŒéåžžã32bitã®4GBã¯ãã«ãŒãã«2GBã»ãŠãŒã¶2GBãšå©çšãããïŒã
â» WOW64 äžã§ã¯ã«ãŒãã«ã 64bit ãªã®ã§ã32bit ã¢ããªã®ãŠãŒã¶ç©ºéãå§è¿«ããªãã
IMAGE_FILE_LARGE_ADDRESS_AWARE ãç«ãŠã 32bit ã¢ããªã¯ã
64bit OS äžã§ ãŠãŒã¶ç©ºé 4GB 匱ã䜿ããïŒ32bit OS ã® /3GB ããæå©ïŒã
32bitã¢ããªãåŒã³åºãWin32 APIïŒã·ã¹ãã ã³ãŒã«ïŒãã64bitã«ãŒãã«åãã«å€æïŒãµã³ã¯ïŒã
APIåŒã³åºãã®äºææ§ãç¶æããAPI倿ãšã¯å¥ã®æè¡ã§ãªãœãŒã¹åç §ã®äºææ§ãç¶æããã
- ãã¡ã€ã«ã·ã¹ãã ã»ãªãã€ã¬ã¯ã
-
C:\Windows\System32ã¯64bit DLLçšã - 32bitã¢ããªãå©çšãã System32 ã
C:\Windows\SysWOW64ã«ãªãã€ã¬ã¯ãã
-
- ã¬ãžã¹ããªã»ãªãã€ã¬ã¯ã
-
HKLM\Softwareã¯64bitçšã - 32bitã¢ããªãå©çšãã
HKLM\Software\WOW6432Nodeã«ãªãã€ã¬ã¯ãã
-
â» çŽããããããSystem32 ã 64bitãSysWOW64 ã 32bitã
ååã¯ããã®ç°å¢ããèŠã System32ããšããäºæäžã®çµç·¯ã«ããã
A: 64bit Windowsã§ã¯16bitã¢ããªã¯åããªãïŒNTVDMããªãïŒã
A: ã«ãŒãã«ã¢ãŒãã»ãã©ã€ãã¯32bité察å¿ïŒ64bitå°çšãå¿ èŠïŒã
A: WOW64ã®ä»çµã¿ãæ¡åŒµãã WOW64ïŒARM64 çïŒã§ x86 ã¢ããªããšãã¥ã¬ãŒã·ã§ã³ã§ããã
ARM64EC ã¯ããšãã¥ã¬ãŒã·ã§ã³ãšäºææ§ã®ãã ABIãã§ã
ãã€ãã£ã ARM64 ã³ãŒããš x64 ã³ãŒããåäžããã»ã¹å
ã§æ··åšãããããã®ä»çµã¿ã
ç§»è¡ã¡ã¢ïŒæ£èª€ïŒ: åæã¯ãWOW64EC ã§ x86 ã¢ããªããšãã¥ã¬ãŒã·ã§ã³ããšããŠãããã æ£ãã㯠ARM64ECïŒEmulation CompatibleïŒã ããã ARM64EC ã¯ãšãã¥ã¬ãŒã·ã§ã³ã®ããã®ä»çµã¿ãã®ãã®ã§ã¯ãªãã ãã€ãã£ã ARM64 ãš x64 ã®çžäºéçšãå¯èœã«ãã ABIã ARM64 ç Windows ã§ã® x86/x64 ãšãã¥ã¬ãŒã·ã§ã³ã¯ã WOW64 ã®æ¡åŒµïŒããã³ Windows 11 ã® Prism ãšãã¥ã¬ãŒã¿ïŒãæ ãã
A: çµè«ããèšããšãWOW64äžã®32bitã¢ããªãã64bit DLLãçŽæ¥åŒã³åºãããšã¯ã§ããªãã
- WOW64ã¯ã·ã¹ãã ã³ãŒã«ãOS APIã倿ããããã¢ããªã³ãŒããšDLLéã®åŒã³åºãã倿ããä»çµã¿ã¯ãªãã
- ããã»ã¹ééä¿¡ã§ã64bitããªããžãçµç±ããã64bit DLLãåŒã¶ããšã¯ã§ãããéåžžã«æéããããã
â» COM ã®å Žåã¯ã64bit ã®ã¢ãŠãããã»ã¹ ãµãŒãïŒEXEïŒãšããŠãªã
ããã»ã¹å¢çããŸããã§ããŒã·ã£ãªã³ã°çµç±ã§åŒã¹ãïŒã€ã³ããã»ã¹ DLL ã¯äžå¯ïŒã
Environment.Is64BitProcess // ããã»ã¹ã 64bit ã
Environment.Is64BitOperatingSystem // OS ã 64bit ãIsWow64ProcessïŒãŸã㯠IsWow64Process2ïŒAPI ã䜿çšããã
ååã®åŸãã« *32 ãšãïŒ32 ãããïŒãšã衚瀺ãããã
- ã¬ãžã¹ããªã»ãªãã€ã¬ã¯ã¿ãŒ
- ãã¡ã€ã«ã·ã¹ãã ã»ãªãã€ã¬ã¯ã¿ãŒ
Program Files ã®ãã©ã«ãã®å Žåã¯å°ã åæãéã£ãŠããŸãã
- .NET ã§ã¯
-
Environment.SpecialFolder.ProgramFilesã®ããã«ãã©ã«ãæ å ±ãååŸãããšã
è¿ã£ãŠããã®ã¯%systemdrive%\Program Files (x86)ãã©ã«ãã«ãªããŸãã - ãŸãã
%systemdrive%\Program Filesãã©ã«ãã«å¯ŸããŠãã¡ã€ã«ã®äœæãªã©ã
ãããªã£ãŠããªãã€ã¬ã¯ãã¯ãããããã®ãŸãŸãã®ãã©ã«ãã« I/O ããããªãããŸãã
-
- VC++ ã§ã¯
-
SHGetFolderPath()/SHGetKnownFolderPath()ã®æåã確èªããå¿ èŠãããã
-
è£è¶³: ã€ãŸã Program Files ã¯ããã¹ååŸ API ãå¥ã®ãã¹ãè¿ããã®ã§ãã£ãŠã System32 ã®ãããªãI/O ãééçã«å¥ãã©ã«ããžå·®ãæ¿ããããããªãã€ã¬ã¯ãã§ã¯ãªãã äž¡è ã¯å¥ã®ä»çµã¿ã§ããç¹ã«æ³šæã
- 32bitã¢ããªã±ãŒã·ã§ã³ãã64bitã³ãã³ããå®è¡ããå Žåã
éã«ããªãã€ã¬ã¯ã¿ãåé¡ã«ãªãïŒéåžžã32bitã³ãã³ããåç §ããããïŒã - ãã®æ§ãªã±ãŒã¹ã§ã¯ã
-
%windir%\System32ãã£ã¬ã¯ããªã®ä»£ããã« -
%windir%\Sysnativeãã£ã¬ã¯ããªãæå®ããã
-
- äºäŸãèŠããšãã·ã§ã«ã»ã¹ã¯ãªããã§çºçããããšãå€ãæš¡æ§ã
ïŒèªäœã¢ããªã ãšãèªã¢ããªã®Target CPUãããã¹ç°å¢å€æ°ã
ã«ã¬ã³ãã»ãã£ã¬ã¯ããªããã®çžå¯Ÿãã¹ãªã©ãæ°ã«ããã®ã§ïŒ
â» Sysnative ã¯32bitããã»ã¹ããã®ã¿èŠããä»®æ³ãã£ã¬ã¯ããªã§ã
64bit ããã»ã¹ããåç
§ããŠãååšããªãã
éçºããCOMãç»é²ãã Regsvr32 ã«ã32bitçã»64bitçããããŸãã
64 ãããç㯠%systemroot%\System32\regsvr32.exe
32 ãããç㯠%systemroot%\SysWoW64\regsvr32.exe
COMã®èšå®ãè¡ã dcomcnfg.exe ã«ã32bitçããããããã
dcomcnfg.exe /32
32ãããçã®CScriptã³ãã³ãã䜿ã£ãŠVBScriptã®ããã°ã©ã ãå®è¡ããã«ã¯ã
CScriptã³ãã³ãã C:\Windows\SysWOW64\CScript.exe ãšèšè¿°ããŸãã
- Office 㯠64bit OS äžã§ã 32bit ã䜿çšããæ¹ãè¯ãïŒå®çžŸçã«ïŒã
64bit ã® Office ãæ¡çšããå Žåã¯è²ã 調æ»ã»æ€èšŒãå¿ èŠã«ãªãã
è£è¶³ïŒææ°åïŒ: Microsoft 365 Apps 㯠2019幎以éãæ¢å®ã 64bit ã«å€æŽãããã ãããã£ãŠã32bit Office æšå¥šãã¯çŸåšã®æ¢å®ãšéã ãã ãã32bit 決ãæã¡ã® ActiveX / ã¢ãã€ã³ãæ±ããŠããç°å¢ã§ã¯ äŸç¶ãšã㊠32bit çãéžã¶å€æã¯ãããã ïŒVBA åŽã¯
#If Win64ãšPtrSafe/LongPtrã§ã®å¯Ÿå¿ãå¿ èŠïŒã
64bit察å¿ãåç §ã
ããã§ã¯ã32bitçšã64bitçšããŒã¿ãããã€ãã«èµ·å ããåé¡ããŸãšããŠããŸãã
äžè¬çãªãããã¯ã¯ ADO.NETããŒã¿ãããã€ããåç
§äžããã
- ãã©ã€ãã¯WOW64äžã§åäœããªããã64bitãã©ãããã©ãŒã ã§ã¯64bit察å¿
ããããã®ã䜿çšããå¿ èŠãããã®ã§ãããODBCãOLEDBãã©ã€ããªã©ã¯æè¬ãã©ã€ã
ïŒããã€ã¹ã»ãã©ã€ãããã¹ã»ãã©ã€ãããã£ã«ã¿ã»ãã©ã€ãïŒãšã¯ç°ãªãããã
WOW64äžã§ã䜿çšå¯èœã§ããã詳现ã¯å ¶ã ãµããŒãç¶æ³ã®ç¢ºèªãå¿ èŠã§ãã - åãã©ãããã©ãŒã ïŒ32bit or 64bit ïŒ å¯Ÿè±¡ããŒã¿ãœãŒã¹ïŒã®
ãµããŒãã®ããODBCãOLEDBãã©ã€ããªã©ãçšæãããŠããã確èªãå¿ èŠã§ãã
- ODP.NETã®DLLïŒ
Oracle.DataAccess.dllïŒã¯32/64bit決ãæã¡ã§ãAnyCPUã«ãªã£ãŠããªãã®ã§ã
ã¯ã©ã€ã¢ã³ãããã°ã©ã ã®ã¿ãŒã²ããïŒ32/64bitïŒã«äžèŽãããã®ãã€ã³ã¹ããŒã«ããå¿ èŠãããã - èŠåïŒwarningïŒã¯ãäžäœããã°ã©ã ãAnyCPUãäžäœããã°ã©ã ã32/64bit決ãæã¡ã®å Žåã«åºåãããã
- 64bitç°å¢ã§ãDBMSãåå±
ããŠãããã¯ã©ã€ã¢ã³ããWOW64ã§32bitã®å Žåã
Oracleã¯ã©ã€ã¢ã³ã32bitãã€ã³ã¹ããŒã«ããå¿ èŠãããã - ãããŒãžãã®ïŒOracleã¯ã©ã€ã¢ã³ãäžèŠã®ïŒODP.NET ã䜿çšããã°ç°¡åãããããŸããã
Windows 7(64bit) / Office 2010(32bit) ç°å¢ã§ã®æ€èšŒçµæ
- 64bit ã® ODBCã¢ãããã¹ãã¬ãŒã¿ïŒâ»1ïŒã®[ãŠãŒã¶DSNã¿ã]ã§Excel Filesãéžæãããšãã
ãšã©ãŒãšãªãã远å ãã¿ã³ã§è¿œå ã§ãããã©ã€ããŒã®äžèЧã§ã Excel ã¯ãããŸããã§ããã®ã§ã
ãã®æ§æã®å Žå32bit ã®Excel Files ODBC ãã©ã€ãã®ã¿ã远å ããããããã§ãã - 32bit ã® ODBCã¢ãããã¹ãã¬ãŒã¿ïŒâ»2ïŒã®[ãŠãŒã¶DSN]ã¿ãã§ã¯Excel Files ãéžæã§ããã
â»1ïŒC:\Windows\System32\odbcad32.exeïŒ64bit çïŒ
â»2ïŒC:\Windows\SysWOW64\odbcad32.exeïŒ32bit çïŒ
â» äž¡è
ãšããã¡ã€ã«åã odbcad32.exe ã§çŽãããããã眮ãããŠãããã©ã«ãã§å€æãã
ïŒãªãã€ã¬ã¯ãã®ç¯ãåç
§ïŒã
- 2008 R2 64bitäžã§32bitã64bitã®äž¡æ¹ã® Jet OLE DB ãããã€ããååšãã
ããããåäœããããšã確èªããŠããŸãã - OLEDBã64bitã«å¯Ÿå¿ããŠããªãä»¶ã«ã€ããŠã¯ã以äžã®ä»£æ¿ã®ãã©ã€ããããã
ãããã€ã³ã¹ããŒã«ããŠConnectStringã倿Žããããšã«ãããããã°ã©ã 倿ŽãªãåäœããŸããã- Microsoft Access ããŒã¿ããŒã¹ ãšã³ãžã³ åé åžå¯èœã³ã³ããŒãã³ã
-
ConnectionStringããããã£ã®ãããã€ãåŒæ°ãMicrosoft.ACE.OLEDB.12.0ã«èšå®ããå¿ èŠãããã
- OO4O 㯠discontinued ã§ã64bit察å¿ããããŠããªãããã§ãã
ïŒã³ãŒãã»ã¢ã¯ã»ã¹ã»ã»ãã¥ãªãã£ïŒ
ãã¡ãã«ãåæ§ã«32bitèšå®ãš64bitèšå®ãããããã§ãã
ãã¹ãããã¢ããªã32bitã®å Žåã察象ã¢ããªã64bitã§ãã
32bitã®ã³ãŒãã»ã¢ã¯ã»ã¹ã»ã»ãã¥ãªã㣠ããªã·ãŒèšå®ãåç
§ããããã§ãã
IE9(32bit) â Excel2010(64bit) â DLL(64bit) ãšãã£ãåäœãããå Žåã
å®è¡ããããã»ã¹ã¯ 64bit ã ããCAS èšå®ã¯ IE9 ããã32bit ã®ãã®ãåç
§ããŠããã
è£è¶³ïŒææ°åïŒ: ã³ãŒã ã¢ã¯ã»ã¹ ã»ãã¥ãªãã£ïŒCASïŒã¯ .NET Framework 4 ã§éæšå¥šãšãªãã .NET Core 以éã«ã¯ååšããªãïŒã»ãã¥ãªãã£å¢çãšããŠã¯ããã»ã¹ïŒã³ã³ããã䜿ãïŒã
- WOW64 - Wikipedia
- WOW64 å®è£ ã®è©³çް - Microsoft Learn
- Win32ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããWOW64 ïŒ ïŒ IT
Tags: Windows, ç§»è¡, .NETéçº