hr = pEnum->GetNextDataObject(&pData) 运行后 hr的值为 -2005531806。 原因是因为没有注册模板,即使你使用的是directx标准模板也必须先注册,
代码如下
if(FAILED(pDXFile->RegisterTemplates(
(LPVOID)D3DRM_XTEMPLATES,
D3DRM_XTEMPLATE_BYTES))) {
pDXFile->Release();
return FALSE;
}
当然需要引入头文件
#include <dxfile.h>
#include <rmxftmpl.h>
#include <rmxfguid.h>
还有lib包d3dxof.lib
否则报找函数或类找不到的错误。