HRESULT hr;
COSERVERINFO serverinfo;
MULTI_QI multiqi;
serverinfo.dwReserved1=0;
serverinfo.pwszName=L"192.168.3.3";
serverinfo.pAuthInfo=NULL;
serverinfo.dwReserved2=0;
multiqi.pIID=(IID*)&point;
multiqi.hr=NOERROR;
multiqi.pItf=NULL;
hr=CoCreateInstanceEx(CLSID_myobject,NULL,CLSCTX_REMOTE_SERVER,&serverinfo,1,&multiqi);
系统居然提示CoCreateInstanceEx没有定义???这是怎么回事??
另外,CoCreateInstance是可以的。
11 个解决方案
#1
哪有这回事,我这几个月天天和他打交道!!!
确认是否包含#include <atlbase.h> 并且在#include 之前是否有下面定义
#define _WIN32_WINNT 0x0400
如果没有,加上,包你Ok
//#define _WIN32_WINNT 0x0400
//#include <atlbase.h>
确认是否包含#include <atlbase.h> 并且在#include 之前是否有下面定义
#define _WIN32_WINNT 0x0400
如果没有,加上,包你Ok
//#define _WIN32_WINNT 0x0400
//#include <atlbase.h>
#2
如果正确初始化了COM库,应该不会有这种问题的:(
#3
1、COM库已经初始化了
2、按evelan(醉猫)说的还是不行
3、环境:
VC6 SP3
WIN2000 SP1
2、按evelan(醉猫)说的还是不行
3、环境:
VC6 SP3
WIN2000 SP1
#4
急死我了,有人帮我吗???
#5
加上这个定义即可:
#define _WIN32_DCOM
#define _WIN32_DCOM
#6
evelan(醉猫)说的也可以,但如果你是为Win 95/98编程那就只能定义_WIN32_DCOM了
#7
按你们说的做了都不行,后来我是这样解决的:
在文件中自己手工添加函数的定义:
WINOLEAPI CoCreateInstanceEx(
REFCLSID Clsid,
IUnknown * punkOuter, // only relevant locally
DWORD dwClsCtx,
COSERVERINFO * pServerInfo,
DWORD dwCount,
MULTI_QI * pResults );
系统编译通过。
真是奇怪!!!!!!!!!
另外,执行时,有错误,提示为:
事件类型: 错误
事件来源: DCOM
事件种类: 无
事件 ID: 10006
日期: 2001-03-13
事件: 12:10:13
用户: QJJ\qjj1
计算机: QJJ
描述:
试图激活服务器:
{2632EDC8-3365-43B1-82F1-9BBD1B9D667C} 时,DCOM 从计算机 192.168.3.3 得到错误“不支持此接口 ”
而我请求的是IUnknown接口。这又是怎么回事??????
在文件中自己手工添加函数的定义:
WINOLEAPI CoCreateInstanceEx(
REFCLSID Clsid,
IUnknown * punkOuter, // only relevant locally
DWORD dwClsCtx,
COSERVERINFO * pServerInfo,
DWORD dwCount,
MULTI_QI * pResults );
系统编译通过。
真是奇怪!!!!!!!!!
另外,执行时,有错误,提示为:
事件类型: 错误
事件来源: DCOM
事件种类: 无
事件 ID: 10006
日期: 2001-03-13
事件: 12:10:13
用户: QJJ\qjj1
计算机: QJJ
描述:
试图激活服务器:
{2632EDC8-3365-43B1-82F1-9BBD1B9D667C} 时,DCOM 从计算机 192.168.3.3 得到错误“不支持此接口 ”
而我请求的是IUnknown接口。这又是怎么回事??????
#8
在project->settings->C/C++->preprocessor中加入_WIN32_DCOM
#9
谢谢horris(僧推月下门),还有:
在文件中#define与在project->settings->C/C++->preprocessor中加入_WIN32_DCOM有什么区别????即这两种定义对于编译有什么不同的作用?????
是不是作用范围不同?还是????
在文件中#define与在project->settings->C/C++->preprocessor中加入_WIN32_DCOM有什么区别????即这两种定义对于编译有什么不同的作用?????
是不是作用范围不同?还是????
#10
????
#11
是的,作用范围不同。文件中的只作用于该文件,SETTINGS中是作用于整个工程的
#1
哪有这回事,我这几个月天天和他打交道!!!
确认是否包含#include <atlbase.h> 并且在#include 之前是否有下面定义
#define _WIN32_WINNT 0x0400
如果没有,加上,包你Ok
//#define _WIN32_WINNT 0x0400
//#include <atlbase.h>
确认是否包含#include <atlbase.h> 并且在#include 之前是否有下面定义
#define _WIN32_WINNT 0x0400
如果没有,加上,包你Ok
//#define _WIN32_WINNT 0x0400
//#include <atlbase.h>
#2
如果正确初始化了COM库,应该不会有这种问题的:(
#3
1、COM库已经初始化了
2、按evelan(醉猫)说的还是不行
3、环境:
VC6 SP3
WIN2000 SP1
2、按evelan(醉猫)说的还是不行
3、环境:
VC6 SP3
WIN2000 SP1
#4
急死我了,有人帮我吗???
#5
加上这个定义即可:
#define _WIN32_DCOM
#define _WIN32_DCOM
#6
evelan(醉猫)说的也可以,但如果你是为Win 95/98编程那就只能定义_WIN32_DCOM了
#7
按你们说的做了都不行,后来我是这样解决的:
在文件中自己手工添加函数的定义:
WINOLEAPI CoCreateInstanceEx(
REFCLSID Clsid,
IUnknown * punkOuter, // only relevant locally
DWORD dwClsCtx,
COSERVERINFO * pServerInfo,
DWORD dwCount,
MULTI_QI * pResults );
系统编译通过。
真是奇怪!!!!!!!!!
另外,执行时,有错误,提示为:
事件类型: 错误
事件来源: DCOM
事件种类: 无
事件 ID: 10006
日期: 2001-03-13
事件: 12:10:13
用户: QJJ\qjj1
计算机: QJJ
描述:
试图激活服务器:
{2632EDC8-3365-43B1-82F1-9BBD1B9D667C} 时,DCOM 从计算机 192.168.3.3 得到错误“不支持此接口 ”
而我请求的是IUnknown接口。这又是怎么回事??????
在文件中自己手工添加函数的定义:
WINOLEAPI CoCreateInstanceEx(
REFCLSID Clsid,
IUnknown * punkOuter, // only relevant locally
DWORD dwClsCtx,
COSERVERINFO * pServerInfo,
DWORD dwCount,
MULTI_QI * pResults );
系统编译通过。
真是奇怪!!!!!!!!!
另外,执行时,有错误,提示为:
事件类型: 错误
事件来源: DCOM
事件种类: 无
事件 ID: 10006
日期: 2001-03-13
事件: 12:10:13
用户: QJJ\qjj1
计算机: QJJ
描述:
试图激活服务器:
{2632EDC8-3365-43B1-82F1-9BBD1B9D667C} 时,DCOM 从计算机 192.168.3.3 得到错误“不支持此接口 ”
而我请求的是IUnknown接口。这又是怎么回事??????
#8
在project->settings->C/C++->preprocessor中加入_WIN32_DCOM
#9
谢谢horris(僧推月下门),还有:
在文件中#define与在project->settings->C/C++->preprocessor中加入_WIN32_DCOM有什么区别????即这两种定义对于编译有什么不同的作用?????
是不是作用范围不同?还是????
在文件中#define与在project->settings->C/C++->preprocessor中加入_WIN32_DCOM有什么区别????即这两种定义对于编译有什么不同的作用?????
是不是作用范围不同?还是????
#10
????
#11
是的,作用范围不同。文件中的只作用于该文件,SETTINGS中是作用于整个工程的