怎么用DIRECTSHOW函数取得视频长度并赋予滑块上

如何用DIRECTSHOW函数取得视频长度并赋予滑块上 - C++ Builder / Windows SDK/API
一般视频播放器都有一个可以用鼠标拖动的滑块的,我虽然实现了播放的办法,但是不知道怎么得到视频文件长度(最大总时间)
所以无法给滑块控件(TrackBar1)赋值,而实现拖动效果


还有一个奇怪的问题,就是我无论把代码摆到哪,都不能产生公共函数.

比如下面的这函数....


++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 IGraphBuilder *pGraph;
  IMediaControl *pMC;
  IMediaEvent *pEv;
  IMediaSeeking *pSm;
  IMediaPosition *pPo;
IVideoWindow *pVW = NULL;
IBasicAudio *pBA = NULL;
IBasicVideo *pBV = NULL;
  CoInitialize(NULL);
   
   

  CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,  
  IID_IGraphBuilder, (void **)&pGraph);  
  pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);  
  pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);  

  +++++++++++++++++++++++++++++++++++++++++

我必须在按扭控件区,播放菜单,暂停菜单,停止菜单等地方都放上这个定义,否则编译通不过, 有什么办法解决

 

------解决方案--------------------
看看norains大侠写的,或许对你有帮助

http://blog.****.net/norains/archive/2007/07/27/1712083.aspx