CreaeInstance 想返回接口函数的指针,为什么必须定义成双指针类型啊。一直理解不了 CreaeInstance 想返回接口函数的指针,为什么必须定义成双指针类型啊。一直理解不了HRESULT IObjectContext::CreateInstance ( REFCLSID rclsid, REFIID riid, LPVOID FAR* ppvObj);大家谁能给我解释一下啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参数是值传递阿,如果要返回int的值,参数就要用int*的。如果要返回(int*)的值,就要用(int*)*的类型阿。 楼上的分析是正确的,COM中一般用接口指针,要想获得一个接口指针,就要用指向接口指针的指针。其实可以近似地把接口指针看做是我们常用的对象指针。 你可以自己写一段类似代码进行指针赋值,就会明白了.char* pSz = NULL;1. GetNewCharArray(char* pSzTmp);2. GetNewCharArray(char** ppSzTmp);自己实现这两个函数吧.其中第二个函数才有作用.如果你只是传了一级指针,那么实际是此指针的copy版,所以对copy版的任何改动都不会影响其原值.如果传的是二级指针,那么是此指针的指针,即其本身,在这种情况下,对其改动,才会达到预想目的. Ado中,为什么有时不能截获异常 IE控件和CHtmlView的区别! 请教 HOOK+DLL+服务程序的问题 MFC SDI 中 CreateNewFrame 创建新窗口问题 【送分】 IWebBrowser几问。 求助:GetLastError() == ERROR_IO_PENDING 问题? 如何得到CComboBox中下拉button的大小?急!!! 请教:在VC6的项目中导入自定义类,但编译时出错请问如何解决?谢谢! 怎样使窗体点标题栏不能拖动 请简短讨论 const 和 static combo控件初始值的问题 C++中ADO多线程访问数据库为何不好用?
其实可以近似地把接口指针看做是我们常用的对象指针。
char* pSz = NULL;
1. GetNewCharArray(char* pSzTmp);
2. GetNewCharArray(char** ppSzTmp);
自己实现这两个函数吧.其中第二个函数才有作用.如果你只是传了一级指针,那么实际是此指针的copy版,所以对copy版的任何改动都不会影响其原值.如果传的是二级指针,那么是此指针的指针,即其本身,在这种情况下,对其改动,才会达到预想目的.