3 * UWP dl support for Mono.
5 * Copyright 2016 Microsoft
6 * Licensed under the MIT license. See LICENSE file in the project root for full license information.
10 #include "mono/utils/mono-compiler.h"
12 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
14 #include <mono/utils/mono-mmap-windows-internals.h>
17 mono_file_map (size_t length, int flags, int fd, guint64 offset, void **ret_handle)
22 int prot = mono_mmap_win_prot_from_flags (flags);
24 mflags = FILE_MAP_READ;
25 if (flags & MONO_MMAP_WRITE)
26 mflags = FILE_MAP_COPY;
28 file = (HANDLE) _get_osfhandle (fd);
29 mapping = CreateFileMappingFromApp (file, NULL, prot, length, NULL);
34 ptr = MapViewOfFileFromApp (mapping, mflags, offset, length);
37 CloseHandle (mapping);
41 *ret_handle = (void*)mapping;
46 mono_file_unmap (void *addr, void *handle)
48 UnmapViewOfFile (addr);
49 CloseHandle ((HANDLE)handle);
53 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
55 MONO_EMPTY_SOURCE_FILE (mono_mmap_windows_uwp);
56 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */