Automation 如何定义异构体(组件对象模型)
我想用invoke调用一个方法。我的对象输入是一个字符串,它是我计算机中文件的地址,输出类型是IDispatch。如何将异类定义为invoke的输入。我的代码是:Automation 如何定义异构体(组件对象模型),automation,com,components,invoke,idispatch,Automation,Com,Components,Invoke,Idispatch,我想用invoke调用一个方法。我的对象输入是一个字符串,它是我计算机中文件的地址,输出类型是IDispatch。如何将异类定义为invoke的输入。我的代码是: ::CLSIDFromProgID(OLESTR("SGNSAutomation.SGNSApplication"), &clsid); IID iid; HRESULT hr = CoCreateInstance(clsid, NULL, CLSCTX_ALL, IID_IDispatch, (LPVOID*)&
::CLSIDFromProgID(OLESTR("SGNSAutomation.SGNSApplication"), &clsid);
IID iid;
HRESULT hr = CoCreateInstance(clsid, NULL, CLSCTX_ALL,
IID_IDispatch, (LPVOID*)&pWMPDispatch);
IDispatch * pdisp = (IDispatch *)NULL;
DISPID dispid;
DISPPARAMS params= {NULL,NULL,0,0};
OLECHAR * Name = OLESTR("importCase");
//my problem is here
params.rgvarg[1].pdispVal
params.rgvarg[0].bstrVal="E:\\new library\\university\\final project
documentation\\GPNS project\\net1.gpns";
params.rgvarg[1].scode = DISP_E_PARAMNOTFOUND;
params.cArgs = 2;
params.cNamedArgs = 0;
//
pWMPDispatch->GetIDsOfNames(IID_NULL,
&Name,1,LOCALE_SYSTEM_DEFAULT,&dispid);
HRESULT hresult =pWMPDispatch->Invoke(dispid, IID_NULL,
LOCALE_USER_DEFAULT, DISPATCH_METHOD, ¶ms, NULL, NULL,
NULL);
请帮助我正确定义异类。调用的函数“importcase”是如何定义的?嘿,@mahdi Lotfi:我注意到你最近问了很多COM问题,但没有接受给你的答案。如果您按预期的方式使用StackOverflow,您可能会得到更多的响应。对不起,我是stack overflow的新手,我不太了解这个网站,也不太了解接受答案和其他选项。我用这种方式调用此函数IDispatch out=importcase(我计算机中的文件路径),我可以回答这个问题,但是我们需要看到IDL或C++来定义你要使用的接口。请使用此信息更新问题。