很奇怪,自己写的工程,调用的时候竟然在DllGetClassObject() 出错// Returns a class factory to create an object of the requested type
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
printf("DllGetClassObject() \n");
HRESULT hr= _AtlModule.DllGetClassObject(rclsid, riid, ppv);
if(FAILED(hr))
printf("error in DLLGet \n");
return hr;
// return _AtlModule.DllGetClassObject(rclsid, riid, ppv);
}_AtlModule.DllGetClassObject(rclsid, riid, ppv)的时候竟然faile了!请求大侠帮忙!! 这些DLLGetClassObject等函数都是向导自动产生的啊详细的描述 请看:
http://topic.csdn.net/u/20080102/10/0fe7be90-ab8f-4493-aeba-27d4ac728ab8.html
大侠们一定帮忙看看 给点建议谢谢
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
printf("DllGetClassObject() \n");
HRESULT hr= _AtlModule.DllGetClassObject(rclsid, riid, ppv);
if(FAILED(hr))
printf("error in DLLGet \n");
return hr;
// return _AtlModule.DllGetClassObject(rclsid, riid, ppv);
}_AtlModule.DllGetClassObject(rclsid, riid, ppv)的时候竟然faile了!请求大侠帮忙!! 这些DLLGetClassObject等函数都是向导自动产生的啊详细的描述 请看:
http://topic.csdn.net/u/20080102/10/0fe7be90-ab8f-4493-aeba-27d4ac728ab8.html
大侠们一定帮忙看看 给点建议谢谢
解决方案 »
- ResumeThread失败,返回值-1,程序一直等待
- 求教界面问题
- 如何修改一个exe程序的标题
- 关于日期时间数据的问题
- 关于在richedit使用unicode的问题
- 关于自画CTabCtrl控件时,自画其中的SpinButton问题
- 请问COM如何注册???-----------------------------
- 谁能教我atl入门
- 帮我看看怎么记忆吧。
- 如何让程序自动[以管理员身份]运行
- HTTP协议 问题 急
- 我写了一个让学生使用的控件,放在网页上,用户访问这个网页时候,会出来IE的安全提示,是因为我这个控件是属于"对没有标记为安全的ActiveX控件"进行禁用(IE安全设置里面的一个选项),所以每次学生访问时候都要设置下IE安全设置,这样比较麻烦.如何让我的控
连对象都没有得到成功啊 怎么可能能够注册啊不知道
DllGetClassObject() 这个函数如果不通过ATL得 怎么可以实现呢?
谢谢
{ NoRemove CLSID
{
ForceRemove {8E990322-6939-41b9-85D7-ABC0D2D656E5} = s 'sam_mpeg4_dmo class'
{
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Both'
}
val MERIT=d '8392704'
}
}
}
AtlComModuleGetClassObject(&_AtlComModule, rclsid, riid, ppv);而这个函数是微软封装好的
有可能你的代码中还有问题,导致COM无法取得你的库中的类厂接口
DMORegister()
DMORegister()
CertVerify: \Program Files\sam_mpeg4_dmo\mpeg4_dmo.dll trust = 2
Failed to register, cleaning up!
Deleting Key InprocServer32
DLLmain()
不知道是为什么我的
STDAPI DllRegisterServer(void)
{
// Register ourselves as a DMO with no types
// RGS file also registers with a merit of 0 so DShow won't try to use us
// Notes: register to DMOCATEGORY_VIDEO_EFFECT for testing.
printf("DMORegister() \n");
DMO_PARTIAL_MEDIATYPE mt[2],myout;
mt[0].type = MEDIATYPE_Video;
mt[0].subtype = MEDIASUBTYPE_YV12;
mt[1].type = MEDIATYPE_Video;
mt[1].subtype = MEDIASUBTYPE_I420; myout.type=MEDIATYPE_Video;
myout.subtype=MEDIASUBTYPE_NULL;
HRESULT hr=DMORegister(L"DMO mpeg4 video encoder",
CLSID_SAMmpeg4dmo,
DMOCATEGORY_VIDEO_ENCODER,
0,
2,
&mt[0],
1,
&myout);
printf("DMORegister() \n"); // registers object, typelib and all interfaces in typelib
// registers object, typelib and all interfaces in typelib
return _AtlModule.DllRegisterServer(FALSE);// return hr;
}很可能这里就有问题 但是看上去是对的 很奇怪 不知道这个得和rgs文件有什么不一样