Activex控件 win32调用GetIDsOfNames 返回未知名称(0x8002006)
给了一个ocx控件,要想com一样调用ocx控件。就参照 http://blog.csdn.net/zj510/article/details/39494873 文章里的方式调用,
但是GetIDsOfNames 返回未知名称。
1.Activex 控件是自己照网上写的,添加一个方法 Long AddFunc(Long x, Long y);
#include "stdafx.h"
#include <objbase.h>
#include <atlcomcli.h>
#include <Debug/myocx.tlh>
#import "D:\\workspace\\MyOcx\\Release\\MyOcx,ocx" \
no_namespace no_smart_pointers raw_interfaces_only\
raw_native_types no_implementation named_guids
int _tmain(int argc, _TCHAR *argv[])
{
HRESULT hr;
hr = CoInitialize(0);
if(SUCCEEDED(hr))
{
_DMyOcx *pitd = NULL;
hr = CoCreateInstance(CLSID_MyOcx, 0, CLSCTX_ALL, DIID__DMyOcx, reinterpret_cast<void **>(&pitd) );
if(SUCCEEDED(hr))
{
DISPID dispid[3] = {0};
BSTR Para[3] = {0};
Para[0] = L"AddFunc";
Para[1] = L"x";
Para[2] = L"y";
hr = pitd->GetIDsOfNames(IID_NULL, Para, 3, LOCALE_SYSTEM_DEFAULT, dispid);
...............
...............
}
}
CoUninitialize();
return 0;
}
有几个问题请教各位大虾:
1.Activex 可以像com这样调用吗?(网上资料 Activex 实现了com的设计)
2.如果可以,是哪里写错了。