getsystemwow64directory (kernel32)
Last changed: -198.153.231.184

.
Summary
Retrieves the path of the system directory used by WOW64. This directory is not present on 32-bit Windows.

C# Signature:

[DllImport("kernel32.dll", SetLastError=true)]
public static extern int GetSystemWow64Directory([In, Out] char[] lpBuffer, [MarshalAs(UnmanagedType.U4)] uint size);

// Or

[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
public static extern int GetSystemWow64Directory([Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder lpBuffer, [MarshalAs(UnmanagedType.U4)] uint size);

VB Signature:

Private Declare Function GetSystemWow64Directory Lib "Kernel32.dll" Alias _
      "GetSystemWow64DirectoryA" (ByVal lpBuffer As String, ByVal uSize As Long) As Integer

User-Defined Types:

None.

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

C# Sample Code:

    [DllImport("Kernel32.dll")]
    public static extern int GetSystemWow64Directory([In, Out] char[] lpBuffer, [MarshalAs(UnmanagedType.U4)] uint size);

    char[] path = new char[256];

    int result = GetSystemWow64Directory(path, (uint)path.Length);
    if (result != 0)
        MessageBox.Show(new String(path, 0, result));

    // Or

    [DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
    private static extern int GetSystemWow64Directory([Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder lpBuffer, [MarshalAs(UnmanagedType.U4)] uint size);

    var path = string.Empty;
    var buffer = new StringBuilder(260); // MAX_PATH
    if (GetSystemWow64Directory(buffer, (uint)buffer.Capacity) != 0)
    {
        path = buffer.ToString();
    }

VB.NET Sample Code:

    Private Declare Function GetSystemWow64Directory Lib "Kernel32.dll" Alias _
      "GetSystemWow64DirectoryA" (ByVal lpBuffer As String, ByVal uSize As Integer) As Integer

    Dim DirPath As String = Space(255)
    Dim Result As Integer = GetSystemWow64Directory(DirPath, DirPath.Length)

    If Result <> 0 Then
        MsgBox(DirPath.ToString)
    End If

Documentation