CodeTV.GraphBuilderBDA.AddNetworkProviderFilter C# (CSharp) Method

AddNetworkProviderFilter() protected method

protected AddNetworkProviderFilter ( ITuningSpace tuningSpace ) : void
tuningSpace ITuningSpace
return void
        protected void AddNetworkProviderFilter(ITuningSpace tuningSpace)
        {
            int hr = 0;
            Guid genProviderClsId = new Guid("{B2F3A67C-29DA-4C78-8831-091ED509A475}");
            Guid networkProviderClsId;

            // First test if the Generic Network Provider is available (only on MCE 2005 + Update Rollup 2)
            //if (FilterGraphTools.IsThisComObjectInstalled(genProviderClsId))
            //{
            //    this.networkProvider = FilterGraphTools.AddFilterFromClsid(this.graphBuilder, genProviderClsId, "Generic Network Provider");

            //    hr = (this.networkProvider as ITuner).put_TuningSpace(tuningSpace);
            //    return;
            //}

            // Get the network type of the requested Tuning Space
            hr = tuningSpace.get__NetworkType(out networkProviderClsId);

            // Get the network type of the requested Tuning Space
            if (networkProviderClsId == typeof(DVBTNetworkProvider).GUID)
            {
                this.networkProvider = FilterGraphTools.AddFilterFromClsid(this.graphBuilder, networkProviderClsId, "DVBT Network Provider");
            }
            else if (networkProviderClsId == typeof(DVBSNetworkProvider).GUID)
            {
                this.networkProvider = FilterGraphTools.AddFilterFromClsid(this.graphBuilder, networkProviderClsId, "DVBS Network Provider");
            }
            else if (networkProviderClsId == typeof(ATSCNetworkProvider).GUID)
            {
                this.networkProvider = FilterGraphTools.AddFilterFromClsid(this.graphBuilder, networkProviderClsId, "ATSC Network Provider");
            }
            else if (networkProviderClsId == typeof(DVBCNetworkProvider).GUID)
            {
                this.networkProvider = FilterGraphTools.AddFilterFromClsid(this.graphBuilder, networkProviderClsId, "DVBC Network Provider");
            }
            else
                // Tuning Space can also describe Analog TV but this application don't support them
                throw new ArgumentException("This application doesn't support this Tuning Space");

            hr = (this.networkProvider as ITuner).put_TuningSpace(tuningSpace);
        }