다음을 통해 공유


lineGetRequest 함수(tapi.h)

lineGetRequest 함수는 지정된 요청 모드에 대한 다음 프록시별 요청을 검색합니다.

구문

LONG lineGetRequest(
  HLINEAPP hLineApp,
  DWORD    dwRequestMode,
  LPVOID   lpRequestBuffer
);

매개 변수

hLineApp

TAPI의 줄 부분에 대한 애플리케이션 사용 핸들입니다.

dwRequestMode

가져올 요청의 유형입니다. dwRequestMode에는 하나의 비트 집합만 있을 수 있습니다. 이 매개 변수는 LINEREQUESTMODE_ 상수 중 하나만 사용합니다.

lpRequestBuffer

요청의 매개 변수를 배치할 메모리 버퍼에 대한 포인터입니다. 버퍼의 크기와 버퍼에 배치된 데이터의 해석은 요청 모드에 따라 달라집니다. 애플리케이션 할당 버퍼는 요청을 보유하기에 충분한 크기로 간주됩니다.

dwRequestMode가 LINEREQUESTMODE_MAKECALL 경우 LINEREQMAKECALL 구조를 사용하여 요청 버퍼의 콘텐츠를 해석합니다.

LINEREQUESTMODE_MEDIACALL 사용되지 않습니다. 자세한 내용은 tapiRequestMediaCall을 참조하세요.

반환 값

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

LINEERR_INVALAPPHANDLE, LINEERR_NOTREGISTERED, LINEERR_INVALPOINTER, LINEERR_OPERATIONFAILED, LINEERR_INVALREQUESTMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZED, LINEERR_NOREQUEST.

설명

전화 통신 사용 애플리케이션은 tapiRequestMakeCall을 호출하여 호출을 대신하도록 요청할 수 있습니다. 이러한 요청은 TAPI에서 큐에 대기하고 요청을 처리하기 위해 등록된 가장 우선 순위가 높은 애플리케이션은 보류 중인 요청 모드를 나타내는 LINE_REQUEST 메시지를 보냅니다. 일반적으로 이 애플리케이션은 사용자의 호출 제어 애플리케이션입니다. LINE_REQUEST 메시지는 등록된 애플리케이션이 처리하도록 0개 이상의 요청이 보류 중일 수 있음을 나타냅니다. LINE_REQUEST 받은 후 LINEERR_NOREQUEST 반환될 때까지 lineGetRequest 를 호출하는 것은 수신자 애플리케이션의 책임이며, 이는 더 이상 요청이 보류 중이 아니라는 것을 나타냅니다.

다음으로, 이 메시지를 수신하는 호출 제어 애플리케이션은 요청 모드와 요청을 보유할 수 있을 만큼 큰 버퍼를 지정하여 lineGetRequest를 호출합니다. 그런 다음, 호출 제어 애플리케이션은 요청을 해석하고 실행합니다.

lineGetRequest를 실행한 후 TAPI는 내부 큐에서 요청을 제거하여 후속 요청에 대한 공간을 제공합니다. 따라서 동일한 애플리케이션 또는 다른 애플리케이션이 다른 요청을 실행하는 경우 lineGetRequest 실행 시 새 LINE_REQUEST 메시지가 즉시 수신될 수 있습니다. 이 시나리오를 일부 메커니즘으로 처리하는 것은 요청 받는 사람 애플리케이션의 책임입니다. 예를 들어 추가 LINE_REQUEST 확인하고 이전 요청의 처리가 완료될 때까지 후속 lineGetRequest 를 지연하거나 필요에 따라 후속 요청 및 버퍼를 가져오거나 다른 적절한 수단을 통해 지연합니다.

후속 LINE_REQUEST TAPI에서 반복되지 않으므로 무시해서는 안 됩니다.

요구 사항

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

추가 정보

기본 전화 통신 서비스 참조

LINEREQMAKECALL

LINE_REQUEST

TAPI 2.2 참조 개요

tapiRequestMakeCall