using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.Lmx; [ComImport] [Guid("BE4A11B6-86C2-49C6-883E-ABA501A6BCC7")] [TypeLibType(TypeLibTypeFlags.FCanCreate)] [ClassInterface(ClassInterfaceType.None)] [ComConversionLoss] public class CoBaseRuntimeObjectClass : CoBaseRuntimeObject, IAutomationObject, IAttributeNameProvider, IAttributeNameProvider2, IDebugBRO { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void Initialize([In][MarshalAs(UnmanagedType.LPWStr)] string Name, [In] int ObjectID, [In][MarshalAs(UnmanagedType.IUnknown)] object pAccessManager, [In][MarshalAs(UnmanagedType.IUnknown)] object pScheduler, [In][MarshalAs(UnmanagedType.Interface)] ICheckpointer pCheckpointer, [In][MarshalAs(UnmanagedType.Interface)] IAutomationObjectCheckpoint pAutomationObjectCheckpoint, [In][MarshalAs(UnmanagedType.Interface)] IDeployCompleteNotification pDeployCompleteNotification, [In][MarshalAs(UnmanagedType.Interface)] ISecurityChecker pSecurityChecker, [In][MarshalAs(UnmanagedType.Interface)] IUserAuthenticator pUserAuthenticator, [In][MarshalAs(UnmanagedType.Interface)] IEventPublisher pEventPublisher, [In][MarshalAs(UnmanagedType.IUnknown)] object objectSyncMgr); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void Startup([In] ESTARTUPCONTEXT startupContext); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void Shutdown(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void Execute(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void GetAccessRights([In] ref VBGUID userId, [In] ref VBGUID userIdVerifier, [In] bool verifiedByUser, [In] ref MxAttributeHandle AttributeHandle, [ComAliasName("Interop.Lmx.MxAccessRights")] out MxAccessRights accessRights); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void GetAttribute([In][ComAliasName("Interop.Lmx.MxOperationContext")] MxOperationContext Context, [In] ref MxAttributeHandle pMxAttributeHandle, [In][MarshalAs(UnmanagedType.Interface)] MxValue pMxValue, out short pQuality, out MxStatus pStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void SystemSetAttribute([In] ref MxAttributeHandle pMxAttributeHandle, [In][MarshalAs(UnmanagedType.Interface)] MxValue pValue, [In][MarshalAs(UnmanagedType.Interface)] MxValue pDataOut, out MxStatus pStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void UserSetAttribute([In] ref MxAttributeHandle pMxAttributeHandle, [In][MarshalAs(UnmanagedType.Interface)] MxValue pValue, [In] ref VBGUID userId, [In] ref VBGUID verifier, [In] bool verifiedByUser, [In][MarshalAs(UnmanagedType.LPWStr)] string engineName, out MxStatus pStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void SupervisorySetAttribute([In] ref MxAttributeHandle pMxAttributeHandle, [In][MarshalAs(UnmanagedType.Interface)] MxValue pValue, [In] int callbackAttributeId, out MxStatus pStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void Subscribe([In] ref MxAttributeHandle pMxAttributeHandle, [In] int index, out bool isDynamic); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void Unsubscribe([In] ref MxAttributeHandle pMxAttributeHandle); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void GetSubscriptionChanges([In][MarshalAs(UnmanagedType.Interface)] IAccessManagerProvider pAccessManagerProvider); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void GetCheckpointChanges(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void OnHostScanStateChange([In] bool bEngineOnScan); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void GetStatusDescription([In] ref MxAttributeHandle pMxAttributeHandle, [In] ref MxStatus pStatus, [MarshalAs(UnmanagedType.BStr)] out string pDescription); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern IntPtr GetAttributeCollection([In] ref _RequestAttributeInfo pRequestAttributeInfo); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void NoReferencesOutstanding([In] ref MxAttributeHandle pMxAttributeHandle); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void GetAttributeData([In] ref MxAttributeHandle AttributeHandle, [Out] IntPtr attributeData); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void GetState(out ObjectStateEnum state); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void UpdateAndCheckpointAttribute([In] ref MxAttributeHandle pMxAttributeHandle, [In][MarshalAs(UnmanagedType.Interface)] MxValue pValue, [In] ref MxStatus pStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void GetVersionIndependentCodebase([MarshalAs(UnmanagedType.BStr)] out string codeBase); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void GetRequiredHostFeature(out Guid hostFeature); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void GetObjectCategory(out int category); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void HasChangesToCheckpoint(out bool __MIDL__IAutomationObject0000); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void ResolvePrimitiveReference([In][MarshalAs(UnmanagedType.BStr)] string AutomationObjectName, [In][MarshalAs(UnmanagedType.BStr)] string primitiveName, [In][Out] ref short pPrimitiveId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void ResolveAttributeReference([In][MarshalAs(UnmanagedType.BStr)] string AutomationObjectName, [In][MarshalAs(UnmanagedType.BStr)] string primitiveName, [In][MarshalAs(UnmanagedType.BStr)] string attributeName, [In][Out] ref short pPrimitiveId, [In][Out] ref short pAttributeId, out bool isDynamic); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void IAttributeNameProvider2_ResolvePrimitiveReference([In][MarshalAs(UnmanagedType.BStr)] string AutomationObjectName, [In][MarshalAs(UnmanagedType.BStr)] string primitiveName, [In][Out] ref short pPrimitiveId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void IAttributeNameProvider2_ResolveAttributeReference([In][MarshalAs(UnmanagedType.BStr)] string AutomationObjectName, [In][MarshalAs(UnmanagedType.BStr)] string primitiveName, [In][MarshalAs(UnmanagedType.BStr)] string attributeName, [In][Out] ref short pPrimitiveId, [In][Out] ref short pAttributeId, out bool isDynamic); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern void ResolveAttributeReference2([In][MarshalAs(UnmanagedType.BStr)] string AutomationObjectName, [In][MarshalAs(UnmanagedType.BStr)] string primitiveName, [In][MarshalAs(UnmanagedType.BStr)] string attributeName, [In][Out] ref short pPrimitiveId, [In][Out] ref short pAttributeId, out bool isDynamic, out bool HasQuality, out bool HasTimestamp); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern uint GetProcessId(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] public virtual extern int GetObjectId(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.BStr)] public virtual extern string GetCategory(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.BStr)] public virtual extern string GetHost(); }