LINEDEVCAPS 구조체(tapi.h)
LINEDEVCAPS 구조는 라인 디바이스의 기능을 설명합니다. lineGetDevCaps 함수와 TSPI_lineGetDevCaps 함수는 LINEDEVCAPS 구조를 반환합니다.
구문
typedef struct linedevcaps_tag {
DWORD dwTotalSize;
DWORD dwNeededSize;
DWORD dwUsedSize;
DWORD dwProviderInfoSize;
DWORD dwProviderInfoOffset;
DWORD dwSwitchInfoSize;
DWORD dwSwitchInfoOffset;
DWORD dwPermanentLineID;
DWORD dwLineNameSize;
DWORD dwLineNameOffset;
DWORD dwStringFormat;
DWORD dwAddressModes;
DWORD dwNumAddresses;
DWORD dwBearerModes;
DWORD dwMaxRate;
DWORD dwMediaModes;
DWORD dwGenerateToneModes;
DWORD dwGenerateToneMaxNumFreq;
DWORD dwGenerateDigitModes;
DWORD dwMonitorToneMaxNumFreq;
DWORD dwMonitorToneMaxNumEntries;
DWORD dwMonitorDigitModes;
DWORD dwGatherDigitsMinTimeout;
DWORD dwGatherDigitsMaxTimeout;
DWORD dwMedCtlDigitMaxListSize;
DWORD dwMedCtlMediaMaxListSize;
DWORD dwMedCtlToneMaxListSize;
DWORD dwMedCtlCallStateMaxListSize;
DWORD dwDevCapFlags;
DWORD dwMaxNumActiveCalls;
DWORD dwAnswerMode;
DWORD dwRingModes;
DWORD dwLineStates;
DWORD dwUUIAcceptSize;
DWORD dwUUIAnswerSize;
DWORD dwUUIMakeCallSize;
DWORD dwUUIDropSize;
DWORD dwUUISendUserUserInfoSize;
DWORD dwUUICallInfoSize;
LINEDIALPARAMS MinDialParams;
LINEDIALPARAMS MaxDialParams;
LINEDIALPARAMS DefaultDialParams;
DWORD dwNumTerminals;
DWORD dwTerminalCapsSize;
DWORD dwTerminalCapsOffset;
DWORD dwTerminalTextEntrySize;
DWORD dwTerminalTextSize;
DWORD dwTerminalTextOffset;
DWORD dwDevSpecificSize;
DWORD dwDevSpecificOffset;
DWORD dwLineFeatures;
DWORD dwSettableDevStatus;
DWORD dwDeviceClassesSize;
DWORD dwDeviceClassesOffset;
GUID PermanentLineGuid;
DWORD dwAddressTypes;
GUID ProtocolGuid;
DWORD dwAvailableTracking;
} LINEDEVCAPS, *LPLINEDEVCAPS;
멤버
dwTotalSize
이 데이터 구조에 할당된 총 크기(바이트)입니다.
dwNeededSize
반환된 모든 정보를 바이트 단위로 보관하려면 이 데이터 구조에 필요한 크기입니다.
dwUsedSize
유용한 정보를 포함하는 이 데이터 구조의 부분 크기(바이트)입니다.
dwProviderInfoSize
서비스 공급자 정보를 포함하는 고정 크기 필드의 크기(바이트)입니다.
dwProviderInfoOffset
구조체의 시작 부분에서 서비스 공급자 정보(바이트)로 오프셋됩니다.
dwProviderInfoSize 및 dwProviderInfoOffset 멤버는 공급자 하드웨어 및/또는 소프트웨어(예: 공급업체 이름 및 하드웨어 및 소프트웨어의 버전 번호)에 대한 정보를 제공하기 위한 것입니다. 이 정보는 사용자가 공급자와 관련된 문제가 있는 고객 서비스를 호출해야 하는 경우에 유용할 수 있습니다.
dwSwitchInfoSize
스위치 정보를 포함하는 고정 크기 디바이스 필드의 크기(바이트)입니다.
dwSwitchInfoOffset
구조체의 시작 부분에서 스위치 정보(바이트)로 오프셋됩니다.
dwSwitchInfoSize 및 dwSwitchInfoOffset 멤버는 스위치 제조업체, 모델 이름, 소프트웨어 버전 등 라인 디바이스가 연결된 스위치에 대한 정보를 제공하기 위한 것입니다. 이 정보는 사용자가 스위치와 관련된 문제가 있는 고객 서비스를 호출해야 하는 경우에 유용할 수 있습니다.
dwPermanentLineID
시스템 구성에서 라인 디바이스가 알려진 영구 식별자입니다. 줄 디바이스의 영구 이름입니다. 이 영구 이름( dwDeviceID와 반대)은 시스템에서 줄이 추가되거나 제거되고 운영 체제 업그레이드를 통해 유지되기 때문에 변경되지 않습니다. 따라서 다른 줄을 추가하거나 제거하거나 운영 체제를 변경하여 영향을 받지 않는 방식으로 .ini 파일(또는 기타 파일)의 줄별 정보를 연결하는 데 사용할 수 있습니다.
dwLineNameSize
이 줄 디바이스의 사용자 구성 가능 이름을 포함하는 고정 크기 디바이스 필드의 크기(바이트)입니다.
dwLineNameOffset
이 데이터 구조의 시작 부분에서 이 줄 디바이스의 이름으로 오프셋합니다. 이 이름은 사용자가 라인 디바이스의 서비스 공급자를 구성할 때 구성할 수 있으며 사용자의 편의를 위해 제공됩니다. 필드의 크기는 dwLineNameSize로 지정됩니다.
dwStringFormat
이 줄 디바이스에 사용되는 문자열 형식입니다. 이 멤버는 STRINGFORMAT_ 상수 중 하나를 사용합니다.
dwAddressModes
원래 주소를 지정하는 모드입니다. 이 멤버는 LINEADDRESSMODE_ 상수를 사용합니다.
dwNumAddresses
이 줄 디바이스와 연결된 주소 수입니다. 개별 주소는 주소 식별자에서 참조됩니다. 주소 식별자는 dwNumAddresses에서 나타내는 값보다 0부터 1까지 다양합니다.
dwBearerModes
주소가 지원할 수 있는 다른 전달자 모드를 나타내는 배열에 플래그를 지정합니다. 이 멤버는 하나 이상의 LINEBEARERMODE_ 상수를 사용합니다.
dwMaxRate
호출을 통해 정보 교환에 대한 최대 데이터 속도(초당 비트)입니다.
dwMediaModes
주소가 지원할 수 있는 다양한 미디어 형식을 나타내는 배열에 플래그를 지정합니다. 이 멤버는 하나 이상의 LINEMEDIAMODE_ 상수를 사용합니다.
dwGenerateToneModes
이 줄에서 생성할 수 있는 톤입니다. 이 멤버는 하나 이상의 LINETONEMODE_ 상수를 사용합니다.
dwGenerateToneMaxNumFreq
lineGenerateTone을 사용하여 톤을 생성할 때 LINEGENERATETONE 데이터 구조를 사용하여 일반 톤을 설명하는 데 지정할 수 있는 최대 주파수 수입니다. 값이 0이면 톤 생성을 사용할 수 없음을 나타냅니다.
dwGenerateDigitModes
이 줄에서 생성할 수 있는 것보다 많은 숫자 모드입니다. 이 멤버는 하나 이상의 LINEDIGITMODE_ 상수를 사용합니다.
dwMonitorToneMaxNumFreq
lineMonitorTones를 사용하여 일반 톤을 모니터링할 때 LINEMONITORTONE 데이터 구조를 사용하여 일반 톤을 설명할 때 지정할 수 있는 최대 주파수 수입니다. 값이 0이면 톤 모니터를 사용할 수 없음을 나타냅니다.
dwMonitorToneMaxNumEntries
lineMonitorTones에 대한 톤 목록에 지정할 수 있는 최대 항목 수입니다.
dwMonitorDigitModes
이 줄에서 검색할 수 있는 것보다 많은 숫자 모드입니다. 이 멤버는 하나 이상의 LINEDIGITMODE_ 상수를 사용합니다.
dwGatherDigitsMinTimeout
lineGatherDigits에서 사용하는 첫 번째 숫자 및 숫자 간 시간 제한 값(밀리초)에 대해 지정할 수 있는 최소값입니다. dwGatherDigitsMinTimeout 및 dwGatherDigitsMaxTimeout이 모두 0이면 시간 제한이 지원되지 않습니다.
dwGatherDigitsMaxTimeout
lineGatherDigits에서 사용하는 첫 번째 숫자 및 숫자 간 시간 제한 값(밀리초)에 대해 지정할 수 있는 최대값입니다. dwGatherDigitsMinTimeout 및 dwGatherDigitsMaxTimeout이 모두 0이면 시간 제한이 지원되지 않습니다.
dwMedCtlDigitMaxListSize
lineSetMediaControl의 숫자 목록 매개 변수에 지정할 수 있는 최대 항목 수입니다.
dwMedCtlMediaMaxListSize
lineSetMediaControl의 미디어 목록 매개 변수에 지정할 수 있는 최대 항목 수입니다.
dwMedCtlToneMaxListSize
lineSetMediaControl의 톤 목록 매개 변수에 지정할 수 있는 최대 항목 수입니다.
dwMedCtlCallStateMaxListSize
lineSetMediaControl의 호출 상태 목록 매개 변수에 지정할 수 있는 최대 항목 수입니다.
dwDevCapFlags
부울 디바이스 기능. 이 멤버는 하나 이상의 LINEDEVCAPFLAGS_ 상수를 사용합니다.
dwMaxNumActiveCalls
한 번에 회선에서 활성(연결)될 수 있는 최대(최소 대역폭) 호출 수입니다. 줄에서 더 높은 대역폭 호출이 설정된 경우 활성 호출의 실제 수가 더 낮을 수 있습니다.
dwAnswerMode
회선 디바이스에서 다른 제품 통화에 응답할 때 활성 통화에 영향을 미칩니다. 이 멤버는 LINEANSWERMODE_ 상수 중 하나를 사용합니다.
dwRingModes
LINE_LINEDEVSTATE 메시지에서 벨소리 표시와 함께 보고할 수 있는 다양한 링 모드의 수입니다. 서로 다른 링 모드는 1개에서 dwRingModes까지 다양합니다. 0은 링이 없음을 나타냅니다.
dwLineStates
이 줄의 LINE_LINEDEVSTATE 메시지에서 애플리케이션에 알림을 받을 수 있는 여러 줄 상태 구성 요소입니다. 이 멤버는 하나 이상의 LINEDEVSTATE_ 상수를 사용합니다.
dwUUIAcceptSize
통화 수락 중에 보낼 수 있는 null 종결자를 포함한 사용자-사용자 정보의 최대 크기입니다.
dwUUIAnswerSize
통화 응답 중에 보낼 수 있는 null 종결자를 포함한 사용자-사용자 정보의 최대 크기입니다.
dwUUIMakeCallSize
호출 중에 보낼 수 있는 null 종결자를 포함한 사용자-사용자 정보의 최대 크기입니다.
dwUUIDropSize
null 종결자를 포함한 사용자-사용자 정보의 최대 크기로, 통화 중단 중에 보낼 수 있습니다.
dwUUISendUserUserInfoSize
lineSendUserUserInfo를 사용하여 호출하는 동안 언제든지 개별적으로 보낼 수 있는 null 종결자를 포함한 사용자-사용자 정보의 최대 크기입니다.
dwUUICallInfoSize
LINECALLINFO 구조에서 수신할 수 있는 null 종결자를 포함한 사용자-사용자 정보의 최대 크기입니다.
MinDialParams
이 줄의 호출에 대해 설정할 수 있는 다이얼 매개 변수의 최소값(밀리초)입니다. 전화 걸기 매개 변수는 MinDialParams에서 MaxDialParams 로 범위의 값으로 설정할 수 있습니다. 실제 설정의 세분성은 서비스 공급자에 따라 다릅니다.
MaxDialParams
이 줄의 호출에 대해 설정할 수 있는 다이얼 매개 변수의 최대값(밀리초)입니다. 전화 걸기 매개 변수는 MinDialParams에서 MaxDialParams 로 범위의 값으로 설정할 수 있습니다. 실제 설정의 세분성은 서비스 공급자에 따라 다릅니다.
DefaultDialParams
이 줄의 호출에 사용되는 기본 다이얼 매개 변수입니다. 이러한 매개 변수 값은 호출별로 재정의할 수 있습니다.
dwNumTerminals
이 회선 디바이스, 해당 주소 또는 해당 호출에 대해 설정할 수 있는 터미널 수입니다. 개별 터미널은 터미널 ID로 참조되며 dwNumTerminals에서 나타내는 값보다 0부터 1까지 다양합니다.
dwTerminalCapsSize
LINETERMCAPS 형식의 항목이 있는 배열을 포함하는 고정 크기 디바이스 필드의 크기(바이트)입니다.
dwTerminalCapsOffset
이 구조체의 시작 부분에서 LINETERMCAPS 형식의 항목이 있는 배열을 포함하는 고정 크기 디바이스 필드로 오프셋됩니다. 이 배열은 0부터 dwNumTerminals 까지의 범위에서 터미널 ID에서 1을 뺀 값으로 인덱싱됩니다. 배열의 각 항목은 해당 터미널의 터미널 디바이스 기능을 지정합니다. 필드의 크기는 dwTerminalCapsSize로 지정됩니다.
dwTerminalTextEntrySize
dwTerminalTextSize 및 dwTerminalTextOffset에서 가리키는 null 종결자를 포함한 각 터미널 텍스트 설명의 크기(바이트)입니다.
dwTerminalTextSize
null 종결자를 포함하여 줄의 사용 가능한 각 터미널에 대한 설명 텍스트를 포함하는 고정 크기 필드의 크기(바이트)입니다.
dwTerminalTextOffset
이 구조체의 시작 부분에서 줄의 사용 가능한 각 터미널에 대한 설명 텍스트(바이트)까지 오프셋합니다. 각 메시지는 dwTerminalTextEntrySize 바이트 길이입니다. 이러한 텍스트 설명의 문자열 형식은 줄의 디바이스 기능에서 dwStringFormat 으로 표시됩니다. 필드의 크기는 dwTerminalTextSize로 지정됩니다.
dwDevSpecificSize
변함없이 크기가 조정된 디바이스별 필드의 크기(바이트)입니다. 디바이스별 정보가 문자열에 대한 포인터인 경우 크기에 null 종결자가 포함되어야 합니다.
dwDevSpecificOffset
이 구조체의 시작 부분에서 디바이스별 필드(바이트)로 오프셋됩니다. 필드의 크기는 dwDevSpecificSize로 지정됩니다.
dwLineFeatures
LINEFEATURE_ 상수를 사용하여 이 줄에 사용할 수 있는 기능입니다. 지원되는 기능을 호출하려면 줄이 적절한 상태여야 하고 기본 라인 디바이스를 호환 모드로 열어야 합니다. 비트 위치의 0은 해당 기능을 사용할 수 없음을 나타냅니다. 하나는 줄이 작업이 의미 있는 적절한 상태에 있는 경우 해당 기능을 사용할 수 있음을 나타냅니다. 이 멤버를 사용하면 애플리케이션이 디바이스에서 지원될 수 있는 라인 기능(및 지원되지 않을 수 없음)을 검색할 수 있습니다.
dwSettableDevStatus
LINESetLineDevStatus를 사용하여 수정할 수 있는 LINEDEVSTATUSFLAGS 값입니다.
dwDeviceClassesSize
null 종결자를 포함하여 이 줄의 하나 이상의 주소에서 지원되는 디바이스 클래스 식별자를 포함하는 문자열의 크기(바이트)입니다.
dwDeviceClassesOffset
이 구조체의 시작 부분에서 바이트 단위로 이 줄의 하나 이상의 주소에서 지원되는 디바이스 클래스 식별자를 포함하는 문자열로 오프셋합니다. 이러한 문자열은 lineGetID와 함께 사용할 수 있습니다. NULL로 구분되고 목록의 마지막 식별자 뒤에 두 개의 NULL이 잇습니다. 필드의 크기는 dwDeviceClassesSize로 지정됩니다.
PermanentLineGuid
줄 디바이스와 영구적으로 연결된 GUID입니다.
dwAddressTypes
호출에 사용되는 주소 유형입니다. 구조체의 이 멤버는 협상된 TAPI 버전이 3.0 이상인 경우에만 사용할 수 있습니다.
ProtocolGuid
현재 TAPI 프로토콜입니다. 구조체의 이 멤버는 협상된 TAPI 버전이 3.0 이상인 경우에만 사용할 수 있습니다. 프로토콜은 tapi3.h로 선언됩니다.
dwAvailableTracking
LINECALLHUBTRACKING.constant로 표시되는 사용 가능한 추적입니다. 구조체의 이 멤버는 협상된 TAPI 버전이 3.0 이상인 경우에만 사용할 수 있습니다.
설명
디바이스별 확장은 이 데이터 구조의 DevSpecific(dwDevSpecificSize 및 dwDevSpecificOffset) 크기의 영역을 사용해야 합니다.
이전 애플리케이션은 LINEDEVCAPS 구조의 새 멤버 없이 컴파일되며 새 크기보다 작은 SIZEOF LINEDEVCAPS를 사용합니다. 애플리케이션은 lineGetDevCaps 함수를 사용하여 dwAPIVersion 매개 변수를 전달합니다. 이 함수는 이 상황을 처리하는 데 TAPI의 지침에 사용할 수 있습니다. 애플리케이션이 지정된 dwAPIVersion에 정의된 구조체의 고정 부분 크기보다 작은 dwTotalSize 멤버를 전달하는 경우 LINEERR_STRUCTURETOOSMALL 반환됩니다. 애플리케이션에서 충분한 메모리를 할당한 경우 TSPI_lineGetDevCaps 호출하기 전에 TAPI는 dwNeededSize 및 dwUsedSize 멤버를 지정된 API 버전에 있는 구조체의 고정 크기로 설정합니다.
새 애플리케이션은 협상된 API 버전을 인식해야 하며 협상된 API 버전에 대한 구조체의 고정 부분의 원래 끝 이후의 고정 부분에 있는 멤버의 내용을 검사하지 않아야 합니다.
LINEBEARERMODE_DATA 비트가 dwBearerModes 멤버에 설정된 경우 dwMaxRate 멤버는 전달자 채널에서 디지털 전송의 최대 속도를 나타냅니다. LINEDEVCAPS 구조체의 dwBearerModes 멤버가 LINEBEARERMODE_DATA 설정되지 않은 경우에도 LINEDEVCAPS 구조체의 dwMaxRate 멤버에 유효한 값이 포함될 수 있습니다.
LINEBEARERMODE_DATA dwBearerModes에서 설정되지 않았지만 LINEBEARERMODE_VOICE 값이 설정되고 dwMediaModes 멤버에서 LINEMEDIAMODE_DATAMODEM 값이 설정된 경우 dwMaxRate 멤버는 연결된 모뎀 또는 이와 동등한 기능의 전화선에서 최대 SYNCHRONOUS(DCE) 비트 속도를 나타냅니다. 예를 들어 모뎀의 가장 빠른 변조 속도가 14,400bps의 V.32bis인 경우 dwMaxRate 는 14400과 같습니다. 이는 가장 빠른 DTE 포트 속도(38400, 57600 또는 115200)가 아니라 모뎀이 전화선에서 지원하는 가장 빠른 비트 전송률입니다.
애플리케이션은 dwMaxRate 멤버가 잘못 해석되지 않도록 LINEBEARERMODE_DATA 설정되지 않도록 검사 주의해야 합니다. LINEBEARERMODE_DATA 설정된 경우 64000 이상일 수 있습니다.
또한 모뎀이 구체적으로 식별되지 않은 경우(예: "제네릭" 모뎀) 표시된 그림은 모뎀 검사에 따라 "가장 좋은 추측"입니다.
dwDeviceClassesOffset을 통한 dwSettableDevStatus 멤버는 TAPI 버전이 2.0 이상인 라인 디바이스를 여는 애플리케이션에서만 사용할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | tapi.h |