Структура LINECALLINFO (tapi.h)
Структура LINECALLINFO содержит сведения о вызове. Эти сведения остаются относительно фиксированными на протяжении всего вызова. Несколько функций используют LINECALLINFO. Структура возвращается функцией lineGetCallInfo и функцией TSPI_lineGetCallInfo . Если часть структуры меняется, в приложение отправляется LINE_CALLINFO сообщение, указывающее, какой информационный элемент был изменен.
Динамически изменяющиеся сведения о вызове, такие как состояние хода выполнения вызова, доступны в структуре LINECALLSTATUS , возвращаемой вызовом функции lineGetCallStatus .
Синтаксис
typedef struct linecallinfo_tag {
DWORD dwTotalSize;
DWORD dwNeededSize;
DWORD dwUsedSize;
HLINE hLine;
DWORD dwLineDeviceID;
DWORD dwAddressID;
DWORD dwBearerMode;
DWORD dwRate;
DWORD dwMediaMode;
DWORD dwAppSpecific;
DWORD dwCallID;
DWORD dwRelatedCallID;
DWORD dwCallParamFlags;
DWORD dwCallStates;
DWORD dwMonitorDigitModes;
DWORD dwMonitorMediaModes;
LINEDIALPARAMS DialParams;
DWORD dwOrigin;
DWORD dwReason;
DWORD dwCompletionID;
DWORD dwNumOwners;
DWORD dwNumMonitors;
DWORD dwCountryCode;
DWORD dwTrunk;
DWORD dwCallerIDFlags;
DWORD dwCallerIDSize;
DWORD dwCallerIDOffset;
DWORD dwCallerIDNameSize;
DWORD dwCallerIDNameOffset;
DWORD dwCalledIDFlags;
DWORD dwCalledIDSize;
DWORD dwCalledIDOffset;
DWORD dwCalledIDNameSize;
DWORD dwCalledIDNameOffset;
DWORD dwConnectedIDFlags;
DWORD dwConnectedIDSize;
DWORD dwConnectedIDOffset;
DWORD dwConnectedIDNameSize;
DWORD dwConnectedIDNameOffset;
DWORD dwRedirectionIDFlags;
DWORD dwRedirectionIDSize;
DWORD dwRedirectionIDOffset;
DWORD dwRedirectionIDNameSize;
DWORD dwRedirectionIDNameOffset;
DWORD dwRedirectingIDFlags;
DWORD dwRedirectingIDSize;
DWORD dwRedirectingIDOffset;
DWORD dwRedirectingIDNameSize;
DWORD dwRedirectingIDNameOffset;
DWORD dwAppNameSize;
DWORD dwAppNameOffset;
DWORD dwDisplayableAddressSize;
DWORD dwDisplayableAddressOffset;
DWORD dwCalledPartySize;
DWORD dwCalledPartyOffset;
DWORD dwCommentSize;
DWORD dwCommentOffset;
DWORD dwDisplaySize;
DWORD dwDisplayOffset;
DWORD dwUserUserInfoSize;
DWORD dwUserUserInfoOffset;
DWORD dwHighLevelCompSize;
DWORD dwHighLevelCompOffset;
DWORD dwLowLevelCompSize;
DWORD dwLowLevelCompOffset;
DWORD dwChargingInfoSize;
DWORD dwChargingInfoOffset;
DWORD dwTerminalModesSize;
DWORD dwTerminalModesOffset;
DWORD dwDevSpecificSize;
DWORD dwDevSpecificOffset;
DWORD dwCallTreatment;
DWORD dwCallDataSize;
DWORD dwCallDataOffset;
DWORD dwSendingFlowspecSize;
DWORD dwSendingFlowspecOffset;
DWORD dwReceivingFlowspecSize;
DWORD dwReceivingFlowspecOffset;
DWORD dwCallerIDAddressType;
DWORD dwCalledIDAddressType;
DWORD dwConnectedIDAddressType;
DWORD dwRedirectionIDAddressType;
DWORD dwRedirectingIDAddressType;
} LINECALLINFO, *LPLINECALLINFO;
Члены
dwTotalSize
Общий размер, выделенный для этой структуры данных, в байтах.
dwNeededSize
Размер этой структуры данных, необходимый для хранения всей возвращаемой информации, в байтах.
dwUsedSize
Размер части этой структуры данных, содержащей полезную информацию, в байтах.
hLine
Дескриптор для устройства линии, с которым связан этот вызов.
dwLineDeviceID
Идентификатор устройства линии, с которым связан этот вызов.
dwAddressID
Идентификатор адреса в строке, на которой существует этот вызов. Идентификатор адреса постоянно связан с адресом; идентификатор остается неизменным при обновлении операционной системы.
dwBearerMode
Текущий режим носителя вызова. Этот элемент использует одну из констант LINEBEARERMODE_.
dwRate
Скорость потока данных вызова в битах (битов в секунду).
dwMediaMode
Тип носителя потока информации, который в данный момент выполняется в вызове. Это тип носителя, определяемый владельцем вызова, который не обязательно совпадает с типом последнего сообщения LINE_MONITORMEDIA . Сообщения LINE_MONITORMEDIA напрямую не влияют на этот элемент. Этот элемент использует константы LINEMEDIAMODE_.
dwAppSpecific
Не интерпретируется реализацией API и поставщиком службы. Его может задать любое приложение владельца этого вызова с помощью функции lineSetAppSpecific .
dwCallID
В некоторых средах телефонии коммутатор или поставщик услуг может назначить уникальный идентификатор каждому вызову. Это позволяет отслеживать вызов между передачами, пересылками или другими событиями. Домен этих идентификаторов вызовов и их область определяется поставщиком услуг. Член dwCallID делает этот уникальный идентификатор доступным для приложений.
dwRelatedCallID
В средах телефонии, использующих идентификатор вызова, часто бывает необходимо связать один вызов с другим. Для этой цели поставщик услуг может использовать член dwRelatedCallID .
dwCallParamFlags
Коллекция параметров, связанных с вызовом, когда вызов является исходящим. Это те же параметры вызова, которые указаны в lineMakeCall, одной или нескольких констант LINECALLPARAMFLAGS_.
dwCallStates
Одна или несколько констант LINECALLSTATE_, указывающие состояния, в которых приложение может быть уведомлено об этом вызове. Член dwCallStates является константой в LINECALLINFO и не меняется в зависимости от состояния вызова.
dwMonitorDigitModes
Различные режимы цифр. Этот элемент является одной или несколькими константами LINEDIGITMODE_, для которых в настоящее время включен мониторинг.
dwMonitorMediaModes
Различные типы носителей, для которых в настоящее время включен мониторинг. Этот элемент является одной или несколькими константами LINEMEDIAMODE_.
DialParams
Параметры набора, действующие в настоящее время при вызове, типа LINEDIALPARAMS. Если эти параметры не заданы lineMakeCall или lineSetCallParam, их значения будут такими же, как значения по умолчанию, используемые в структуре LINEDEVCAPS .
dwOrigin
Идентифицирует источник вызова. Этот элемент может быть одной из LINECALLORIGIN_ констант.
dwReason
Причина, по которой произошел звонок. Этот элемент может быть одной из LINECALLREASON_ констант.
dwCompletionID
Идентификатор завершения для входящего вызова, если он является результатом завершаемого запроса на завершение. Этот идентификатор имеет смысл, только если dwReason LINECALLREASON_CALLCOMPLETION.
dwNumOwners
Количество модулей приложения с разными дескрипторами вызовов с привилегией владельца для вызова.
dwNumMonitors
Количество модулей приложения с разными дескрипторами вызовов с привилегиями монитора для вызова.
dwCountryCode
Код страны или региона конечной стороны. Ноль, если неизвестно.
dwTrunk
Номер магистрали, по которой направляется вызов. Этот член используется как для входящих, так и для исходящих вызовов. Член dwTrunk должен иметь значение 0xFFFFFFFF, если он неизвестен.
dwCallerIDFlags
Определяет допустимость и содержимое сведений об идентификаторе вызывающей стороны или инициатора. Этот элемент использует одну из констант LINECALLPARTYID_.
dwCallerIDSize
Размер идентификатора вызывающего абонента в байтах.
dwCallerIDOffset
Смещение от начала этой структуры до поля изменяющегося размера, содержащего сведения об идентификаторе вызывающей стороны. Размер поля определяется параметром dwCallerIDSize.
dwCallerIDNameSize
Размер имени идентификатора вызывающего объекта, включая признак конца NULL, в байтах.
dwCallerIDNameOffset
Смещение от начала этой структуры до поля изменяющегося размера, содержащего сведения об идентификаторе вызывающей стороны. Размер поля определяется параметром dwCallerIDNameSize.
dwCalledIDFlags
Определяет допустимость и содержимое сведений об идентификаторе вызываемой стороны. Вызываемая сторона соответствует первоначально адресуемой стороне. Этот элемент использует одну из констант LINECALLPARTYID_.
dwCalledIDSize
Размер идентификатора вызываемой стороны в байтах.
dwCalledIDOffset
Смещение от начала структуры до поля изменяющегося размера, содержащего сведения об идентификаторе вызываемой стороны. Размер поля определяется параметром dwCalledIDSize.
dwCalledIDNameSize
Размер имени идентификатора вызываемой стороны, включая признак конца null, в байтах.
dwCalledIDNameOffset
Смещение от начала структуры до поля изменяющегося размера, содержащего сведения об идентификаторе вызываемой стороны. Размер поля определяется параметром dwCalledIDNameSize.
dwConnectedIDFlags
Определяет допустимость и содержимое сведений об идентификаторе подключенной стороны. Подключенная сторона — это сторона, которая была фактически подключена к. Это может отличаться от идентификатора вызываемой стороны, если звонок был перенаправлен. Этот элемент использует одну из констант LINECALLPARTYID_.
dwConnectedIDSize
Размер идентификатора подключенной стороны в байтах.
dwConnectedIDOffset
Смещение от начала этой структуры до поля изменяющегося размера, содержащего сведения об идентификаторе подключенной стороны. Размер поля определяется dwConnectedIDSize.
dwConnectedIDNameSize
Размер имени идентификатора подключенной стороны, включая признак конца null, в байтах.
dwConnectedIDNameOffset
Смещение от начала этой структуры до поля изменяющегося размера, содержащего сведения об идентификаторе подключенной стороны. Размер поля определяется параметром dwConnectedIDNameSize.
dwRedirectionIDFlags
Определяет допустимость и содержимое сведений об идентификаторе стороны перенаправления. Сторона перенаправления определяет адрес, на который был перенаправлен сеанс. Этот элемент использует одну из констант LINECALLPARTYID_.
dwRedirectionIDSize
Размер идентификатора перенаправления в байтах.
dwRedirectionIDOffset
Смещение от начала структуры до поля изменяющегося размера, содержащего сведения об идентификаторе участника перенаправления. Размер поля определяется параметром dwRedirectionIDSize.
dwRedirectionIDNameSize
Размер имени идентификатора перенаправления в байтах.
dwRedirectionIDNameOffset
Смещение от начала структуры до поля изменяющегося размера, содержащего сведения об идентификаторе участника перенаправления. Размер поля определяется параметром dwRedirectionIDNameSize.
dwRedirectingIDFlags
Определяет допустимость и содержимое сведений об идентификаторе перенаправления. Перенаправляющая сторона определяет адрес, который перенаправляет сеанс. Этот элемент использует одну из констант LINECALLPARTYID_.
dwRedirectingIDSize
Размер идентификатора перенаправления в байтах.
dwRedirectingIDOffset
Смещение от начала структуры до поля изменяющегося размера, содержащего сведения об идентификаторе перенаправления. Размер поля определяется параметром dwRedirectingIDSize.
dwRedirectingIDNameSize
Размер имени идентификатора перенаправления, включая признак конца null, в байтах.
dwRedirectingIDNameOffset
Смещение от начала структуры до поля изменяющегося размера, содержащего сведения об имени идентификатора перенаправления. Размер поля определяется dwRedirectingIDNameSize.
dwAppNameSize
Размер поля имени приложения, включая признак конца NULL, в байтах.
dwAppNameOffset
Смещение от начала структуры к полю изменяющегося размера, в которой содержится понятное имя приложения, которое впервые было создано, принято или ответило на вызов. Это имя, которое приложение может указать в lineInitializeEx. Если приложение не указывает такое имя, вместо него используется имя файла модуля приложения. Размер поля определяется dwAppNameSize.
dwDisplayableAddressSize
Размер отображаемой строки адреса, включая символ конца NULL, в байтах.
dwDisplayableAddressOffset
Отображаемая строка используется для ведения журнала. Сведения о функциях, инициирующих вызовы, извлекается из LINECALLPARAMS . Функция lineTranslateAddress возвращает соответствующие сведения для размещения в этом поле в членах dwDisplayableAddressSize и dwDisplayableAddressOffset структуры LINETRANSLATEOUTPUT .
dwCalledPartySize
Размер поля описания вызываемой стороны в байтах.
dwCalledPartyOffset
Смещение от начала структуры до поля изменяющегося размера, указывающего понятное описание вызываемой стороны. Эти сведения можно указать с помощью lineMakeCall . При необходимости их можно указать в параметре lpCallParams при каждом запуске нового вызова. Это полезно для ведения журнала вызовов. Размер поля определяется параметром dwCalledPartySize.
dwCommentSize
Размер поля комментария в байтах.
dwCommentOffset
Смещение от начала структуры к полю изменяющегося размера, в которой содержится комментарий о вызове, предоставленном приложением, которое начало вызов с помощью lineMakeCall. Эти сведения можно дополнительно указать в параметре lpCallParams при каждом запуске нового вызова. Размер поля определяется параметром dwCommentSize.
dwDisplaySize
Размер необработанной отображаемой информации в байтах.
dwDisplayOffset
Смещение от начала структуры к полю изменяющегося размера, в котором содержатся необработанные отображаемые сведения. В зависимости от среды телефонии поставщик услуг может извлекать функциональные сведения из этой пары элементов для форматирования и представления, наиболее подходящих для этой конфигурации телефонии. Размер поля определяется dwDisplaySize.
dwUserUserInfoSize
Размер сведений пользователя и пользователя в байтах. Если данные пользователя и пользователя являются указателем на строку, размер должен включать признак конца null.
dwUserUserInfoOffset
Смещение от начала структуры до поля изменяющегося размера, вмещающего сведения о пользователе. Поле дискриминатора протокола для сведений о пользователе, если оно используется, отображается в качестве первого байта данных, на которые указывает dwUserUserInfoOffset, и учитывается в dwUserUserInfoSize.
dwHighLevelCompSize
Размер сведений о совместимости высокого уровня в байтах.
dwHighLevelCompOffset
Смещение от начала структуры к полю изменяющегося размера, вмещающего сведения о совместимости высокого уровня. Формат этих сведений определяется другими стандартами (ISDN Q.931). Размер поля определяется dwHighLevelCompSize.
dwLowLevelCompSize
Размер сведений о совместимости низкого уровня в байтах.
dwLowLevelCompOffset
Смещение от начала структуры до поля изменяющегося размера, вмещающего сведения о совместимости низкого уровня. Формат этих сведений определяется другими стандартами (ISDN Q.931). Размер поля определяется dwLowLevelCompSize.
dwChargingInfoSize
Размер сведений о зарядке в байтах.
dwChargingInfoOffset
Смещение от начала структуры до поля изменяющегося размера, вмещающего сведения о зарядке. Формат этих сведений определяется другими стандартами (ISDN Q.931). Размер поля определяется dwChargingInfoSize.
dwTerminalModesSize
Размер массива текущих режимов терминала в байтах.
dwTerminalModesOffset
Смещение от начала структуры до поля устройства изменяющегося размера, содержащего массив с записями размера DWORD. Записи массива индексируются по идентификаторам терминала в диапазоне от нуля до единицы меньше , чем dwNumTerminals. Каждая запись в массиве задает текущие режимы терминала для соответствующего набора терминалов с помощью функции lineSetTerminal для потока мультимедиа этого вызова, как указано в одной из констант LINETERMMODE_. Размер массива определяется dwTerminalModesSize.
dwDevSpecificSize
Размер поля устройства в байтах.
dwDevSpecificOffset
Смещение от начала структуры до поля изменяющегося размера, вмещающего сведения об устройстве. Размер поля определяется dwDevSpecificSize.
dwCallTreatment
Обработка вызовов, применяемая в настоящее время к вызову или применяемая при переходе вызова в следующее применимое состояние. Может быть равно нулю, если обработка вызовов не поддерживается.
dwCallDataSize
Размер данных вызова, устанавливаемых приложением, в байтах.
dwCallDataOffset
Смещение от начала структуры до данных вызова, устанавливаемых приложением. Размер поля определяется dwCallDataSize.
dwSendingFlowspecSize
Размер сведений о качестве обслуживания в байтах.
dwSendingFlowspecOffset
Смещение от начала структуры к структуре FLOWSPEC , за которой следуют данные, относящиеся к поставщику WinSock, эквивалентные тому, что хранилось бы в SendingFlowspec в структуре QOS . Указывает качество обслуживания, действующее в настоящее время в направлении отправки при вызове. Часть поставщика, следующая за структурой FLOWSPEC , не должна содержать указателей на другие блоки памяти, так как TAPI не знает, как маршалировать данные, на которые указывают частные указатели, и передавать их через межпроцессное взаимодействие с приложением. Размер поля определяется dwSendingFlowspecSize.
dwReceivingFlowspecSize
Размер сведений о качестве обслуживания в байтах.
dwReceivingFlowspecOffset
Смещение от начала структуры к структуре FLOWSPEC , за которой следуют данные, относящиеся к поставщику WinSock, эквивалентные тому, что было бы сохранено в ReceivingFlowspec в структуре QOS . Указывает текущее качество обслуживания, действующее в направлении приема при вызове. Часть поставщика, следующая за структурой FLOWSPEC , не должна содержать указателей на другие блоки памяти, так как TAPI не знает, как маршалировать данные, на которые указывают частные указатели, и передавать их через межпроцессное взаимодействие с приложением. Размер поля определяется dwReceivingFlowspecSize.
dwCallerIDAddressType
Тип адреса вызывающего объекта. Этот элемент структуры доступен только в том случае, если согласованная версия TAPI 3.0 или выше.
dwCalledIDAddressType
Тип адреса вызываемой стороны. Этот элемент структуры доступен только в том случае, если согласованная версия TAPI 3.0 или выше.
dwConnectedIDAddressType
Тип адреса назначения, к которому был фактически подключен вызов. Этот элемент структуры доступен только в том случае, если согласованная версия TAPI 3.0 или выше.
dwRedirectionIDAddressType
Тип адреса нового назначения вызова. Этот элемент структуры доступен только в том случае, если согласованная версия TAPI 3.0 или выше.
dwRedirectingIDAddressType
Тип адреса расположения, перенаправляющего вызов. Этот элемент структуры доступен только в том случае, если согласованная версия TAPI 3.0 или выше.
Комментарии
Расширения, относящиеся к устройству, должны использовать область DevSpecific (dwDevSpecificSize и dwDevSpecificOffset) с переменным размером этой структуры данных.
Структура данных LINECALLINFO содержит относительно фиксированные сведения о вызове. Эта структура возвращается с помощью lineGetCallInfo. При изменении информационных элементов в этой структуре данных в приложение отправляется LINE_CALLINFO сообщение. Параметр для этого сообщения — это элемент или поле сведений, которые были изменены.
Члены dwCallTreatment через dwReceivingFlowspecOffset доступны только для приложений, которые открывают устройство с api версии 2.0 или более поздней.
Требования
Требование | Значение |
---|---|
Заголовок | tapi.h |