コード例 #1
0
        /// <summary> Get a moniker's human-readable name based on a moniker string. </summary>
        protected string getName(string monikerString)
        {
            IMoniker parser  = null;
            IMoniker moniker = null;

            try
            {
                parser = getAnyMoniker();
                int eaten;
                parser.ParseDisplayName(null, null, monikerString, out eaten, out moniker);
                return(getName(parser));
            }
            finally
            {
                if (parser != null)
                {
                    Marshal.ReleaseComObject(parser);
                }
                parser = null;
                if (moniker != null)
                {
                    Marshal.ReleaseComObject(moniker);
                }
                moniker = null;
            }
        }
コード例 #2
0
        /// <summary> Get a moniker's human-readable name based on a moniker string. </summary>
        protected string getName(string monikerString)
        {
#if DSHOWNET
            UCOMIMoniker parser  = null;
            UCOMIMoniker moniker = null;
#else
#if VS2003
            UCOMIMoniker parser  = null;
            UCOMIMoniker moniker = null;
#else
            IMoniker parser  = null;
            IMoniker moniker = null;
#endif
#endif
            try
            {
                parser = getAnyMoniker();
                int eaten;
                parser.ParseDisplayName(null, null, monikerString, out eaten, out moniker);
                return(getName(parser));
            }
            finally
            {
                if (parser != null)
                {
                    Marshal.ReleaseComObject(parser);
                }
                parser = null;
                if (moniker != null)
                {
                    Marshal.ReleaseComObject(moniker);
                }
                moniker = null;
            }
        }
コード例 #3
0
ファイル: VwXls.cs プロジェクト: windrobin/kumpro
        public void LoadFile(String s)
        {
            if (s == null || s.Trim().Length == 0)
            {
                navi = "";
            }
            else if (Site == null)
            {
                bwLoader.RunWorkerAsync(s);
            }
            else
            {
                IOleClientSite pClientSite = (IOleClientSite)Site.GetService(new AntiMoniker().GetType());
                if (pClientSite != null)
                {
                    IMoniker pimkDL = null;
                    try {
                        if (pimkDL == null)
                        {
                            IBindHost pBindHost = (IBindHost)pClientSite;
                            pBindHost.CreateMoniker(s, null, out pimkDL, 0);
                        }
                        if (pimkDL == null)
                        {
                            IMoniker pimkName = null;
                            pClientSite.GetMoniker(OLEGETMONIKER_FORCEASSIGN, OLEWHICHMK_CONTAINER, out pimkName);
                            try {
                                int chEaten;
                                pimkName.ParseDisplayName(null, pimkName, s, out chEaten, out pimkDL);
                            }
                            finally {
                                Marshal.ReleaseComObject(pimkName);
                            }
                        }
                        if (pimkDL != null)
                        {
                            pimkDL.GetDisplayName(null, null, out title);
                            if (!String.IsNullOrEmpty(title))
                            {
                                s = title;
                            }
                        }
                    }
                    finally {
                        Marshal.ReleaseComObject(pimkDL);
                    }
                }

                bwLoader.RunWorkerAsync(s);
            }
        }
コード例 #4
0
ファイル: DsDevice.cs プロジェクト: Genteure/GPUCyclops
        public static Object CreateFromMoniker(string dispName)
        {
            IMoniker moniker = (IMoniker)CreateFromCLSID(Clsid.DeviceMoniker);
            int      count;
            IMoniker devmoniker;
            Object   comObj = null;

            moniker.ParseDisplayName(null, null, dispName, out count, out devmoniker);
            if ((count > 0) && (devmoniker != null))
            {
                Guid riid = typeof(IBaseFilter).GUID;
                devmoniker.BindToObject(null, null, ref riid, out comObj);
                Marshal.ReleaseComObject(moniker);
                Marshal.ReleaseComObject(devmoniker);
            }
            return(comObj);
        }
コード例 #5
0
        public IMoniker CreateMoniker()
        {
            IMoniker parser  = null;
            IMoniker moniker = null;

            try
            {
                parser = getAnyMoniker();
                int eaten;
                parser.ParseDisplayName(null, null, MonikerString, out eaten, out moniker);

                return(moniker);
            }
            finally
            {
                if (parser != null)
                {
                    Marshal.ReleaseComObject(parser);
                }
                parser = null;
            }
        }
コード例 #6
0
        /// <summary> Get a moniker's human-readable name based on a moniker string. </summary>
        protected string getName(string monikerString)
        {
            IMoniker parser  = null;
            IMoniker moniker = null;

            try
            {
                parser = getAnyMoniker();
                int eaten;
                parser.ParseDisplayName(null, null, monikerString, out eaten, out moniker);
                return(getName(parser));
            }
            finally
            {
                if (moniker != null)
                {
                    DirectShowUtil.ReleaseComObject(moniker);
                }
                moniker       = null;
                _nameResolved = true;
            }
        }
コード例 #7
0
        /// <summary>
        /// Get a moniker's human-readable name based on a moniker string.
        /// </summary>
        protected string GetName(string monikerString)
        {
            IMoniker parser  = null;
            IMoniker moniker = null;

            try
            {
                parser = GetAnyMoniker();
                parser.ParseDisplayName(null, null, monikerString, out _, out moniker);
                return(GetName(parser));
            }
            finally
            {
                if (parser != null)
                {
                    Marshal.ReleaseComObject(parser);
                }

                if (moniker != null)
                {
                    Marshal.ReleaseComObject(moniker);
                }
            }
        }