public static COMInterfaceEntry CreateKnownInterface(KnownInterfaces known) { COMInterfaceEntry ent = null; switch (known) { case KnownInterfaces.IUnknown: ent = new COMInterfaceEntry(); ent.Base = ""; ent.Iid = new Guid("{00000000-0000-0000-C000-000000000046}"); ent.ProxyClsid = Guid.Empty; ent.NumMethods = 3; ent.Name = "IUnknown"; break; case KnownInterfaces.IMarshal: ent = new COMInterfaceEntry(); ent.Base = ""; ent.Iid = new Guid("{00000003-0000-0000-C000-000000000046}"); ent.ProxyClsid = Guid.Empty; ent.NumMethods = 9; ent.Name = "IMarshal"; break; } return(ent); }
/// <summary> /// Returns the enumeration of all dynamic member names. /// </summary> /// <returns> A sequence that contains dynamic member names. </returns> public override IEnumerable <string> GetDynamicMemberNames() { if (!KnownInterfaces.Any()) { var tDyanmic = Impromptu.GetMemberNames(CallTarget, dynamicOnly: true); if (!tDyanmic.Any()) { return(Impromptu.GetMemberNames(CallTarget)); } } return(base.GetDynamicMemberNames()); }
public override IEnumerable <string> GetDynamicMemberNames() { if (!KnownInterfaces.Any()) { var dynamicMemberNames = InvocationBinding.GetMemberNames(CallTarget, dynamicOnly: true); if (!dynamicMemberNames.Any()) { return(InvocationBinding.GetMemberNames(CallTarget)); } } return(base.GetDynamicMemberNames()); }
public static COMInterfaceEntry CreateKnownInterface(COMRegistry registry, KnownInterfaces known) { switch (known) { case KnownInterfaces.IUnknown: return(new COMInterfaceEntry(registry) { Base = "", Iid = IID_IUnknown, ProxyClsid = Guid.Empty, NumMethods = 3, Name = "IUnknown", TypeLibVersion = String.Empty, Source = COMRegistryEntrySource.Builtin }); case KnownInterfaces.IMarshal: return(new COMInterfaceEntry(registry) { Base = "", Iid = IID_IMarshal, ProxyClsid = Guid.Empty, NumMethods = 9, Name = "IMarshal", TypeLibVersion = String.Empty, Source = COMRegistryEntrySource.Builtin }); case KnownInterfaces.IPSFactoryBuffer: return(new COMInterfaceEntry(registry) { Base = "", Iid = IID_IPSFactoryBuffer, ProxyClsid = Guid.Empty, NumMethods = 4, Name = "IPSFactoryBuffer", TypeLibVersion = String.Empty, Source = COMRegistryEntrySource.Builtin }); } return(null); }
public static COMInterfaceEntry CreateKnownInterface(COMRegistry registry, KnownInterfaces known) { COMInterfaceEntry ent = null; switch (known) { case KnownInterfaces.IUnknown: ent = new COMInterfaceEntry(registry); ent.Base = ""; ent.Iid = IID_IUnknown; ent.ProxyClsid = Guid.Empty; ent.NumMethods = 3; ent.Name = "IUnknown"; ent.TypeLibVersion = String.Empty; break; case KnownInterfaces.IMarshal: ent = new COMInterfaceEntry(registry); ent.Base = ""; ent.Iid = IID_IMarshal; ent.ProxyClsid = Guid.Empty; ent.NumMethods = 9; ent.Name = "IMarshal"; ent.TypeLibVersion = String.Empty; break; case KnownInterfaces.IPSFactoryBuffer: ent = new COMInterfaceEntry(registry); ent.Base = ""; ent.Iid = IID_IPSFactoryBuffer; ent.ProxyClsid = Guid.Empty; ent.NumMethods = 4; ent.Name = "IPSFactoryBuffer"; ent.TypeLibVersion = String.Empty; break; } return(ent); }