Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В рамках абстракции телефонного устройства, определенного TSPI, TAPI и поставщиком услуг, сначала необходимо пройти базовую инициализацию. Эта базовая инициализация выполняется как для линий, так и для половины телефонов интерфейса с помощью одного набора шагов. Первым из этих шагов является согласование версий интерфейса. TAPI выполняет это путем вызова функции TSPI_lineNegotiateTSPIVersion. Эта функция обычно используется для согласования от имени отдельного устройства линии; разные устройства линии в одном поставщике услуг могут работать в соответствии с различными версиями интерфейса. TAPI передает специальное зарезервированное значение идентификатора устройства INITIALIZE_NEGOTIATION, чтобы указать, что он ведет переговоры о общей версии интерфейса для функций инициализации, влияющих на весь поставщик услуг, как для линий, так и для телефонов.
Результат этого согласования передается в последующие процедуры до открытия телефонного устройства. В то время устройство телефона будет зафиксировано в определенной версии интерфейса. Эта версия интерфейса неявна до закрытия телефона и не требуется передавать последующим функциям, работающим на открытом телефоне.
После общего согласования версий интерфейса TAPI вызывает функцию TSPI_providerInit. Эта функция инициализирует поставщика услуг, предоставляя ему параметры, необходимые для последующей операции. К этим параметрам относятся следующие параметры:
- dwPermanentProviderID: указывает постоянный идентификатор инициализированного поставщика услуг, уникальный в рамках поставщиков услуг в этой системе.
- dwLineDeviceIDBase: указывает самый низкий идентификатор устройства для устройств линии, поддерживаемых этим поставщиком услуг.
- dwPhoneDeviceIDBase: указывает самый низкий идентификатор устройства для телефонных устройств, поддерживаемых этим поставщиком услуг. Устройства класса телефонных телефонных устройств определяются целыми числами начиная с нуля. Этот диапазон идентификаторов является непрерывным в полном диапазоне телефонных устройств. Так как в одной системе может быть несколько поставщиков услуг, управляющих телефонными устройствами, каждый поставщик услуг получает непрерывную часть общего диапазона. Этот параметр сообщает поставщику услуг наименьшее значение в его части диапазона. Поставщик услуг, а не TAPI, отвечает за сопоставление этого диапазона переменных с собственными внутренними идентификаторами устройств. Это дает поставщику услуг достаточно гибкости для использования идентификаторов устройств в расширениях для конкретного устройства, если он хочет. Так как поставщик услуг знает, какие идентификаторы устройств отображаются в определяемых TAPI параметрах и структурах данных, он может использовать согласованные идентификаторы устройств в параметрах расширения для конкретного устройства и структурах данных.
- dwNumLines: указывает, сколько устройств линии поддерживает этот поставщик услуг.
- dwNumPhones: указывает, сколько телефонных устройств поддерживает этот поставщик услуг.
- lpfnCompletionProc: указывает процедуру вызова поставщика услуг для отправки отчетов о завершении всех асинхронно операционных процедур на телефонных и телефонных устройствах.
После TSPI_providerInitможно выполнять обычные операции, такие как открытие телефонов.