using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.Lmx; [ComImport] [Guid("F2B877E5-1DBE-11D3-80AD-00104B5F96A7")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IAutomationObjectNameProvider { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void IsTagname([In][MarshalAs(UnmanagedType.LPWStr)] string tagname, out int pPlatformId, out int pEngineId, out int pObjectId, out int redundantPlatformId, out int redundantEngineId, out ECATEGORY pObjectCategory); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void IsHierarchicalName([In][MarshalAs(UnmanagedType.LPWStr)] string containerTagname, [In][MarshalAs(UnmanagedType.LPWStr)] string hierarchicalName, [MarshalAs(UnmanagedType.BStr)] out string tagname, out int pPlatformId, out int pEngineId, out int pObjectId, out int redundantPlatformId, out int redundantEngineId, out ECATEGORY pObjectCategory); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetContainer([In][MarshalAs(UnmanagedType.LPWStr)] string tagname, [MarshalAs(UnmanagedType.BStr)] out string containerTagname, out int containerPlatformId, out int containerEngineId, out int containerObjectId, out int redundantPlatformId, out int redundantEngineId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetArea([In][MarshalAs(UnmanagedType.LPWStr)] string tagname, [MarshalAs(UnmanagedType.BStr)] out string areaTagname, out int areaPlatformId, out int areaEngineId, out int areaObjectId, out int redundantPlatformId, out int redundantEngineId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetHost([In][MarshalAs(UnmanagedType.LPWStr)] string tagname, [MarshalAs(UnmanagedType.BStr)] out string hostTagname, out int hostPlatformId, out int hostEngineId, out int hostObjectId, out int redundantPlatformId, out int redundantEngineId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetPlatform([In][MarshalAs(UnmanagedType.LPWStr)] string tagname, [MarshalAs(UnmanagedType.BStr)] out string platformTagname, out int platformPlatformId, out int platformEngineId, out int platformObjectId, out int redundantPlatformId, out int redundantEngineId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetEngine([In][MarshalAs(UnmanagedType.LPWStr)] string tagname, [MarshalAs(UnmanagedType.BStr)] out string engineTagname, out int enginePlatformId, out int engineEngineId, out int engineObjectId, out int redundantPlatformId, out int redundantEngineId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] IAttributeNameProvider GetAttributeNameProvider([In] int AutomationObjectId); }