J'ai une application Windows Mobile 6 utilisant TAPI 2.0. lineGetAddressID()
est nécessaire pour obtenir l'identifiant d'adresse utilisé par plusieurs appels dans l'API téléphonique, mais je n'arrive pas à le faire fonctionner.TAPI lineGetAddressID() échoue avec LINEERR_INVALADDRESS
J'ai essayé ce qui suit en vain:
HLINE line; // valid handle from lineOpen();
DWORD addr_id = 0;
result = ::lineGetAddressID(line, &addr_id, LINEADDRESSMODE_DIALABLEADDR, L"1234", 5);
result = ::lineGetAddressID(line, &addr_id, LINEADDRESSMODE_DIALABLEADDR, L"5551234", 8);
result = ::lineGetAddressID(line, &addr_id, LINEADDRESSMODE_DIALABLEADDR, L"1115551234", 11);
result = ::lineGetAddressID(line, &addr_id, LINEADDRESSMODE_DIALABLEADDR, L"11115551234", 12);
Toutes les retourner LINEERR_INVALADDRESS. Quelqu'un peut-il indiquer ce que je fais peut-être mal? Comme une question secondaire, comment puis-je obtenir par programme l'adresse? Il apparaît dans la structure LINEADDRESSCAPS renvoyée par lineGetAddressCaps()
, mais cela nécessite un identifiant d'adresse (qui devrait provenir de lineGetAddressID()
, ce qui nécessite une adresse ...).
Note: Je me rends compte que je pourrais utiliser 0 comme identifiant d'adresse et cela fonctionnera probablement, mais je n'ai aucune garantie que cela fonctionnera pour toutes les plateformes. Je voudrais que cela soit résolu "juste".
Merci, PaulH
Chaque périphérique de ligne a 'dwNumAddresses == 1'. Dans la structure 'LINEADDRESSCAPS', bien que' dwAddressSize == 0'. – PaulH
Lorsque vous appelez 'lineGetAddressCaps', quelle est la valeur de retour? Est-ce 'LINEERR_STRUCTURETOOSMALL'? Cela peut expliquer pourquoi la valeur 'dwAddressSize' est 0. – Henk
La valeur de retour est 0. D'autres valeurs sont remplies (par exemple, dwAddressFeatures, dwDeviceClassesSize/Offset, dwAddrCapFlags, etc ...), mais pas dwAddressSize. – PaulH