master
 1/**
 2 * This file is part of the mingw-w64 runtime package.
 3 * No warranty is given; refer to the file DISCLAIMER within this package.
 4 */
 5#ifndef _WOW64APISET_H_
 6#define _WOW64APISET_H_
 7
 8#include <apiset.h>
 9#include <apisetcconv.h>
10#include <minwindef.h>
11#include <minwinbase.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
18  WINBASEAPI WINBOOL WINAPI Wow64DisableWow64FsRedirection (PVOID *OldValue);
19  WINBASEAPI WINBOOL WINAPI Wow64RevertWow64FsRedirection (PVOID OlValue);
20
21  WINBASEAPI UINT WINAPI GetSystemWow64DirectoryA (LPSTR lpBuffer, UINT uSize);
22  WINBASEAPI UINT WINAPI GetSystemWow64DirectoryW (LPWSTR lpBuffer, UINT uSize);
23  #define GetSystemWow64Directory __MINGW_NAME_AW(GetSystemWow64Directory)
24
25  #if _WIN32_WINNT >= 0x0600
26  WINBASEAPI WINBOOL WINAPI Wow64GetThreadContext (HANDLE hThread, PWOW64_CONTEXT lpContext);
27  WINBASEAPI WINBOOL WINAPI Wow64SetThreadContext (HANDLE hThread, CONST WOW64_CONTEXT *lpContext);
28  WINBASEAPI DWORD WINAPI Wow64SuspendThread (HANDLE hThread);
29  #endif
30
31  #if _WIN32_WINNT >= 0x0A00
32  WINBASEAPI USHORT WINAPI Wow64SetThreadDefaultGuestMachine (USHORT Machine);
33
34  WINBASEAPI UINT WINAPI GetSystemWow64Directory2A (LPSTR lpBuffer, UINT uSize, WORD ImageFileMachineType);
35  WINBASEAPI UINT WINAPI GetSystemWow64Directory2W (LPWSTR lpBuffer, UINT uSize, WORD ImageFileMachineType);
36  #define GetSystemWow64Directory2 __MINGW_NAME_AW(GetSystemWow64Directory2)
37
38  WINBASEAPI HRESULT WINAPI IsWow64GuestMachineSupported (USHORT WowGuestMachine, WINBOOL *MachineIsSupported);
39  #endif
40
41#endif /* WINAPI_PARTITION_DESKTOP */
42
43#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
44  WINBASEAPI WINBOOL WINAPI IsWow64Process (HANDLE hProcess, PBOOL Wow64Process);
45
46  #if _WIN32_WINNT >= 0x0A00
47  WINBASEAPI WINBOOL WINAPI IsWow64Process2 (HANDLE hProcess, USHORT *pProcessMachine, USHORT *pNativeMachine);
48  #endif
49
50#endif /* WINAPI_PARTITION_APP */
51
52#ifdef __cplusplus
53}
54#endif
55#endif