当前位置: 首页>>代码示例>>C#>>正文


C# IBaseFilter.GetClassID方法代码示例

本文整理汇总了C#中IBaseFilter.GetClassID方法的典型用法代码示例。如果您正苦于以下问题:C# IBaseFilter.GetClassID方法的具体用法?C# IBaseFilter.GetClassID怎么用?C# IBaseFilter.GetClassID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IBaseFilter的用法示例。


在下文中一共展示了IBaseFilter.GetClassID方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetMerit

 private static Merit GetMerit(IBaseFilter filter)
 {
   Guid clsid;
   int hr;
   hr = filter.GetClassID(out clsid);
   if (hr != 0)
   {
     return Merit.DoNotUse;
   }
   //check cache
   if (_meritCache.ContainsKey(clsid))
   {
     return _meritCache[clsid];
   }
   //figure new value
   try
   {
     RegistryKey filterKey =
       Registry.ClassesRoot.OpenSubKey(@"CLSID\{083863F1-70DE-11d0-BD40-00A0C911CE86}\Instance\{" + clsid.ToString() +
                                       @"}");
     if (filterKey == null)
     {
       Log.Debug("Could not get merit value for clsid {0}, key not found!", clsid);
       _meritCache[clsid] = Merit.DoNotUse;
       return Merit.DoNotUse;
     }
     Byte[] filterData = (Byte[])filterKey.GetValue("FilterData", 0x0);
     if (filterData == null || filterData.Length < 8)
     {
       return Merit.DoNotUse;
     }
     Byte[] merit = new Byte[4];
     //merit is 2nd DWORD, reverse byte order
     Array.Copy(filterData, 4, merit, 0, 4);
     uint dwMerit = ReverseByteArrayToDWORD(merit);
     _meritCache[clsid] = (Merit)dwMerit;
     return (Merit)dwMerit;
   }
   catch (Exception e)
   {
     Log.Debug("Could not get merit value for clsid {0}. Error: {1}", clsid, e.Message);
     return Merit.DoNotUse;
   }
 }
开发者ID:npcomplete111,项目名称:MediaPortal-1,代码行数:44,代码来源:DirectShowUtil.cs

示例2: GetCodecInfo

 CodecConfiguration.Codec? GetCodecInfo(IBaseFilter filter, string name)
 {
     Guid guid;
     filter.GetClassID(out guid);
     CodecConfiguration.Codec c = new CodecConfiguration.Codec() { CLSID = guid.ToString("B"), Name = name };
     CodecConfiguration.CheckCodec(ref c);
     return c;
 }
开发者ID:leesanghyun2,项目名称:mp-onlinevideos2,代码行数:8,代码来源:ConfigurationPlayer.cs


注:本文中的IBaseFilter.GetClassID方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。