帮小弟我改改下面这段视频播放的程序,好吗?非常感谢

求助:各位大哥帮我改改下面这段视频播放的程序,好吗?非常感谢!
//播放所有wave,mps,和视频文件
class   CVideo
{
private:
///   direct   show
IGraphBuilder* m_pGraph; //   Filter对象
IMediaControl* m_pMediaControl; //   流媒体播放器
IMediaPosition* m_pMediaPosition; //   播放位置
IMediaEvent* m_pEvent; //   流媒体触发事件
IVideoWindow* m_pViewWin; //   播放视频的窗口
HWND m_hWnd; //   窗口句柄
BOOL m_isLoop; //   是否循环播放

///   direct   sound
LPDIRECTSOUND8 m_pSound; //   声音硬件指针
LPDIRECTSOUNDBUFFER m_pSBuffer; //   声音缓冲
DSBUFFERDESC m_dsdesc;


//初始化流媒体播放
HRESULT   InitStream();

//初始音效播放
HRESULT   InitSound();


//载入指定文件名的音乐,视频文件

public:
bool   readfile(   LPSTR   pFileName   );
EnumVideo m_Id;
//构造函数,初始化各接口,为播放作准备
CVideo(   HWND   hWnd   =   NULL   );

virtual   ~CVideo();

//播放Mp3音乐
bool   Play(   LPSTR   pFileName   ,   EnumVideo   Id,   BOOL   isLoop   =   false   );
};


#include   "..\\H\\Video.h "


//初始化各接口,为播放作准备
CVideo::CVideo(   HWND   hWnd   )
{
///   direct   show
//   先赋空值,在初始化
m_pGraph =   NULL; //   流过滤器
m_pMediaControl =   NULL; //   流媒体播放器
m_pMediaPosition =   NULL; //   播放位置
m_pEvent =   NULL; //   流媒体触发事件
m_pViewWin =   NULL;
m_hWnd =   hWnd; //   播放视频的窗口

///   direct   sound
//   赋空
m_pSound =   NULL; //   音效的硬件指针
m_pSBuffer =   NULL;

InitSound();
//   初始化流媒体播放
InitStream();
}

//初始化流媒体播放
HRESULT   CVideo::InitStream()
{
//   创建过滤器
  CoInitialize(   NULL   );
CoCreateInstance(CLSID_FilterGraph,   NULL,
                                          CLSCTX_INPROC,   IID_IGraphBuilder,   (void**)&m_pGraph);

//   创建控制器
m_pGraph-> QueryInterface(   IID_IMediaControl,   (   void**   )&m_pMediaControl   );

//   创建播放位置
m_pGraph-> QueryInterface(   IID_IMediaPosition,   (   void**   )&m_pMediaPosition   );

//   创建事件响应接口
m_pGraph-> QueryInterface(   IID_IMediaEvent,   (   void**   )&m_pEvent   );

//   创建播放窗口
m_pGraph-> QueryInterface(   IID_IVideoWindow,   (   void**   )&m_pViewWin   );


return   S_OK;
}


//载入指定文件名的音乐,视频文件
bool   CVideo::readfile(   LPSTR   pFileName   )
{
WCHAR   wstrSoundPath[MAX_PATH];
CHAR   strSoundPath[MAX_PATH];
static   HWND   hDrain   =   0;

switch(   m_Id   )
{
case   VIDEO_MOVING:
//   得到sound文件夹名
GetCurrentDirectory(MAX_PATH,   strSoundPath);
strcat(strSoundPath,   "\\ ");
strcat(strSoundPath,   pFileName);

//变为宽字节,防止中文路径有错误
MultiByteToWideChar(CP_ACP,   0,   strSoundPath,   -1,   wstrSoundPath,   MAX_PATH);
if(S_OK!=   m_pGraph-> RenderFile(wstrSoundPath,   NULL)) //MustBe   NULL
return   false;