다음을 통해 공유


TSPI_lineConditionalMediaDetection 함수(tspi.h)

TSPI_lineConditionalMediaDetection 함수는 클라이언트 애플리케이션이 lineOpen 함수 호출에서 LINEMAPPER를 dwDeviceID로 사용하여 원하는 미디어 형식 및 호출 매개 변수를 지원하는 줄을 검색하도록 요청할 때마다 TAPI에서 호출됩니다. TAPI는 원하는 미디어 유형과 현재 줄에서 모니터링 중인 다른 미디어 형식의 결합을 기반으로 검색하여 서비스 공급자에게 요청된 모든 미디어 형식을 동시에 모니터링할 수 없는지 여부를 나타낼 수 있는 기회를 제공합니다. 서비스 공급자가 표시된 미디어 유형 집합을 모니터링하고 lpCallParams에 표시된 기능을 지원할 수 있는 경우 성공 표시로 응답합니다. 선에 대한 활성 미디어 모니터링 모드는 변경되지 않은 상태로 유지됩니다.

구문

LONG TSPIAPI TSPI_lineConditionalMediaDetection(
  HDRVLINE               hdLine,
  DWORD                  dwMediaModes,
  LPLINECALLPARAMS const lpCallParams
);

매개 변수

hdLine

미디어 모니터링 및 매개 변수 기능을 설정할 줄에 대한 서비스 공급자의 핸들입니다.

dwMediaModes

현재 호출 애플리케이션에 관심이 있는 미디어 유형입니다. 이 매개 변수는 LINEMEDIAMODE_ 상수 중 하나를 사용합니다.

lpCallParams

LINECALLPARAMS 형식의 구조체에 대한 포인터입니다. 회선 디바이스에서 제공할 수 있어야 하는 호출 매개 변수에 대해 설명합니다. 이 테스트를 위해 lpCallParams 의 유일한 관련 필드는 다음과 같습니다.

dwBearerMode

dwMinRate

dwMaxRate

dwMediaMode

dwCallParamFlags

dwAddressMode

dwAddressMode가 LINEADDRESSMODE_ADDRESSID 경우 줄의 모든 주소가 허용됩니다. dwAddressMode가 LINEADDRESSMODE_DIALABLEADDR 특정 원본 주소(전화 번호)를 검색하거나 공급자별 확장인 경우 dwOrigAddressSize/Offset 및 참조하는 변수 부분의 부분도 관련이 있습니다. dwAddressMode가 공급자별 확장인 경우 dwDeviceSpecific 고정 크기 필드에 추가 정보를 포함할 수 있습니다. 다른 모든 필드는 함수와 관련이 없습니다.

반환 값

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

LINEERR_INVALLINEHANDLE, LINEERR_OPERATIONFAILED, LINEERR_NODRIVER, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_INVALMEDIAMODE, LINEERR_OPERATIONUNAVAIL.

설명

LINEMAPPER의 디바이스 식별자를 지정하는 TAPI lineOpen 함수는 일반적으로 여러 줄 디바이스가 적절한 줄을 헌팅하도록 이 프로시저를 호출하여 아직 열리지 않은 줄을 열 수도 있습니다. 성공 결과는 회선이 호출 애플리케이션의 요구 사항에 적합하다는 것을 나타냅니다.

참고 TSPI 수준에서 요구되는 미디어 모니터링 모드는 TAPI 수준에서 여러 애플리케이션에서 요구하는 모니터링 모드의 통합입니다. 결과적으로 여러 미디어 형식 플래그가 이 수준에서 동시에 설정되는 것이 가장 일반적입니다. 서비스 공급자는 현재 적용되는 모드에 관계없이 지정된 집합 이상을 지원할 수 있는지 여부를 테스트해야 합니다. TAPI는 dwMediaModes 매개 변수에 하나 이상의 비트 집합이 있고 예약된 비트가 설정되지 않았는지 확인합니다. 서비스 공급자가 미디어 유형을 지원하는지 여부를 확인하는 등 미디어 유형에 대한 추가 유효성 검사를 수행하는 것은 서비스 공급자의 책임입니다.
 
TSPI_lineConditionalMediaDetection 함수는 LINECALLPARAMS 구조체의 dwCallParamFlags 멤버에 설정된 비트를 확인하고 다음 사례를 처리합니다.

TSPI_lineConditionalMediaDetection 함수는 동일한 비트 값을 TSPI_lineMakeCall 함수에 전달하는 경우에도 성공을 반환합니다.

SECURE, ORIGOFFHOOK 및 DESTOFFHOOK 비트가 설정되고 dwAddressMode 매개 변수가 LINEADDRESSMODE_ADDRESSID 경우 함수는 줄의 하나 이상의 주소에서 성공할 수 있으면 성공을 반환합니다.

SECURE, ORIGOFFHOOK 및 DESTOFFHOOK 비트가 설정되고 dwAddressMode 매개 변수가 LINEADDRESSMODE_DIALABLEADDR 경우 dwOrigAddress 매개 변수로 식별된 주소에서 성공할 수 있으면 함수는 성공을 반환합니다.

서비스 공급자는 이 함수가 호출될 때 지정된 줄 디바이스에 새 호출을 수행할 수 없는 경우(LINEERR_CALLUNAVAIL 반환하거나 LINEERR_RESOURCEUNAVAIL 줄을 연 직후 호출해야 TSPI_lineMakeCall 경우) 오류를 반환합니다(예: LINEERR_RESOURCEUNAVAIL ).

TAPI 수준에는 직접 해당하는 함수가 없습니다. 이 프로시저는 디바이스 식별자 LINEMAPPER를 사용하여 호출될 때 lineOpen 프로시저에 의해 각 개별 줄에 암시된 테스트에 해당합니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 tspi.h

추가 정보

LINECALLPARAMS

LINEMEDIAMODE_ 상수

TSPI_lineMakeCall