C ++ IMessengerAdvanced :: StartConversation返回E_FAIL [英] C++ IMessengerAdvanced::StartConversation returns E_FAIL
问题描述
大家好,我正在尝试使用Communicator API从C ++拨打电话号码。电话号码不会反映我的Communicator联系人列表中的任何联系人。 int
{
IMessenger * pIMessenger = NULL;
IMessengerAdvanced * pIMessengerAdvanced = NULL;
CoInitialize(0 );
CoCreateInstance(CLSID_Messenger,NULL,CLSCTX_ALL,IID_IMessenger,
( void **& pIMessenger); // instanciate对象
pIMessenger-> QueryInterface(IID_IMessengerAdvanced,(
void **)& pIMessengerAdvanced);HRESULT hr;
SAFEARRAY * pMyContact;
SAFEARRAYBOUND rgsabound [1];
rgsabound [0] .lLbound = 1;
rgsabound [0] .cElements = 1; // 1 number
pMyContact = SafeArrayCreate(VT_BSTR,1,rgsabound);
if (pMyContact)
SafeArrayPutElement(pMyContact,( long *)rgsabound,SysAllocString(L " + 123456789" ));
VARIANT vtMyContact;
VariantInit(& vtMyContact);
vtMyContact.vt = VT_ARRAY;
vtMyContact.parray = pMyContact;
VARIANT tmp;
//可选输入的临时变量tmp.vt = VT_NULL;
VARIANT tmph; //用于窗口句柄
tmph .vt = VT_PTR;
hr = pIMessengerAdvanced-> StartConversation(CONVERSATION_TYPE_PHONE,vtMyContact,tmp,tmp,tmp,tmp,& tmph);
VariantClear(& vtMyContact);
返回
0;}
Communicator正在运行,我已登录。我有不知道该怎么做。我知道错误消息的含义,但不知道如何解决。
我对如何更改代码从C ++调用任何数字的任何建议持开放态度。
亲切的问候,
< br> Eric
使用 CONVERSATION_TYPE_AUDIO上面的代码要求第三方呼叫控制电话
Hi all, int
I am trying to call a telephone number from C++ with Communicator API. The telephone number does not mirror any contact in my Communicator contact list.
{
IMessenger *pIMessenger = NULL;
IMessengerAdvanced *pIMessengerAdvanced = NULL;
CoInitialize(0);
CoCreateInstance( CLSID_Messenger, NULL, CLSCTX_ALL, IID_IMessenger,
(void ** &pIMessenger); // instanciate object
pIMessenger->QueryInterface(IID_IMessengerAdvanced, (
void**) &pIMessengerAdvanced);HRESULT hr;
SAFEARRAY* pMyContact;
SAFEARRAYBOUND rgsabound[1];
rgsabound[0].lLbound = 1;
rgsabound[0].cElements = 1; // 1 number
pMyContact = SafeArrayCreate(VT_BSTR, 1, rgsabound);
if (pMyContact)
SafeArrayPutElement(pMyContact,(long *)rgsabound, SysAllocString(L"+123456789"));
VARIANT vtMyContact;
VariantInit(&vtMyContact);
vtMyContact.vt=VT_ARRAY;
vtMyContact.parray = pMyContact;
VARIANT tmp;
// temp variant for optional inputtmp.vt = VT_NULL;
VARIANT tmph; // used for window handle
tmph.vt = VT_PTR;
hr = pIMessengerAdvanced->StartConversation(CONVERSATION_TYPE_PHONE, vtMyContact, tmp, tmp, tmp, tmp, &tmph);
VariantClear(&vtMyContact);
return
0;}
Communicator is running and I am signed in. I have no clue what to do. I know the meaning of the error message but don't know how to solve.
I am open for any suggestions how to change code for calling any number from C++.
Kind regards,
Eric
use CONVERSATION_TYPE_AUDIO the code above is asking for a 3rd party call control call
这篇关于C ++ IMessengerAdvanced :: StartConversation返回E_FAIL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!