菜鸟求助!CoCreateInstance返回E_NOINTERFACE
第一次使用com组件,非常菜,我目前现在有.tlb文件和.h文件,import ".tlb"之后,调用CoCreateInstance老是返回
E_NOINTERFACE,我换了好几个IID都不对,请各位打下赐教啊,小弟在这里谢过了!!
BOOL CfffApp::InitInstance()
{
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControlsEx()。否则,将无法创建窗口。
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);
CWinApp::InitInstance();
AfxEnableControlContainer();
// 标准初始化
// 如果未使用这些功能并希望减小
// 最终可执行文件的大小,则应移除下列
// 不需要的特定初始化例程
// 更改用于存储设置的注册表项
// TODO: 应适当修改该字符串,
// 例如修改为公司或组织名
SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
::CoInitialize(NULL);//
CANoe::Application *pIX = NULL;
CLSID clsid = {0x7F31DEB1,0x5bcc,0x11d3,{0x85,0x62,0x00,0x10,0x5a,0x3e,0x01,0x7b}};
IID iid = {0x7BD20670,0xE36C,0x4752,{0x92,0x8A,0x87,0x82,0xBE,0x05,0xE8,0x9C}};
HRESULT hr = ::CoCreateInstance(clsid, NULL, CLSCTX_SERVER , iid,(void **)&pIX);
if (SUCCEEDED(hr))
{
int i;
i =5;
}
现在可以确定的是clsid 肯定是已经注册了,因为我在注册表中看见了,而且IID iid = {0x7BD20670,0xE36C,0x4752,{0x92,0x8A,0x87,0x82,0xBE,0x05,0xE8,0x9C}};这个我是在头文件上看见的。怎么会没有这个接口呢。
E_NOINTERFACE,我换了好几个IID都不对,请各位打下赐教啊,小弟在这里谢过了!!
BOOL CfffApp::InitInstance()
{
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControlsEx()。否则,将无法创建窗口。
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);
CWinApp::InitInstance();
AfxEnableControlContainer();
// 标准初始化
// 如果未使用这些功能并希望减小
// 最终可执行文件的大小,则应移除下列
// 不需要的特定初始化例程
// 更改用于存储设置的注册表项
// TODO: 应适当修改该字符串,
// 例如修改为公司或组织名
SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
::CoInitialize(NULL);//
CANoe::Application *pIX = NULL;
CLSID clsid = {0x7F31DEB1,0x5bcc,0x11d3,{0x85,0x62,0x00,0x10,0x5a,0x3e,0x01,0x7b}};
IID iid = {0x7BD20670,0xE36C,0x4752,{0x92,0x8A,0x87,0x82,0xBE,0x05,0xE8,0x9C}};
HRESULT hr = ::CoCreateInstance(clsid, NULL, CLSCTX_SERVER , iid,(void **)&pIX);
if (SUCCEEDED(hr))
{
int i;
i =5;
}
现在可以确定的是clsid 肯定是已经注册了,因为我在注册表中看见了,而且IID iid = {0x7BD20670,0xE36C,0x4752,{0x92,0x8A,0x87,0x82,0xBE,0x05,0xE8,0x9C}};这个我是在头文件上看见的。怎么会没有这个接口呢。
...全文
相关推荐
– 菜鸟进阶之路 ——关于VS2019环境中e1696错误提示的处理经验
菜鸟进阶之路 ——关于VS2019环境中e1696错误提示的处理经验 我想很多安装了vs2019的小伙伴们应该会和我一样遇到代码为e1696的错误提醒,那我们在 学习c语言的时候,首先要考虑的便是我们的环境了,所以环境的正确安装与运行对我们而言相当重要,而e1696错误提示,便是我们的环境出现了问题,所以我们必须解决。 在我按装vs2019是,一共出现了两次这样的问题,首先我们来具体看一下这个报错提示: 他就长这个样子,就是你写一段代码准备编译运行了却发现根本无法打开源文件,所以后面的程序根本没法跑起来,那么我现在就这一问题的出现做一个分析: 第1、就是源文件输入语法有问题,比如说打错单词了之
天猫宝贝入驻菜鸟注意事项
天猫店铺经营的产品入驻菜鸟仓库,操作注意事项,结合E店宝软件使用。
菜鸟学架各类服务器-E书
菜鸟学架各类服务器-E书,学习吧!好东西大家看看
数据库试题汇总,做一下这套试题会让你不再是SQL菜鸟!
希望我的这套数据库试题能帮助更多的人提高自己的数据库运用水平!
菜鸟程序员自学java2必备教程资料
资源名称:菜鸟程序员自学java 2必备教程资料资源目录:【】abbr_4e2ba17756f9c1a3cd49fd40e46ddf14【】abbr_52d6668dc17bc656f0d5c44bce526c32【】abbr_5cc48e1bd12d2af741fa4b92bfaa8452【】abbr_704bdbe052abfb89a07af682239 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。


