Выбор адреса

В следующем примере кода показано использование объекта TAPI для проверки доступных ресурсов телефонии для адреса, который может обрабатывать указанный набор требований к типу мультимедиа. В этом примере звук и видео являются необходимыми носителями.

Перед использованием этого примера кода необходимо выполнить операции в разделе Инициализация TAPI.

Примечание

В этом примере нет проверок ошибок и выпусков, подходящих для рабочего кода.

// Declare the interfaces used to select an address.
IEnumAddress * pIEnumAddress;
ITAddress * pAddress;
ITMediaSupport * pMediaSupport;

// Use the TAPI object to enumerate available addresses.
hr = gpTapi->EnumerateAddresses( &pIEnumAddress );
// If (hr != S_OK) process the error here. 

// Locate an address that can support the media type the application needs.
while ( S_OK == pIEnumAddress->Next(1, &pAddress, NULL) )
{
    // Determine the media support.
    hr = pAddress->QueryInterface(
         IID_ITMediaSupport,
         (void **)&pMediaSupport
         );
    // If (hr != S_OK) process the error here. 

    // In this example, the required media type is already known.
    // The application can also use the address object to
    // enumerate the media supported, then choose from there.
    hr = pMediaSupport->QueryMediaType(
         TAPIMEDIATYPE_AUDIO|TAPIMEDIATYPE_VIDEO,
         &bSupport
         );
    // If (hr != S_OK) process the error here. 

    if (bSupport)
    {
        break;
    }
}
// pAddress is now a usable address.

ITTAPI::EnumerateAddresses

ITMediaSupport

Константы TAPIMEDIATYPE_