GetSystemWow64Directory2A function (wow64apiset.h)

Retrieves the path of the system directory used by WOW64, using the specified image file machine type. This directory is not present on 32-bit Windows.


UINT GetSystemWow64Directory2A(
  [out] LPSTR lpBuffer,
  [in]  UINT  uSize,
  [in]  WORD  ImageFileMachineType


[out] lpBuffer

A pointer to the buffer to receive the path. This path does not end with a backslash.

[in] uSize

The maximum size of the buffer, in TCHARs.

[in] ImageFileMachineType

An IMAGE_FILE_MACHINE_* value that specifies the machine to test.

Return value

If the function succeeds, the return value is the length, in TCHARs, of the string copied to the buffer, not including the terminating null character. If the length is greater than the size of the buffer, the return value is the size of the buffer required to hold the path.

If the function fails, the return value is zero. To get extended error information, call GetLastError.


On systems that support multiple WOW64 architectures, you can use GetSystemWow64Directory2 to retrieve appropriate system directory associated with the WOW64 architecture specified by ImageFileMachineType.

WOW64 uses the system directory to store shared 32-bit code on 64-bit Windows. Most applications have no need to access this directory explicitly.

For more information on WOW64, see Running 32-bit Applications.


The wow64apiset.h header defines GetSystemWow64Directory2 as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.


Minimum supported client Windows 10, version 1511 [desktop apps only]
Minimum supported server Windows Server 2016 [desktop apps only]
Target Platform Windows
Header wow64apiset.h
Library Kernel32.dll
DLL Kernel32.lib

See also