在wince 5 环境下面,比如:sdmmc card\avi 下面有3个avi,1.avi,2.avi,3.avi
用c# directShow 播放时,就是长时间循环播放这3个avi文件,播放到2-3小时,时间不定,有可能长有可能短会发现如下错误:COM interface with IID '{E46A9787-2B71-444D-A4B5-1FAB7B708D6A}' cannot be created due to the following error: 0x80004002. 请教大家如何解决!

解决方案 »

  1.   

    这个确实是不好整,因为报的错是 COM 接口里的东西,
    谁也没有COM接口里的函数,即使有了,这种错误也不好找。
      

  2.   

    1/30/2010 12:14:35 AM[ProjectStartError] Desc:ObjectDisposedException StackTrace :    at System.Threading.WaitHandle.CheckResultInternal(Boolean r)
       at System.Threading.EventWaitHandle.Set()
       at System.Windows.Forms.Control.TASK.MarkDone()
       at System.Windows.Forms.Control.TASK.Invoke()
       at System.Windows.Forms.Control._InvokeAll()
       at System.Windows.Forms.Control.WnProc(WM wm, Int32 wParam, Int32 lParam)
       at System.Windows.Forms.ContainerControl.WnProc(WM wm, Int32 wParam, Int32 lParam)
       at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
       at Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
       at System.Windows.Forms.Application.Run(Form fm)
       at TestSystem.clsMain.Main()1/30/2010 12:14:36 AM[RealPlay] Desc:ThreadAbortException    at TestSystem.UserControls.PicPlay.RealPlay()1/30/2010 12:14:36 AM[ videoPlay SetPlay] Desc:COM interface with IID '{E46A9787-2B71-444D-A4B5-1FAB7B708D6A}' cannot be created due to the following error: 0x80004002.    at TestSystem.UserControls.VideoPlay.SetPlay()1/30/2010 12:14:36 AM[SetMove] Desc:ThreadAbortException 9     at System.Threading.EventWaitHandle.WaitOne()
       at System.Windows.Forms.Control.InvokeHelper(Delegate method, Boolean fSynchronous, Object[] rgobjArgs)
       at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
       at TestSystem.UserControls.MoveMessage.AddLable(String msg, Int32 i, Int32 ivalue)
       at TestSystem.UserControls.MoveMessage.MessageMove()
       at TestSystem.UserControls.MoveMessage.SetMove()
    请大家看下。程序运行一段时间后就死机了。上面是写的日志。
     at TestSystem.clsMain.Main() 是我程序的入口,这个设了错误处理,我不明白为什么它会先扑捉到错误,弄不清楚是它先扑捉到错误,导致后面的错误,还是怎么的。