Platform SDK: TAPI |
The following code snippet demonstrates use of the TAPI object to examine available telephony resources for an address that can handle a specified set of media type requirements. In this snippet, audio and video are the required media.
Before using this code snippet, you must perform the operations in Initialize TAPI.
Note This snippet does not have the error checking and releases appropriate for real code.
// Use the TAPI object to // enumerate available addresses. gpTapi->EnumerateAddresses( &pIEnumAddress ); // Locate an address that can support the // media type the application needs. while ( S_OK == pEnumAddresses->Next(1, &pAddress, NULL) ) ) { // Determine the media support. pAddress->QueryInterface( IID_ITMediaSupport, (void **)&pMediaSupport ); // In this snippet, the required media type is already known. // The application can also use the address object to // enumerate the media supported, then choose from there. pMediaSupport->QueryMediaType( TAPIMEDIATYPE_AUDIO|TAPIMEDIATYPE_VIDEO, &bSupport ); if (bSupport) { break; } } // pAddress is now a usable address.
'pick up the collection of Address objects Dim gobjAddress As ITAddress Dim objCollAddresses As ITCollection Set objCollAddresses = gobjTapi.Addresses 'find address that supports the desired type, nSelectedType bFound = False For indexAddr = 1 To objCollAddresses.Count Set objCrtAddress = objCollAddresses.Item(indexAddr) Set objMediaSupport = objCrtAddress Set objAddressCapabilities = objCrtAddress If objMediaSupport.QueryMediaType( nSelectedType ) bFound = True End If Set objAddressCapabilities = Nothing Set objMediaSupport = Nothing Set objCrtAddress = Nothing If bFound = True Then Exit For Next indexAddr Set gobjAddress = objcollAddress.Item(indexAddr) 'If no errors occurred, gobjAddress is now a usable address.
ITTAPI::EnumerateAddresses, ITMediaSupport, TAPIMEDIATYPE_ Constants