前段时间像把DSHOW工程移动到控件上,建立了MFC ACTIVEX工程,包含了STRMBASD.LIB编译后发现类工厂找不到。原来需要以下代码:
//extern "C"
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return AfxDllGetClassObject(rclsid, riid, ppv);
}
/////////////////////////////////////////////////////////////////////////////
// DllCanUnloadNow
//extern "C"
STDAPI DllCanUnloadNow(void)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return AfxDllCanUnloadNow();
}
本文介绍了一个关于DSHOW工程中类工厂找不到的问题及其解决方案。通过在MFC ActiveX工程中加入特定代码实现DLL类工厂的支持,确保了工程能够正常编译。

被折叠的 条评论
为什么被折叠?



