lineSetTerminal 함수(tapi.h)
lineSetTerminal 함수를 사용하면 애플리케이션이 라우팅할 지정된 줄, 주소 또는 호출과 관련된 터미널 정보를 지정할 수 있습니다. lineSetTerminal 함수는 애플리케이션이 필요에 따라 이러한 이벤트를 다른 디바이스로 라우팅할 수 있도록 줄에서 호출이 진행되는 동안 사용할 수 있습니다.
구문
LONG lineSetTerminal(
HLINE hLine,
DWORD dwAddressID,
HCALL hCall,
DWORD dwSelect,
DWORD dwTerminalModes,
DWORD dwTerminalID,
DWORD bEnable
);
매개 변수
hLine
열린 줄 디바이스에 대한 핸들입니다.
dwAddressID
지정된 오픈 라인 디바이스의 주소입니다. 주소 식별자는 주소와 영구적으로 연결됩니다. 식별자는 운영 체제 업그레이드에서 일정하게 유지됩니다.
hCall
호출에 대한 핸들입니다. dwSelect가 CALL인 경우 hCall의 호출 상태는 임의의 상태일 수 있습니다.
dwSelect
줄, 주소 또는 지정된 호출에 대해 터미널 설정을 요청했는지 여부입니다. 줄 또는 주소를 지정하면 이벤트가 줄 또는 주소 자체에 적용되거나 줄 또는 주소의 모든 새 호출에 대한 기본 초기 설정으로 사용됩니다. 이 매개 변수는 LINECALLSELECT_ 상수 중 하나를 사용합니다.
dwTerminalModes
지정된 터미널로 라우팅할 하위 수준 이벤트의 클래스입니다. 이 매개 변수는 하나 이상의 LINETERMMODE_ 상수를 사용합니다.
dwTerminalID
지정된 이벤트를 라우팅할 터미널 디바이스의 디바이스 식별자입니다. 터미널 식별자는 dwNumTerminals보다 0~1보다 작은 정수입니다. 여기서 dwNumTerminals 및 각 터미널에서 처리할 수 있는 터미널 모드는 lineGetDevCaps에서 반환됩니다.
이러한 터미널 식별자는 다른 디바이스 식별자와 관련이 없으며 디바이스 기능을 사용하여 서비스 공급자에 의해 정의됩니다.
bEnable
TRUE이면 dwTerminalID가 유효하고 지정된 이벤트 클래스가 해당 터미널로 라우팅됩니다. FALSE인 경우 이러한 이벤트는 dwTerminalID와 동일한 식별자를 사용하여 터미널 디바이스로 라우팅되지 않습니다.
반환 값
함수가 비동기적으로 완료된 경우 양수 요청 식별자를 반환하거나 오류가 발생할 경우 음수 오류 번호를 반환합니다. 함수가 성공하면 해당 LINE_REPLY 메시지의 dwParam2 매개 변수가 0이거나 오류가 발생하면 음수 오류 번호입니다. 가능한 반환 값은 다음과 같습니다.
LINEERR_INVALADDRESSID, LINEERR_NOMEM, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSELECT, LINEERR_OPERATIONFAILED, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALTERMINALID, LINEERR_UNINITIALIZED, LINEERR_INVALTERMINALMODE.
설명
애플리케이션은 이 함수를 사용하여 하위 수준 줄 이벤트의 특정 클래스를 지정된 터미널 디바이스로 라우팅하거나 이러한 이벤트의 라우팅을 표시하지 않을 수 있습니다. 예를 들어 음성을 오디오 I/O 디바이스(헤드셋)로 라우팅할 수 있고, 램프 및 디스플레이 이벤트를 로컬 휴대폰 디바이스로 라우팅할 수 있으며, 단추 이벤트 및 벨소리 이벤트를 모두 표시하지 않을 수 있습니다.
이 함수는 지정된 회선 디바이스에서 호출이 활성화된 경우에도 언제든지 호출할 수 있습니다. 이렇게 하면 사용자가 로컬 휴대폰 집합을 사용하는 것을 다른 오디오 I/O 디바이스로 전환할 수 있습니다. 이 함수는 동일한 이벤트를 여러 터미널로 동시에 라우팅하기 위해 여러 번 호출할 수 있습니다. 이벤트를 다른 터미널로 다시 라우팅하려면 애플리케이션이 먼저 기존 터미널에 대한 라우팅을 사용하지 않도록 설정한 다음 이벤트를 새 터미널로 라우팅해야 합니다.
터미널 식별자 할당은 줄의 서비스 공급자가 수행합니다. 디바이스 기능은 서비스 공급자가 사용할 수 있는 터미널 식별자만 나타냅니다. 이러한 유형의 이벤트 라우팅을 지원하지 않는 서비스 공급자는 터미널 디바이스가 없음을 나타냅니다(LINEDEVCAPS의 dwNumTerminals는 0임).
줄 또는 주소에서 lineSetTerminal 을 호출하면 해당 줄 또는 주소의 모든 기존 호출에 영향을 주지만 다른 주소의 호출에는 영향을 주지 않습니다. 또한 해당 줄 또는 주소에서 향후 호출에 대한 기본값을 설정합니다. 한 번에 여러 개의 연결된 호출이 활성화된 줄 또는 주소는 각 호출에 대해 서로 다른 라우팅을 적용할 수 있습니다.
이러한 이벤트가 현재 해당 터미널로 라우팅되지 않을 때 하위 수준 이벤트를 터미널로 라우팅하지 않도록 설정해도 함수가 성공하는 한 반드시 오류가 발생하지는 않습니다(지정된 이벤트는 해당 터미널로 라우팅되지 않음).
TAPI는 호출 진행률 톤 및 메시지를 "media"에 대한 lineSetTerminal 함수에서 설정한 위치와 동일한 위치로 라우팅합니다. 예를 들어 오디오 신호가 휴대폰으로 가는 경우 사용 중인 신호(아날로그) 또는 사용 중(디지털)을 나타내는 Q.931 메시지도 마찬가지입니다.
요구 사항
대상 플랫폼 | Windows |
헤더 | tapi.h |
라이브러리 | Tapi32.lib |
DLL | Tapi32.dll |