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);
        }
Example #2
0
 /// <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());
 }
Example #3
0
 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);
        }
Example #5
0
        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);
        }