由于以下错误,检索具有CLSID {...}的组件的COM类工厂失败:80040154

时间:2010-01-23 15:36:04

标签: c# directshow.net

我正在使用DirectShowLib和SampleGrabber来捕获AVI文件的视频帧。 我通过使用图形构建器和几个过滤器来实现这一点。一切都很好,我能够初始化图形和过滤器。

然后我添加了代码来获取Dimension,Frame rate e.t.c等视频信息。为此,我习惯了IMediaDet。但是当我尝试初始化它时:

Type t = Type.GetTypeFromCLSID(new Guid("65BD0710-24D2-4ff7-9324-ED2E5D3ABAFA"));
IMediaDet mediaDet = (IMediaDet)Activator.CreateInstance(t);

Activator.CreateInstance(t)抛出异常:

  

检索具有CLSID {65BD0710-24D2-4FF7-9324-ED2E5D3ABAFA}的组件的COM类工厂因以下错误而失败:80040154。

我不认为它的构建问题是过滤器和图形构建器正在初始化正常。任何人都有任何想法,或者我是否可以使用任何其他API来收集尺寸,帧速率,视频长度等AVI文件信息?

2 个答案:

答案 0 :(得分:1)

我认为您错误输入了Guid。它接近qedit.dll,65BD0711-24D2-4FF7-9324-ED2E5D3ABAFA支持的一个,你关闭了一位数。

答案 1 :(得分:0)

0x80040154 - 类未注册 - 通常意味着两件事之一 - CLSID错误,或实现该类的DLL / EXE未在机器上(正确)注册。

您可以在HKCR / CLSID下检查注册表,看看是否在机器上实际注册了该注册表。