[runtime] Rename most System.Reflection.MonoX classes to RuntimeX for consistency...
[mono-project.git] / mono / metadata / icall-windows-uwp.c
blobd12f4df95d6b964825703f31e533a92d90bceb02
1 /**
2 * \file
3 * UWP icall support for Mono.
5 * Copyright 2016 Microsoft
6 * Licensed under the MIT license. See LICENSE file in the project root for full license information.
7 */
8 #include <config.h>
9 #include <glib.h>
10 #include "mono/utils/mono-compiler.h"
11 #include <windows.h>
12 #include "mono/metadata/icall-windows-internals.h"
13 #include "mono/metadata/w32subset.h"
15 #if !HAVE_API_SUPPORT_WIN32_GET_COMPUTER_NAME
16 MonoStringHandle
17 mono_icall_get_machine_name (MonoError *error)
19 g_unsupported_api ("GetComputerName");
20 return mono_string_new_handle (mono_domain_get (), "mono", error);
22 #endif
24 #if !HAVE_API_SUPPORT_WIN32_SH_GET_FOLDER_PATH
25 MonoStringHandle
26 mono_icall_get_windows_folder_path (int folder, MonoError *error)
28 error_init (error);
29 g_unsupported_api ("SHGetFolderPath");
30 return mono_string_new_handle (mono_domain_get (), "", error);
32 #endif
34 #if !HAVE_API_SUPPORT_WIN32_GET_LOGICAL_DRIVE_STRINGS
35 MonoArray *
36 mono_icall_get_logical_drives (void)
38 ERROR_DECL (error);
40 g_unsupported_api ("GetLogicalDriveStrings");
42 mono_error_set_not_supported (error, G_UNSUPPORTED_API, "GetLogicalDriveStrings");
43 mono_error_set_pending_exception (error);
45 SetLastError (ERROR_NOT_SUPPORTED);
47 return NULL;
49 #endif
51 #if !HAVE_API_SUPPORT_WIN32_SEND_MESSAGE_TIMEOUT
52 ICALL_EXPORT void
53 ves_icall_System_Environment_BroadcastSettingChange (MonoError *error)
55 g_unsupported_api ("SendMessageTimeout");
57 mono_error_set_not_supported (error, G_UNSUPPORTED_API, "SendMessageTimeout");
59 SetLastError (ERROR_NOT_SUPPORTED);
61 #endif
63 #if !HAVE_API_SUPPORT_WIN32_WAIT_FOR_INPUT_IDLE
64 gint32
65 mono_icall_wait_for_input_idle (gpointer handle, gint32 milliseconds)
67 ERROR_DECL (error);
69 g_unsupported_api ("WaitForInputIdle");
71 mono_error_set_not_supported (error, G_UNSUPPORTED_API, "WaitForInputIdle");
72 mono_error_set_pending_exception (error);
74 return WAIT_TIMEOUT;
76 #endif
78 MONO_EMPTY_SOURCE_FILE (icall_windows_uwp);