다음을 통해 공유


lineDeallocateCall 함수(tapi.h)

lineDeallocateCall 함수는 지정된 호출 핸들의 할당을 취소합니다.

구문

LONG lineDeallocateCall(
  HCALL hCall
);

매개 변수

hCall

할당 취소할 호출 핸들입니다. 호출에 대한 모니터링 권한이 있는 애플리케이션은 항상 해당 호출에 대한 핸들의 할당을 취소할 수 있습니다. 호출에 대한 소유자 권한이 있는 애플리케이션은 호출의 유일한 소유자이고 호출이 유휴 상태가 아닌 한 해당 핸들의 할당을 취소할 수 있습니다. 호출 핸들이 할당 취소된 후 더 이상 유효하지 않습니다.

반환 값

요청이 성공하면 0을 반환하고 오류가 발생하면 음수 오류 번호를 반환합니다. 가능한 반환 값은 다음과 같습니다.

LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLSTATE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.

설명

할당 취소는 실제 호출의 호출 상태에 영향을 주지 않습니다. 그러나 호출과 관련된 내부 리소스를 해제합니다.

2.0 이전의 API 버전에서 애플리케이션이 호출의 유일한 소유자이고 호출이 유휴 상태가 아닌 경우 LINEERR_INVALCALLSTATE 반환됩니다. 이 경우 애플리케이션은 먼저 lineDrop 을 사용하여 호출을 삭제하고 나중에 호출 핸들의 할당을 취소할 수 있습니다. 호출에 대한 모니터 권한이 있는 애플리케이션은 항상 호출에 대한 핸들의 할당을 취소할 수 있습니다.

API 버전 2.0 이상에서 호출의 유일한 소유자는 호출이 유휴 상태가 아니더라도 해당 핸들의 할당을 취소할 수 있습니다. 이렇게 하면 클라이언트/서버 환경에서 호출을 분산 제어할 수 있습니다.

참고 소유자 없이 통화를 종료하면 모니터링 애플리케이션이 열려 있는 경우 사용자가 호출을 종료할 수 없어 TAPI가 TSPI_lineCloseCall 호출하지 못할 수 있습니다. 애플리케이션에서 사용자가 외부에서 호출을 제어할 수 있는지 확인할 수 있는 경우에만 이 기능을 사용합니다. 자세한 내용은 LINEADDRCAPFLAGS_CLOSEDROP 참조하세요.
 
2.0 이전의 API 버전에서 lineDeallocateCall 함수가 호출 핸들의 할당을 취소하면 호출에 대한 미해결 LINE_REPLY 메시지의 추가 처리도 일시 중단됩니다. 또한 lineDeallocateCall 함수를 사용하여 핸들의 할당을 취소하는 경우 비동기 함수에 대한 각 해당 호출에 대해 LINE_REPLY 메시지를 무기한 기다리지 않도록 애플리케이션을 설계해야 합니다.

API 버전 2.0 이상에서 lineDeallocateCall 은 미해결 LINE_REPLY 메시지를 일시 중단하지 않습니다. 애플리케이션에 dwRequestID 를 반환하는 모든 비동기 함수는 애플리케이션이 lineShutdown을 호출하지 않는 한 항상 연결된 LINE_REPLY 메시지를 전달합니다.

요구 사항

   
대상 플랫폼 Windows
헤더 tapi.h
라이브러리 Tapi32.lib
DLL Tapi32.dll

추가 정보

기본 전화 통신 서비스 참조

LINE_REPLY

TAPI 2.2 참조 개요

세션 종료 개요

lineDrop

lineShutdown