DirectShow, problem rendering avi video with bad header

I have some avi video not well formed.GSpot tells me the header is corrupted.
But if i try opening them using Media Player Classic all works good.
Instead when I try opening them using Directshow GraphBuilder.RenderFile() they doesn't play. I report a little piece of code:

********* Defined in .h *****************
IGraphBuilder *m_pGraphBuilder;
*****************************************

CoCreateInstance( CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void **)&m_pGraphBuilder);

m_pGraphBuilder->RenderFile( wFile, NULL);

I analized the graph of both my software and media player classic usingGraphEdit. Changing some MPC options (but alwais checking the video can play), I obtained 2 graph with one only difference, the Avi splitter:
MPC uses Avi Splitter (low merit),
RenderFile builds a graph using Avi Splitter.

Does someone know how can I render that files using DirectShow?
Thanks for any help.
[1070 byte] By [paolob] at [2007-12-25]
# 1
DirectShow can not play corrupt AVI's without a custom parser filter. MPC uses internal filters to deal with these files. You can refer to the source code of VirtualDub for how to deal with corrupt files.
ChrisP. at 2007-10-8 > top of Msdn Tech,Software Development for Windows Vista,DirectShow Development...

Software Development for Windows Vista

Site Classified