Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / metadata / cominterop-win32-internals.h
1 /**
2  * \file
3  * Copyright 2016 Microsoft
4  * Licensed under the MIT license. See LICENSE file in the project root for full license information.
5  */
6 #ifndef __MONO_METADATA_COMINTEROP_WIN32_INTERNALS_H__
7 #define __MONO_METADATA_COMINTEROP_WIN32_INTERNALS_H__
8
9 #include <config.h>
10 #include <glib.h>
11
12 // On some Windows platforms the implementation of below methods are hosted
13 // in separate source files like cominterop-win32-*.c. On other platforms,
14 // the implementation is kept in cominterop.c and declared as static and in some
15 // cases even inline.
16 #if defined(HOST_WIN32) && !G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT | HAVE_UWP_WINAPI_SUPPORT)
17
18 guint32
19 mono_marshal_win_safearray_get_dim (gpointer safearray);
20
21 int
22 mono_marshal_win_safe_array_get_lbound (gpointer psa, guint nDim, glong* plLbound);
23
24 int
25 mono_marshal_win_safe_array_get_ubound (gpointer psa, guint nDim, glong* plUbound);
26
27 int
28 mono_marshal_win_safearray_get_value (gpointer safearray, gpointer indices, gpointer *result);
29
30 void
31 mono_marshal_win_safearray_end (gpointer safearray, gpointer indices);
32
33 gboolean
34 mono_marshal_win_safearray_create_internal (UINT cDims, SAFEARRAYBOUND *rgsabound, gpointer *newsafearray);
35
36 int
37 mono_marshal_win_safearray_set_value (gpointer safearray, gpointer indices, gpointer value);
38
39 #endif /* HOST_WIN32 && !G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT | HAVE_UWP_WINAPI_SUPPORT) */
40
41 #endif /* __MONO_METADATA_COMINTEROP_WIN32_INTERNALS_H__ */