#ifdef _MSC_VER
#pragma once
#endif // _MSC_VER
#ifndef _WOW64APISET_H_
#define _WOW64APISET_H_
#include <apiset.h>
#include <apisetcconv.h>
#include <minwindef.h>
#include <minwinbase.h>
#ifdef __cplusplus
extern
"C"
{
#endif
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if !defined(RC_INVOKED)
#if _WIN32_WINNT >= 0x0501 || defined(WINBASE_DECLARE_GET_SYSTEM_WOW64_DIRECTORY)
Wow64DisableWow64FsRedirection
(
);
Wow64RevertWow64FsRedirection
(
);
#endif // _WIN32_WINNT >= 0x0501
#endif // !defined(RC_INVOKED)
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#if (_WIN32_WINNT >= 0x0501)
(
);
#endif // _WIN32_WINNT >= 0x0501
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if !defined(RC_INVOKED)
#if _WIN32_WINNT >= 0x0501 || defined(WINBASE_DECLARE_GET_SYSTEM_WOW64_DIRECTORY)
_Must_inspect_result_
_Success_(return != 0 && return < uSize)
(
_Out_writes_to_opt_(uSize,return + 1) LPSTR lpBuffer,
);
_Must_inspect_result_
_Success_(return != 0 && return < uSize)
(
_Out_writes_to_opt_(uSize,return + 1) LPWSTR lpBuffer,
);
#ifdef UNICODE
#define GetSystemWow64Directory GetSystemWow64DirectoryW
#else
#define GetSystemWow64Directory GetSystemWow64DirectoryA
#endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0501
#endif // !defined(RC_INVOKED)
#if (_WIN32_WINNT >= 0x0A00)
Wow64SetThreadDefaultGuestMachine
(
);
#endif // _WIN32_WINNT >= 0x0A00
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#if (_WIN32_WINNT >= 0x0A00)
(
_Out_ USHORT* pProcessMachine,
_Out_opt_ USHORT* pNativeMachine
);
#endif // _WIN32_WINNT >= 0x0A00
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if (_WIN32_WINNT >= 0x0A00)
_Must_inspect_result_
_Success_(return != 0 && return < uSize)
GetSystemWow64Directory2A
(
_Out_writes_to_opt_(uSize,return + 1) LPSTR lpBuffer,
_In_ WORD ImageFileMachineType
);
_Must_inspect_result_
_Success_(return != 0 && return < uSize)
GetSystemWow64Directory2W
(
_Out_writes_to_opt_(uSize,return + 1) LPWSTR lpBuffer,
_In_ WORD ImageFileMachineType
);
#ifdef UNICODE
#define GetSystemWow64Directory2 GetSystemWow64Directory2W
#else
#define GetSystemWow64Directory2 GetSystemWow64Directory2A
#endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0A00
#if (_WIN32_WINNT >= 0x0A00)
_Must_inspect_result_
IsWow64GuestMachineSupported
(
_In_ USHORT WowGuestMachine,
_Out_ BOOL* MachineIsSupported
);
#endif // _WIN32_WINNT >= 0x0A00
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#pragma endregion
#ifdef __cplusplus
}
#endif
#endif // _WOW64APISET_H_