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


Структура LINEPROXYREQUEST (tapi.h)

Структура LINEPROXYREQUEST содержит значения параметров приложения, выполняющего запрос прокси-сервера. Несколько функций центра обработки вызовов TAPI создают LINE_PROXYREQUEST сообщение, которое ссылается на структуру LINEPROXYREQUEST .

Синтаксис

typedef struct lineproxyrequest_tag {
  DWORD dwSize;
  DWORD dwClientMachineNameSize;
  DWORD dwClientMachineNameOffset;
  DWORD dwClientUserNameSize;
  DWORD dwClientUserNameOffset;
  DWORD dwClientAppAPIVersion;
  DWORD dwRequestType;
  union {
    struct {
      DWORD              dwAddressID;
      LINEAGENTGROUPLIST GroupList;
    } SetAgentGroup;
    struct {
      DWORD dwAddressID;
      DWORD dwAgentState;
      DWORD dwNextAgentState;
    } SetAgentState;
    struct {
      DWORD dwAddressID;
      DWORD dwActivityID;
    } SetAgentActivity;
    struct {
      DWORD         dwAddressID;
      LINEAGENTCAPS AgentCaps;
    } GetAgentCaps;
    struct {
      DWORD           dwAddressID;
      LINEAGENTSTATUS AgentStatus;
    } GetAgentStatus;
    struct {
      DWORD dwAddressID;
      DWORD dwAgentExtensionIDIndex;
      DWORD dwSize;
      BYTE  Params[1];
    } AgentSpecific;
    struct {
      DWORD                 dwAddressID;
      LINEAGENTACTIVITYLIST ActivityList;
    } GetAgentActivityList;
    struct {
      DWORD              dwAddressID;
      LINEAGENTGROUPLIST GroupList;
    } GetAgentGroupList;
    struct {
      HAGENT hAgent;
      DWORD  dwAgentIDSize;
      DWORD  dwAgentIDOffset;
      DWORD  dwAgentPINSize;
      DWORD  dwAgentPINOffset;
    } CreateAgent;
    struct {
      HAGENT hAgent;
      DWORD  dwAgentState;
      DWORD  dwNextAgentState;
    } SetAgentStateEx;
    struct {
      HAGENT hAgent;
      DWORD  dwMeasurementPeriod;
    } SetAgentMeasurementPeriod;
    struct {
      HAGENT        hAgent;
      LINEAGENTINFO AgentInfo;
    } GetAgentInfo;
    struct {
      HAGENTSESSION hAgentSession;
      DWORD         dwAgentPINSize;
      DWORD         dwAgentPINOffset;
      HAGENT        hAgent;
      GUID          GroupID;
      DWORD         dwWorkingAddressID;
    } CreateAgentSession;
    struct {
      HAGENT               hAgent;
      LINEAGENTSESSIONLIST SessionList;
    } GetAgentSessionList;
    struct {
      HAGENTSESSION        hAgentSession;
      LINEAGENTSESSIONINFO SessionInfo;
    } GetAgentSessionInfo;
    struct {
      HAGENTSESSION hAgentSession;
      DWORD         dwAgentSessionState;
      DWORD         dwNextAgentSessionState;
    } SetAgentSessionState;
    struct {
      GUID          GroupID;
      LINEQUEUELIST QueueList;
    } GetQueueList;
    struct {
      DWORD dwQueueID;
      DWORD dwMeasurementPeriod;
    } SetQueueMeasurementPeriod;
    struct {
      DWORD         dwQueueID;
      LINEQUEUEINFO QueueInfo;
    } GetQueueInfo;
    struct {
      LINEAGENTGROUPLIST GroupList;
    } GetGroupList;
  };
} LINEPROXYREQUEST, *LPLINEPROXYREQUEST;

Члены

dwSize

Общее количество байтов, выделенных TAPI для хранения структуры LINEPROXYREQUEST . Член dwTotalSize любой структуры, содержащейся в LINEPROXYREQUEST (например, LINEAGENTCAPS), отражает только количество байтов, выделенных для этой конкретной структуры. Общий размер блока параметров Params (в байтах).

dwClientMachineNameSize

Размер строки имени клиентского компьютера в байтах, включая символ конца null.

dwClientMachineNameOffset

Смещение от начала структуры к строке, завершающейся null, определяющей клиентский компьютер, который сделал этот запрос. Размер строки определяется dwClientMachineNameSize.

dwClientUserNameSize

Размер строки имени пользователя клиента в байтах, включая символ конца null.

dwClientUserNameOffset

Смещение от начала структуры к строке, завершающейся значением NULL, идентифицируя пользователя, под учетной записью которого выполняется приложение на клиентском компьютере. Размер строки определяется параметром dwClientUserNameSize.

dwClientAppAPIVersion

Самая высокая версия API, поддерживаемая приложением, которое сделало запрос. Обработчик прокси-сервера должен ограничивать содержимое всех данных, возвращаемых в приложение, теми элементами и значениями, которые были определены в этой или более ранней версии TAPI.

dwRequestType

Одна из констант LINEPROXYREQUEST_. Определяет тип функции и компонент объединения, определяющий оставшиеся данные в структуре.

SetAgentGroup

Компонент объединения, используемый при LINEPROXYREQUEST_SETAGENT dwRequestType .

SetAgentGroup.dwAddressID

Идентификатор адреса, для которого должен быть задан агент.

SetAgentGroup.GroupList

Структура типа LINEAGENTGROUPLIST. Смещения в этой структуре относятся к началу SetAgentGroup.GroupList , а не к началу структуры LINEPROXYREQUEST .

SetAgentState

Компонент объединения, используемый при LINEPROXYREQUEST_SETAGENTSTATE dwRequestType .

SetAgentState.dwAddressID

Идентификатор адреса, для которого необходимо задать состояние агента.

SetAgentState.dwAgentState

Новое состояние агента или ноль, чтобы оставить состояние агента без изменений.

SetAgentState.dwNextAgentState

Новое состояние следующего агента или нуль для использования следующего состояния по умолчанию, связанного с указанным состоянием агента.

SetAgentActivity

Компонент объединения, используемый при LINEPROXYREQUEST_SETAGENTACTIVITY dwRequestType .

SetAgentActivity.dwAddressID

Идентификатор адреса, для которого должно быть задано действие агента.

SetAgentActivity.dwActivityID

Идентификатор выбранного действия.

GetAgentCaps

Компонент объединения, используемый при LINEPROXYREQUEST_GETAGENTCAPS dwRequestType .

GetAgentCaps.dwAddressID

Идентификатор адреса, для которого необходимо получить возможности агента.

GetAgentCaps.AgentCaps

Структура типа LINEAGENTCAPS. Смещения в этой структуре относятся к началу GetAgentCaps.AgentCaps, а не к началу структуры LINEPROXYREQUEST . Член dwTotalSize задается с помощью TAPI, а остальные байты — равным нулю. Обработчик прокси-сервера должен заполнить dwNeededSize, dwUsedSize и остальные члены соответствующим образом, прежде чем вызывать lineProxyResponse.

GetAgentStatus

Компонент объединения, используемый при LINEPROXYREQUEST_SETAGENTGROUP dwRequestType .

GetAgentStatus.dwAddressID

Идентификатор адреса, для которого требуется получить состояние агента.

GetAgentStatus.AgentStatus

Структура типа LINEAGENTSTATUS. Смещения в этой структуре относятся к началу GetAgentStatus.AgentStatus , а не к началу структуры LINEPROXYREQUEST . Член dwTotalSize задается с помощью TAPI, а остальные байты — равным нулю. Обработчик прокси-сервера должен заполнить dwNeededSize, dwUsedSize и остальные члены соответствующим образом, прежде чем вызывать lineProxyResponse.

AgentSpecific

Компонент объединения, используемый при LINEPROXYREQUEST_AGENTSPECIFIC dwRequestType .

AgentSpecific.dwAddressID

Идентификатор адреса, для которого требуется получить состояние агента.

AgentSpecific.dwAgentExtensionIDIndex

Индекс вызываемого расширения обработчика; положение идентификатора в массиве идентификаторов расширений, возвращаемых в LINEAGENTCAPS.

AgentSpecific.dwSize

Общий размер блока параметров Params (в байтах).

AgentSpecific.Params[1]

Блок памяти, включающий содержимое, переданное обработчику из приложения. Если обработчик возвращает данные в приложение, его необходимо записать в этот блок параметров перед вызовом lineProxyResponse.

GetAgentActivityList

Компонент объединения, используемый при LINEPROXYREQUEST_GETAGENTACTIVITYLIST dwRequestType .

GetAgentActivityList.dwAddressID

Идентификатор адреса, для которого требуется получить список действий агента.

GetAgentActivityList.ActivityList

Структура типа LINEAGENTACTIVITYLIST. Смещения в этой структуре относятся к началу GetAgentActivityList.ActivityList , а не к началу структуры LINEPROXYREQUEST . Член dwTotalSize задается с помощью TAPI, а остальные байты — равным нулю. Обработчик прокси-сервера должен заполнить dwNeededSize, dwUsedSize и остальные члены соответствующим образом, прежде чем вызывать lineProxyResponse.

GetAgentGroupList

Компонент объединения, используемый при LINEPROXYREQUEST_GETAGENTGROUPLIST dwRequestType .

GetAgentGroupList.dwAddressID

Идентификатор адреса, для которого требуется получить список групп агентов.

GetAgentGroupList.GroupList

Структура типа LINEAGENTGROUPLIST. Смещения в этой структуре относятся к началу GetAgentGroupList.GroupList, а не к началу структуры LINEPROXYREQUEST . Член dwTotalSize задается с помощью TAPI, а остальные байты — равным нулю. Обработчик прокси-сервера должен заполнить dwNeededSize, dwUsedSize и остальные члены соответствующим образом, прежде чем вызывать lineProxyResponse.

CreateAgent

Компонент объединения, используемый при LINEPROXYREQUEST_CREATEAGENT dwRequestType .

CreateAgent.hAgent

Уникальный идентификатор агента. Обработчик агента отвечает за создание и поддержание уникальности этого идентификатора.

CreateAgent.dwAgentIDSize

Размер строки идентификатора агента в байтах.

CreateAgent.dwAgentIDOffset

Смещение от начала структуры к строке, завершающейся null, которая указывает идентификатор агента. Размер строки определяется dwAgentIDSize.

CreateAgent.dwAgentPINSize

Размер строки ПИН-кода, включая символ конца NULL , в байтах.

CreateAgent.dwAgentPINOffset

Смещение от начала структуры к строке, завершающейся null, которая указывает ПИН-код или пароль агента. Размер строки определяется dwAgentPINSize.

SetAgentStateEx

Компонент объединения, используемый при LINEPROXYREQUEST_SETAGENTSTATEEX dwRequestType .

SetAgentStateEx.hAgent

Уникальный идентификатор агента. Обработчик агента отвечает за создание и поддержание уникальности этого идентификатора.

SetAgentStateEx.dwAgentState

Одна из констант LINEAGENTSTATEEX_.

SetAgentStateEx.dwNextAgentState

Одна из констант LINEAGENTSTATEEX_.

SetAgentMeasurementPeriod

Компонент объединения, используемый при LINEPROXYREQUEST_SETAGENTMEASUREMENTPERIOD dwRequestType .

SetAgentMeasurementPeriod.hAgent

Уникальный идентификатор агента. Обработчик агента отвечает за создание и поддержание уникальности этого идентификатора.

SetAgentMeasurementPeriod.dwMeasurementPeriod

Период, в течение которого коммутатор или реализация хранит и вычисляет информацию, в секундах. Например, dwNumberOfACDCalls содержит количество вызовов, обрабатываемых агентом; dwMeasurementPeriod указывает, ссылается ли это значение на вызовы, обрабатываемые за последний час, день или месяц.

GetAgentInfo

Компонент объединения, используемый при LINEPROXYREQUEST_GETAGENTINFO dwRequestType .

GetAgentInfo.hAgent

Уникальный идентификатор агента. Обработчик агента отвечает за создание и поддержание уникальности этого идентификатора.

GetAgentInfo.AgentInfo

Структура типа LINEAGENTINFO.

CreateAgentSession

Компонент объединения, используемый при LINEPROXYREQUEST_CREATEAGENTSESSION dwRequestType .

CreateAgentSession.hAgentSession

Уникальный идентификатор сеанса агента.

CreateAgentSession.dwAgentPINSize

Размер строки ПИН-кода агента, включая признак конца NULL , в байтах.

CreateAgentSession.dwAgentPINOffset

Смещение от начала структуры к строке, завершающейся null, которая указывает ПИН-код или пароль агента. Размер этой строки определяется dwAgentPINSize.

CreateAgentSession.hAgent

Уникальный идентификатор агента. Обработчик агента отвечает за создание и поддержание уникальности этого идентификатора.

CreateAgentSession.GroupID

Универсальный уникальный идентификатор для группы ACD. Обработчик агента отвечает за создание и поддержание уникальности этого идентификатора.

CreateAgentSession.dwWorkingAddressID

Идентификатор адреса, по которому агент будет принимать вызовы для этого сеанса.

GetAgentSessionList

Компонент объединения, используемый при LINEPROXYREQUEST_GETAGENTSESSIONLIST dwRequestType .

GetAgentSessionList.hAgent

Уникальный идентификатор агента. Обработчик агента отвечает за создание и поддержание уникальности этого идентификатора.

GetAgentSessionList.SessionList

Структура типа LINEAGENTSESSIONLIST.

GetAgentSessionInfo

Компонент объединения, используемый при LINEPROXYREQUEST_GETAGENTSESSIONINFO dwRequestType .

GetAgentSessionInfo.hAgentSession

Уникальный идентификатор сеанса агента. Обработчик агента отвечает за создание и поддержание уникальности этого идентификатора.

GetAgentSessionInfo.SessionInfo

Структура типа LINEAGENTSESSIONINFO.

SetAgentSessionState

Компонент union, используемый при LINEPROXYREQUEST_SETAGENTSESSIONSTATE dwRequestType .

SetAgentSessionState.hAgentSession

Уникальный идентификатор сеанса агента. Обработчик агента отвечает за создание и поддержание уникальности этого идентификатора.

SetAgentSessionState.dwAgentSessionState

Одна из констант LINEAGENTSESSIONSTATE_.

SetAgentSessionState.dwNextAgentSessionState

Одна из констант LINEAGENTSESSIONSTATE_.

GetQueueList

Компонент объединения, используемый при LINEPROXYREQUEST_GETQUEUELIST dwRequestType .

GetQueueList.GroupID

Универсальный уникальный идентификатор для группы ACD. Обработчик агента отвечает за создание и поддержание уникальности этого идентификатора.

GetQueueList.QueueList

Структура типа LINEQUEUELIST.

SetQueueMeasurementPeriod

Компонент union, используемый, если параметр dwRequestType LINEPROXYREQUEST_SETQUEUEMEASUREMENTPERIOD.

SetQueueMeasurementPeriod.dwQueueID

Уникальный идентификатор очереди. Обработчик агента отвечает за создание и поддержание уникальности этого идентификатора.

SetQueueMeasurementPeriod.dwMeasurementPeriod

Период, для которого параметр или реализация хранят и вычисляют информацию, в секундах.

GetQueueInfo

Компонент объединения, используемый при LINEPROXYREQUEST_GETQUEUEINFO dwRequestType .

GetQueueInfo.dwQueueID

Уникальный идентификатор очереди. Обработчик агента отвечает за создание и поддержание уникальности этого идентификатора.

GetQueueInfo.QueueInfo

Структура типа LINEQUEUEINFO.

GetGroupList

Компонент объединения, используемый при LINEPROXYREQUEST_GETGROUPLIST dwRequestType .

GetGroupList.GroupList

Структура типа LINEAGENTGROUPLIST.

Комментарии

Идентификатор адреса постоянно связан с адресом; идентификатор остается неизменным при обновлении операционной системы.

Требования

Требование Значение
Заголовок tapi.h

См. также раздел

LINEAGENTACTIVITYLIST

LINEAGENTCAPS

LINEAGENTGROUPLIST

LINEAGENTSESSIONINFO

LINEAGENTSESSIONLIST

LINEAGENTSTATUS

LINEQUEUELIST

LINE_PROXYREQUEST

lineProxyResponse