123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #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);
- #define TlsAlloc() FlsAlloc(NULL)
- #define TlsGetValue FlsGetValue
- #define TlsSetValue FlsSetValue
- #define TlsFree FlsFree
- } // extern "C"
- #endif
|