diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2016-11-23 19:09:09 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2016-11-23 19:09:09 +0900 |
commit | 4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (patch) | |
tree | 98110734c91668dfdbb126fcc0e15ddbd93738ca /src/mscorlib/src/System/Runtime/InteropServices/NativeMethods.cs | |
parent | fa45f57ed55137c75ac870356a1b8f76c84b229c (diff) | |
download | coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.gz coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.bz2 coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.zip |
Imported Upstream version 1.1.0upstream/1.1.0
Diffstat (limited to 'src/mscorlib/src/System/Runtime/InteropServices/NativeMethods.cs')
-rw-r--r-- | src/mscorlib/src/System/Runtime/InteropServices/NativeMethods.cs | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/mscorlib/src/System/Runtime/InteropServices/NativeMethods.cs b/src/mscorlib/src/System/Runtime/InteropServices/NativeMethods.cs new file mode 100644 index 0000000000..82cd4fa963 --- /dev/null +++ b/src/mscorlib/src/System/Runtime/InteropServices/NativeMethods.cs @@ -0,0 +1,65 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + + +/*============================================================ +** +** +** Purpose: part of ComEventHelpers APIs which allow binding +** managed delegates to COM's connection point based events. +** +**/ +#if FEATURE_COMINTEROP + +namespace System.Runtime.InteropServices { + + internal static class NativeMethods { + + [ + System.Security.SuppressUnmanagedCodeSecurity, + DllImport("oleaut32.dll", PreserveSig = false), + System.Security.SecurityCritical + ] + internal static extern void VariantClear(IntPtr variant); + + [ + System.Security.SuppressUnmanagedCodeSecurity, + ComImport, + InterfaceType(ComInterfaceType.InterfaceIsIUnknown), + Guid("00020400-0000-0000-C000-000000000046") + ] + internal interface IDispatch { + + [System.Security.SecurityCritical] + void GetTypeInfoCount(out uint pctinfo); + + [System.Security.SecurityCritical] + void GetTypeInfo(uint iTInfo, int lcid, out IntPtr info); + + [System.Security.SecurityCritical] + void GetIDsOfNames( + ref Guid iid, + [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPWStr, SizeParamIndex = 2)] + string[] names, + uint cNames, + int lcid, + [Out] + [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4, SizeParamIndex = 2)] + int[] rgDispId); + + [System.Security.SecurityCritical] + void Invoke( + int dispIdMember, + ref Guid riid, + int lcid, + ComTypes.INVOKEKIND wFlags, + ref ComTypes.DISPPARAMS pDispParams, + IntPtr pvarResult, + IntPtr pExcepInfo, + IntPtr puArgErr); + } + } +} + +#endif |