TSPI_lineGetID 함수(tspi.h)

TSPI_lineGetID 함수는 선택한 줄, 주소 또는 호출과 연결된 지정된 디바이스 클래스에 대한 디바이스 식별자를 반환합니다.

구문

LONG TSPIAPI TSPI_lineGetID(
  HDRVLINE    hdLine,
  DWORD       dwAddressID,
  HDRVCALL    hdCall,
  DWORD       dwSelect,
  LPVARSTRING lpDeviceID,
  LPCWSTR     lpszDeviceClass,
  HANDLE      hTargetProcess
);

매개 변수

hdLine

쿼리할 줄에 대한 서비스 공급자의 핸들입니다.

dwAddressID

지정된 오픈 라인 디바이스의 주소입니다. 주소 식별자는 주소와 영구적으로 연결됩니다. 식별자는 운영 체제 업그레이드에서 일정하게 유지됩니다. TAPI는 이 함수가 호출되면 이 매개 변수의 유효성을 검사하지 않습니다.

hdCall

쿼리할 호출에 대한 서비스 공급자의 핸들입니다.

dwSelect

요청된 디바이스 식별자가 줄, 주소 또는 단일 호출과 연결되어 있는지 여부를 지정합니다. dwSelect 매개 변수에는 LINECALLSELECT_ 상수 중 하나만 있을 수 있습니다.

lpDeviceID

디바이스 식별자가 반환되는 VARSTRING 형식의 메모리 위치에 대한 포인터입니다. 요청이 성공적으로 완료되면 이 위치는 디바이스 식별자로 채워집니다. 반환된 정보의 형식은 디바이스 이름을 지정하기 위해 API(디바이스 클래스)에서 사용하는 방법에 따라 달라집니다.

lpszDeviceClass

식별자가 요청된 디바이스의 디바이스 클래스를 지정하는 null로 종료된 유니코드 문자열에 대한 포인터입니다. 유효한 디바이스 클래스 문자열은 System.ini 섹션에서 디바이스 클래스(예: COM, Wave 및 MCI)를 식별하는 데 사용되는 문자열입니다.

hTargetProcess

TSPI_lineGetID 함수가 호출되는 애플리케이션의 프로세스 핸들입니다. VARSTRING 구조에 반환된 정보에 애플리케이션에서 사용할 핸들이 포함된 경우 서비스 공급자는 프로세스에 대한 핸들을 만들거나 복제해야 합니다.

hTargetProcess가 INVALID_HANDLE_VALUE 설정된 경우 애플리케이션이 원격 클라이언트 시스템에서 실행되고 중복 핸들을 직접 만들 수 없습니다. 대신 VARSTRING 구조에는 네트워크 디바이스의 UNC 이름 또는 원격 클라이언트가 디바이스에 액세스하는 데 사용할 수 있는 다른 이름이 포함되어야 합니다. 이것이 불가능한 경우 함수는 실패해야 합니다.

반환 값

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

LINEERR_INVALLINEHANDLE, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_NODEVICE, LINEERR_RESOURCEUNAVAIL.

설명

서비스는 dwSelect 가 LINECALLSELECT_LINE 또는 LINECALLSELECT_ADDRESS hdLine 이 잘못된 경우 LINEERR_INVALLINEHANDLE 반환합니다.

dwSelect가 LINECALLSELECT_CALL hdCall이 잘못된 경우 서비스 공급자는 LINEERR_INVALCALLHANDLE 반환합니다.

서비스 공급자는 애플리케이션이 열린 줄의 실제 줄 디바이스 식별자를 확인할 수 있도록 tapi/line 디바이스 클래스를 지원해야 합니다. 이 경우 반환되는 변수 데이터는 dwDeviceID입니다. 일반적인 디바이스 클래스 이름에 대한 자세한 내용은 TSPI 디바이스 클래스를 참조하세요.

디바이스별 미디어 유형을 정의하는 공급업체도 미디어 유형의 디바이스를 관리하기 위해 해당 디바이스별(독점) API를 정의해야 합니다. 다른 공급업체가 독립적으로 할당한 디바이스 클래스 이름에서 충돌을 방지하려면 공급업체가 공급업체를 고유하게 식별하는 이름을 선택한 다음 미디어 유형을 선택해야 합니다. 예: "intel/video".

서비스 공급자는 TAPI로 채워진 dwTotalSize를 제외하고 VARSTRING 데이터 구조의 모든 멤버를 채웁니다. 서비스 공급자는 dwTotalSize 멤버를 덮어쓰지 않아야 합니다.

TAPI는 서비스 공급자에 대해 이를 처리하므로 서비스 공급자는 tapi/line 및 tapi/phone 디바이스 클래스를 처리하는 데 관심이 없습니다. 따라서 이러한 디바이스 클래스를 처리하기 위한 코드는 선택 사항입니다.

요구 사항

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

추가 정보

TSPI_lineGetDevConfig

TSPI_lineSetDevConfig

VARSTRING