TAPI 2.0을 사용하는 Windows Mobile 6 응용 프로그램이 있습니다. lineGetAddressID()
은 전화 API에서 여러 통화에 사용되는 주소 식별자를 가져 오는 데 필요하지만 작동하도록 설정할 수는 없습니다.TAPI lineGetAddressID()가 LINEERR_INVALADDRESS와 함께 실패합니다.
는 나는 아무 소용에 다음을 시도했다 :
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);
그들 모두를 LINEERR_INVALADDRESS을 반환합니다. 아무도 내가 잘못하고있는 것을 지적 할 수 있습니까?
부수적 인 질문으로 프로그래밍 방식으로 주소를 가져올 수 있습니까? lineGetAddressCaps()
에 의해 반환 된 LINEADDRESSCAPS 구조체에 나타나지만 주소 식별자가 필요합니다 (주소가 필요한 lineGetAddressID()
에서 올 필요가 있습니다).
참고 : 주소 ID로 0을 사용할 수 있으며 실제로 작동하지만 모든 플랫폼에서 작동한다는 보장은 없습니다. 이 문제를 해결하고 싶습니다.
감사합니다, PaulH
각 회선 장치에는'dwNumAddresses == 1 '이 있습니다. 'LINEADDRESSCAPS' 구조체에서는'dwAddressSize == 0'을 사용합니다. – PaulH
'lineGetAddressCaps'를 호출 할 때 반환 값은 무엇입니까? 'LINEERR_STRUCTURETOOSMALL'입니까? 이것은 'dwAddressSize' 값이 0 인 이유를 설명 할 수 있습니다. – Henk
반환 값은 0입니다. 다른 값은 dwAddressSeize가 아니라 dwAddressFeatures, dwDeviceClassesSize/Offset, dwAddrCapFlags 등과 같이 채워집니다. – PaulH