MFC下的DirectX9编程,载入mesh遇到有关问题

【求助】MFC下的DirectX9编程,载入mesh遇到问题
pD3DXMtrlBuffer->Release(); //释放接口
按照pdf上的学习,发现前面没什么问题,知道这个释放语句执行出错

百度下,没有类似问题,有人能给我解答下吗?谢谢!

--------------------------------------------

//我们将通过该接口指针访问Mesh对象的材质和纹理 
LPD3DXBUFFER pD3DXMtrlBuffer = NULL; 

//从.x 文件创建Mesh对象 
::D3DXLoadMeshFromX( 
"tiger.x", D3DXMESH_SYSTEMMEM, m_pDevice,  
NULL, &pD3DXMtrlBuffer, NULL, 
&m_dwNumSubsets, //返回模型中子集的数目 
&m_pMesh); //返回Mesh对象的接口指针 

m_pMeshMaterials = new D3DMATERIAL9[m_dwNumSubsets]; 
m_pMeshTextures = new LPDIRECT3DTEXTURE9[m_dwNumSubsets]; 

//从接口指针pD3DXMtrlBuffer获得各个子集的材质和纹理图片的文件名 
D3DXMATERIAL *d3dxMaterials = (D3DXMATERIAL*)pD3DXMtrlBuffer->GetBufferPointer(); 

for(DWORD i=0; i<m_dwNumSubsets; i++) 

//复制子集的材质 
m_pMeshMaterials[i] = d3dxMaterials[i].MatD3D; 

//Direct3D在调入Mesh模型时,没有设置材质的环境光颜色,这里把它设置成和漫反射一样的颜色。 
m_pMeshMaterials[i].Ambient = m_pMeshMaterials[i].Diffuse; 

//调入纹理图片 
::D3DXCreateTextureFromFile(
m_pDevice, 
d3dxMaterials[i].pTextureFilename, //纹理图片的文件名 
&m_pMeshTextures[i]); 


pD3DXMtrlBuffer->Release(); //释放接口 @@这里出错,百度下发现也都是这么个写法,怎么会出错?

-------------------------------------------------------------
源代码地址: d.1tpan.com/tp1173791690


------解决方案--------------------
你把::D3DXCreateTextureFromFile(
 m_pDevice,
d3dxMaterials[i].pTextureFilename, //纹理图片的文件名
&m_pMeshTextures[i]);
}
这段代码注释,看看释放还出错不.

另外检查一下::D3DXLoadMeshFromX(
"tiger.x", D3DXMESH_SYSTEMMEM, m_pDevice,
NULL, &pD3DXMtrlBuffer, NULL,
&m_dwNumSubsets, //返回模型中子集的数目
&m_pMesh);
的各个参数是否正确,返回值是否正常
------解决方案--------------------
把D3DXLoadMeshFromX第2个参数改为D3DXMESH_MANAGED试下啦