using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.Lmx; [ComImport] [Guid("45073152-4A92-11D3-87EC-00A0C982C01C")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IPlatformRegistryAccess { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetDirectoryRootpath([MarshalAs(UnmanagedType.BStr)] out string pbstrPath); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetRootKey([MarshalAs(UnmanagedType.BStr)] out string pbstrRootpath); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetObjectRuntimeFilepath([In][MarshalAs(UnmanagedType.LPWStr)] string szObjectName, [In] int index, [MarshalAs(UnmanagedType.BStr)] out string pbstrPathname); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void SetObjectRuntimeFilepath([In][MarshalAs(UnmanagedType.LPWStr)] string szObjectName, [In] int index, [In][MarshalAs(UnmanagedType.LPWStr)] string szPathname); }