Поделиться через


Расширение среды

Существуют условия для расширения констант и структур как независимым от устройства способом, так и способом, зависящим от конкретного устройства (поставщика). В константах, которые являются скалярными перечислениями, диапазон значений зарезервирован для будущих общих расширений. Остальные значения определяются как относящиеся к устройству. Поставщик может определить значения для этих значений любым способом. Их интерпретация связана с идентификатором расширения , указанным в структуре данных LINEDEVCAPS . Для констант, определенных как битовые флаги, зарезервирован диапазон битов низкого порядка, где биты высокого порядка могут быть специфичными для расширения. Рекомендуется, чтобы расширенные значения и битовые массивы использовали биты от наибольшего значения или бита высокого порядка вниз. При этом остается возможность переместить границу между общей частью и частью расширения, если это потребуется сделать в будущем. Расширениям структур данных назначается поле изменяющегося размера, размер и смещение которых является частью фиксированной части. TAPI описывает для каждой структуры данных, какие расширения для конкретного устройства разрешены.

Помимо распознавания определенного идентификатора расширения, приложение должно согласовывать номер версии расширения, с которым работает приложение и поставщик услуг. Это делается на втором этапе согласования версии функции lineGetDevCaps .

Идентификатор расширения является глобально уникальным идентификатором. Отсутствует центральный реестр для идентификаторов расширений. Вместо этого они создаются локально производителем служебной программой, доступной в наборе средств. Это число состоит из таких частей, как уникальный адрес локальной сети, время суток и случайное число, чтобы гарантировать глобальную уникальность. Глобальные уникальные идентификаторы отличаются от универсальных уникальных идентификаторов HP/DEC и, таким образом, полностью совместимы с ними.