“标准用户”帐户上的FFDShowvideo解码器上的System.InvalidCastException

例外:

无法将“System .__ ComObject”types的COM对象转换为接口types“DirectShowLib.IBaseFilter”。 此操作失败,因为IIC“{56A86895-0AD4-11CE-B03A-0020AF0BA770}”接口的COM组件上的QueryInterface调用由于以下错误而失败:没有此类接口支持(exception来自HRESULT:0x80004002(E_NOINTERFACE)) 。

我的图表:
自定义文件源(asynchronous) – > GDCL Mpeg-4解复用器 – > ffdshowvideo解码器 – >video渲染器

我的graphics在pipe理员帐户上构build并正确播放。 但是,如果在“标准用户”帐户上,则在投射FFDShowfilter时会引发exception。

码:

IBaseFilter pffdshowVideoDecoder = (IBaseFilter)Activator.CreateInstance(Type.GetTypeFromCLSID(CLSID_ffdshowVideoDecoder)); 

创build实例不会抛出exception,只有当我试图在标准用户帐户下强制转换时才会抛出exception。

附加信息:

  • 我的程序设置为STAThread
  • 该对象的创build和投射在我的主线程上