text: #pragma once
  
  #if IL2CPP_TARGET_WINRT
  
  extern "C"
  {
  #if WINDOWS_SDK_BUILD_VERSION < 16299 // These APIs got readded on Windows 10 Fall Creators Update
  
  #define CreateEvent CreateEventW
  #define FreeEnvironmentStrings FreeEnvironmentStringsW
  #define GetEnvironmentStrings GetEnvironmentStringsW
  #define GetEnvironmentVariable GetEnvironmentVariableW
  #define GetVersionEx GetVersionExW
  #define SetEnvironmentVariable SetEnvironmentVariableW
  
  #endif
  
  #define GetUserName GetUserNameW
  
  #if WINDOWS_SDK_BUILD_VERSION < 16299
  
      inline HANDLE WINAPI CreateEventW(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCWSTR lpName)
      {
          DWORD flags = 0;
          if (bManualReset)
              flags |= CREATE_EVENT_MANUAL_RESET;
          if (bInitialState)
              flags |= CREATE_EVENT_INITIAL_SET;
          return CreateEventExW(lpEventAttributes, lpName, flags, EVENT_ALL_ACCESS);
      }
  
  #endif
  
      inline HANDLE WINAPI CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
      {
          const DWORD kFileAttributeMask = 0x0000FFFF;
          const DWORD kFileFlagMask = 0xFFFF0000;
  
          CREATEFILE2_EXTENDED_PARAMETERS extendedParameters;
          extendedParameters.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS);
          extendedParameters.dwFileAttributes = dwFlagsAndAttributes & kFileAttributeMask;
          extendedParameters.dwFileFlags = dwFlagsAndAttributes & kFileFlagMask;
          extendedParameters.dwSecurityQosFlags = SECURITY_ANONYMOUS;
          extendedParameters.lpSecurityAttributes = lpSecurityAttributes;
          extendedParameters.hTemplateFile = hTemplateFile;
  
          return CreateFile2(lpFileName, dwDesiredAccess, dwShareMode, dwCreationDisposition, &extendedParameters);
      }
  
  #if WINDOWS_SDK_BUILD_VERSION < 16299
  
      BOOL WINAPI FreeEnvironmentStringsW(LPWCH strings);
  
      LPWCH WINAPI GetEnvironmentStringsW();
  
      DWORD WINAPI GetEnvironmentVariableW(LPCWSTR lpName, LPWSTR lpBuffer, DWORD nSize);
  
      BOOL WINAPI GetVersionExW(LPOSVERSIONINFOW lpVersionInformation);
  
  #endif
  
      BOOL WINAPI GetUserNameW(LPWSTR lpBuffer, LPDWORD pcbBuffer);
  
      inline HMODULE WINAPI LoadLibraryW(LPCWSTR lpLibFileName)
      {
          return LoadPackagedLibrary(lpLibFileName, 0);
      }
  
  #if WINDOWS_SDK_BUILD_VERSION < 16299
  
      BOOL WINAPI SetEnvironmentVariableW(LPCWSTR lpName, LPCWSTR lpValue);
  
  #endif
  
  #define CreateFileMappingW(hFile, lpFileMappingAttributes, flProtect, dwMaximumSizeHigh, dwMaximumSizeLow, lpName) \
      CreateFileMappingFromApp(hFile, lpFileMappingAttributes, flProtect, (static_cast<ULONG64>(dwMaximumSizeHigh) << 32) | dwMaximumSizeLow, lpName);
  
  #define MapViewOfFile(hFileMappingObject, dwDesiredAccess, dwFileOffsetHigh, dwFileOffsetLow, dwNumberOfBytesToMap) \
      MapViewOfFileFromApp(hFileMappingObject, dwDesiredAccess, (static_cast<ULONG64>(dwFileOffsetHigh) << 32) | dwFileOffsetLow, dwNumberOfBytesToMap);
  
  #if WINDOWS_SDK_BUILD_VERSION < 14393
  #define TlsAlloc() FlsAlloc(NULL)
  #define TlsGetValue FlsGetValue
  #define TlsSetValue FlsSetValue
  #define TlsFree FlsFree
  #endif
  } // extern "C"
  
  #endif
  