| File: MS\Internal\WindowsRuntime\Windows\UI\ViewManagement\InputPaneRcw.cs | Web Access |
| Project: src\wpf\src\Microsoft.DotNet.Wpf\src\PresentationCore\PresentationCore.csproj (PresentationCore) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // // using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace MS.Internal.WindowsRuntime { namespace Windows.UI.ViewManagement { /// <summary> /// Contains internal RCWs for invoking the InputPane (tiptsf touch keyboard) /// </summary> internal static class InputPaneRcw { private static readonly Guid IID_IActivationFactory = Guid.Parse("00000035-0000-0000-C000-000000000046"); public static object GetInputPaneActivationFactory() { const string typeName = "Windows.UI.ViewManagement.InputPane"; IntPtr hstring = IntPtr.Zero; Marshal.ThrowExceptionForHR(NativeMethods.WindowsCreateString(typeName, typeName.Length, out hstring)); try { Guid iid = IID_IActivationFactory; Marshal.ThrowExceptionForHR(NativeMethods.RoGetActivationFactory(hstring, ref iid, out object factory)); return factory; } finally { Marshal.ThrowExceptionForHR(NativeMethods.WindowsDeleteString(hstring)); } } internal enum TrustLevel { BaseTrust, PartialTrust, FullTrust } [Guid("75CF2C57-9195-4931-8332-F0B409E916AF"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [ComImport] internal interface IInputPaneInterop { [MethodImpl(MethodImplOptions.InternalCall)] void GetIids(out uint iidCount, [MarshalAs(UnmanagedType.LPStruct)] out Guid iids); [MethodImpl(MethodImplOptions.InternalCall)] void GetRuntimeClassName([MarshalAs(UnmanagedType.BStr)] out string className); [MethodImpl(MethodImplOptions.InternalCall)] void GetTrustLevel(out TrustLevel TrustLevel); [MethodImpl(MethodImplOptions.InternalCall)] IInputPane2 GetForWindow([In] IntPtr appWindow, [In] ref Guid riid); } [Guid("8A6B3F26-7090-4793-944C-C3F2CDE26276"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [ComImport] internal interface IInputPane2 { [MethodImpl(MethodImplOptions.InternalCall)] void GetIids(out uint iidCount, [MarshalAs(UnmanagedType.LPStruct)] out Guid iids); [MethodImpl(MethodImplOptions.InternalCall)] void GetRuntimeClassName([MarshalAs(UnmanagedType.BStr)] out string className); [MethodImpl(MethodImplOptions.InternalCall)] void GetTrustLevel(out TrustLevel TrustLevel); [MethodImpl(MethodImplOptions.InternalCall)] bool TryShow(); [MethodImpl(MethodImplOptions.InternalCall)] bool TryHide(); } } } }