IGraphBuilder :: RenderFile()与VFW_E_BAD_KEY失败 – 0x800403f2

继续调查embedded式WindowsMediaPlayer问题 ,我试图做一个简单的文件播放通过DirectShow进程内服务器:

::CoInitializeEx(0, COINIT_MULTITHREADED); CComPtr<IGraphBuilder> spGraph; spGraph.CoCreateInstance(CLSID_FilterGraph, 0, CLSCTX_INPROC_SERVER); CComQIPtr<IMediaControl> spMediaControl(spGraph); // ... later: spGraph->RenderFile(L"c:\\foo.wav", 0); // fails with VFW_E_BAD_KEY spMediaControl->Run(); 

有趣的是,当在独立应用程序中进行testing时,这两个系统(Windows XP 32和x64)都能正常运行。
但是,在我的真实使用情况下,这是一个基于NPAPI的浏览器插件,也就是一个加载到Firefox / Chrome / Opera中的DLL。

有没有人有一个想法在这里可能会出错?
或者还有什么想法?

更新:也在微软论坛上提问。

UPDATE2:
IGraphBuilder::AddSourceFilter(path,path,&base)已经失败与以下registry调用(在进程监视器中看到):

 “RegOpenKey”,“HKCU \ Software \ Classes \ c”,“NAME NOT FOUND”,“Desired Access:Query Value,Maximum Allowed” 
 “RegOpenKey”,“HKCU \ Software \ Classes \ Media Type \ Extensions \ .wav”,“NAME NOT FOUND”,“Desired Access:Read” 
 “RegOpenKey”,“HKCU \ Software \ Classes \ Media Type”,“NAME NOT FOUND”,“Desired Access:Read”

Solutions Collecting From Web of "IGraphBuilder :: RenderFile()与VFW_E_BAD_KEY失败 – 0x800403f2"