lineDrop 함수(tapi.h)
lineDrop 함수는 지정된 호출을 삭제하거나 연결을 끊습니다. 애플리케이션에는 호출 연결 끊기의 일부로 전송할 사용자-사용자 정보를 지정하는 옵션이 있습니다.
구문
LONG lineDrop(
HCALL hCall,
LPCSTR lpsUserUserInfo,
DWORD dwSize
);
매개 변수
hCall
삭제할 호출에 대한 핸들입니다. 애플리케이션은 호출의 소유자여야 합니다. hCall의 호출 상태는 유휴 상태를 제외한 모든 상태일 수 있습니다.
lpsUserUserInfo
통화 연결 끊기의 일부로 원격 당사자에게 보낼 사용자-사용자 정보가 포함된 문자열에 대한 포인터입니다. 이 포인터는 전송할 사용자-사용자 정보가 없는 경우 NULL 로 남을 수 있습니다. 사용자-사용자 정보는 기본 네트워크에서 지원하는 경우에만 전송 됩니다(LINEDEVCAPS 참조). 필요한 경우 사용자-사용자 정보에 대한 프로토콜 판별자 필드는 lpsUserUserInfo가 가리키는 버퍼의 첫 번째 바이트로 표시되어야 하며 dwSize에서 를 고려해야 합니다.
dwSize
lpsUserUserInfo의 사용자-사용자 정보 크기(바이트)입니다. lpsUserUserInfo가 NULL이면 호출 당사자에게 사용자-사용자 정보가 전송되지 않고 dwSize가 무시됩니다.
반환 값
함수가 비동기적으로 완료된 경우 양수 요청 식별자를 반환하거나 오류가 발생할 경우 음수 오류 번호를 반환합니다. 함수가 성공하면 해당 LINE_REPLY 메시지의 dwParam2 매개 변수가 0이거나 오류가 발생하면 음수 오류 번호입니다. 가능한 반환 값은 다음과 같습니다.
LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_NOMEM, LINEERR_OPERATIONFAILED, LINEERR_NOTOWNER, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_USERUSERINFOTOOBIG, LINEERR_INVALCALLSTATE, LINEERR_UNINITIALIZED.
설명
lineDrop을 호출할 때 관련 호출도 영향을 받을 수 있습니다. 예를 들어 전화 회의를 삭제하면 참여하는 모든 통화가 삭제할 수 있습니다. LINE_CALLSTATE 메시지는 호출 상태가 영향을 받는 모든 호출에 대해 애플리케이션으로 전송됩니다. 삭제된 호출은 일반적으로 유휴 상태로 전환됩니다. 제품 상태의 호출에서 lineDrop을 호출하면 호출이 거부됩니다. 모든 전화 네트워크에서 이 기능을 제공하는 것은 아닙니다.
onholdpending 상태의 호출은 일반적으로 연결된 상태로 되돌아갑니다. 전화 회의를 위해 제3자에게 상담 전화를 맡기거나 이전에 설정된 전화 회의에서 제3자를 제거할 때 공급자(및 스위치)는 회의 브리지를 해제하고 통화를 정상적인 양당 통화로 다시 되돌리기 수 있습니다. 이 경우 hConfCall 은 유휴 상태로 전환되고 나머지 참여 호출은 연결된 상태로 전환됩니다. 일부 스위치는 다른 호출을 자동으로 "보류 해제"합니다.
애플리케이션에는 삭제 시 사용자-사용자 정보를 보낼 수 있는 옵션이 있습니다. 사용자-사용자 정보를 보낼 수 있더라도 네트워크에서 이 정보를 원격 당사자에게 전달한다는 보장은 없습니다.
여러 당사자가 통화 중일 때 다양한 브리지 또는 파티 라인 구성에서 lineDrop 은 실제로 통화를 지우지 않을 수 있습니다. 예를 들어 브리지된 상황에서는 호출에 있는 다른 스테이션의 상태 제어할 수 있으므로 lineDrop 작업이 실제로 호출을 삭제하지 않을 수 있습니다. 대신 다른 스테이션에서 연결 상태를 유지하면 호출이 LINECONNECTEDMODE_INACTIVE 모드로 변경될 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | tapi.h |
라이브러리 | Tapi32.lib |
DLL | Tapi32.dll |