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 所指示的值。
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 都是零,則不支援逾時。
dwGatherDigitsMaxTimeout
可以針對 lineGatherDigits所使用的第一位數和位數間逾時值指定的最大值,以毫秒為單位。 如果 dwGatherDigitsMinTimeout 和 dwGatherDigitsMaxTimeout 都是零,則不支援逾時。
dwMedCtlDigitMaxListSize
可以在 lineSetMediaControl 的位數清單參數中指定的最大項目數。
dwMedCtlMediaMaxListSize
您可以在 lineSetMediaControl 的媒體列表參數中指定的最大項目數。
dwMedCtlToneMaxListSize
可以在 lineSetMediaControl 的音調清單參數中指定的最大項目數。
dwMedCtlCallStateMaxListSize
可以在 lineSetMediaControl 的呼叫狀態列表參數中指定的最大項目數。
dwDevCapFlags
布爾值裝置功能。 此成員會使用一或多個 LINEDEVCAPFLAGS_常數。
dwMaxNumActiveCalls
) 呼叫的最小頻寬 (數目上限,這些呼叫可以隨時在線路上 (連線) 使用中。 如果已在行上建立較高的頻寬呼叫,則作用中呼叫的實際數目可能會較低。
dwAnswerMode
在線路裝置上接聽另一個供應專案通話時,對作用中通話的影響。 此成員會使用其中一個 LINEANSWERMODE_常數。
dwRingModes
可在 LINE_LINEDEVSTATE 訊息中報告具有 響鈴 指示的不同通道模式數目。 不同的環形模式範圍從一到 dwRingModes。 零表示沒有環形。
dwLineStates
在此行上的LINE_LINEDEVSTATE訊息中,應用程式可能會收到通知的不同行狀態元件。 此成員會使用一或多個 LINEDEVSTATE_常數。
dwUUIAcceptSize
用戶使用者資訊的大小上限,包括可在呼叫接受期間傳送的 Null 終止符。
dwUUIAnswerSize
用戶使用者資訊的大小上限,包括可在通話接聽期間傳送的 Null 終止符。
dwUUIMakeCallSize
使用者資訊的大小上限,包括可在進行通話期間傳送的 Null 終止符。
dwUUIDropSize
使用者資訊的大小上限,包括可在呼叫卸除期間傳送的 Null 終止符。
dwUUISendUserUserInfoSize
用戶使用者資訊的大小上限,包括 Null 終止符,可在呼叫期間使用 lineSendUserUserInfo 個別傳送。
dwUUICallInfoSize
用戶使用者資訊的大小上限,包括可在 LINECALLINFO 結構中接收的 Null 終止符。
MinDialParams
可在此行上為呼叫設定的撥號參數最小值,以毫秒為單位。 撥號參數可以設定為 MinDialParams 範圍中的值到 MaxDialParams。 實際設定的數據粒度是服務提供者特定的。
MaxDialParams
此行上可針對通話設定的撥號參數最大值,以毫秒為單位。 撥號參數可以設定為 MinDialParams 範圍中的值到 MaxDialParams。 實際設定的數據粒度是服務提供者特定的。
DefaultDialParams
此行上用於通話的默認撥號參數。 您可以根據每個呼叫覆寫這些參數值。
dwNumTerminals
可為此線路裝置、其位址或其呼叫設定的終端機數目。 個別終端機是由終端機標識碼所參考,範圍從零到小於 dwNumTerminals 所指示的值。
dwTerminalCapsSize
可變大小的裝置欄位大小,包含具有 LINETERMCAPS 類型項目的陣列,以位元組為單位。
dwTerminalCapsOffset
從這個 結構的開頭到包含 LINETERMCAPS類型專案的數位的可變大小裝置欄位移。 此陣列是由終端機標識碼編製索引,範圍從零到 dwNumTerminals 減一。 數位中的每個項目都會指定對應終端機的終端機裝置功能。 欄位的大小是由 dwTerminalCapsSize 所指定。
dwTerminalTextEntrySize
每個終端機文字描述的大小,包括 null 終止符,由 dwTerminalTextSize 和 dwTerminalTextOffset 所指向,以位元組為單位。
dwTerminalTextSize
可變大小的欄位大小,其中包含每一行可用終端機的描述性文字,包括 Null 終止符,以位元組為單位
dwTerminalTextOffset
從這個 結構的開頭到每一行可用終端機的描述性文字的位移,以位元組為單位。 每個訊息都是 dwTerminalTextEntrySize 位元組長。 這些文字描述的字串格式是由線條裝置功能的 dwStringFormat 表示。 欄位的大小是由 dwTerminalTextSize 所指定。
dwDevSpecificSize
可變大小的裝置特定欄位大小,以位元組為單位。 如果裝置特定資訊是字串的指標,則大小必須包含 Null 終止符。
dwDevSpecificOffset
從這個 結構的開頭到裝置特定欄位的位移,以位元組為單位。 欄位的大小是由 dwDevSpecificSize 所指定。
dwLineFeatures
此行使用 LINEFEATURE_ 常數的功能。 叫用支援的功能需要該行處於適當的狀態,且基礎線路裝置必須以相容模式開啟。 位位置中的零表示絕對無法使用對應的功能。 一個表示如果行處於適當的狀態,則對應功能可能可供使用,以便讓作業有意義。 此成員可讓應用程式探索哪些行功能可以 (,且永遠不會受到裝置支援) 。
dwSettableDevStatus
可以使用lineSetLineDevStatus 修改的LINEDEVSTATUSFLAGS值。
dwDeviceClassesSize
字串的大小,包含此行上一或多個位址上支援的裝置類別標識元,包括以位元組為單位的 Null 終止符。
dwDeviceClassesOffset
從這個結構的開頭位移至字串,此字元串包含此行上一或多個位址上支援的裝置類別標識元,以位元組為單位。 這些字串用於 lineGetID;它們是以 NULLs 分隔,而清單中的最後一個標識子後面接著兩個 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指引。 如果應用程式傳入 的 dwTotalSize 成員小於指定 dwAPIVersion 中所定義之結構的固定部分大小,則會傳回LINEERR_STRUCTURETOOSMALL。 如果應用程式已配置足夠的記憶體,在呼叫 TSPI_lineGetDevCaps之前,TAPI 會將 dwNeededSize 和 dwUsedSize 成員設定為結構在指定 API 版本中存在的固定大小。
新應用程式必須能夠辨識交涉的 API 版本,且不會檢查已交涉 API 版本之結構之固定部分原始結尾以外的成員內容。
如果LINEBEARERMODE_DATA位是在 dwBearerModes 成員中設定, dwMaxRate 成員會指出持有人通道上數位傳輸的最大速率。 LINEDEVCAPS 結構的 dwMaxRate 成員可以包含有效值,即使 LINEDEVCAPS 結構的 dwBearerModes 成員未設定為 LINEBEARERMODE_DATA。
如果未在 dwBearerModes 中設定LINEBEARERMODE_DATA,但已設定LINEBEARERMODE_VOICE值,且LINEMEDIAMODE_DATAMODEM值是在 dwMediaModes 成員中設定, dwMaxRate 成員會指出附加數據機或功能對等線路上同步 (DCE 的最大同步 (DCE) 位速率。 例如,如果數據機的最快調節速度是 V.32bis,則 14,400bps,dwMaxRate 等於 14400。 這不是最快速的 DTE 埠速率 (,最有可能是 38400、57600 或 115200) ,但數據機在電話線路上支援的最快比特率。
應用程式必須小心檢查是否未設定LINEBEARERMODE_DATA,以避免錯誤解譯 dwMaxRate 成員。 如果設定LINEBEARERMODE_DATA,可能是 64000 或更高版本。
也請注意,如果數據機尚未特別識別 (,則它是「一般」數據機) ,表示的圖是根據數據機的檢查來「最佳猜測」。
透過 dwDeviceClassesOffset 的成員 dwSettableDevStatus 成員僅適用於以 TAPI 2.0 版或更新版本開啟線路裝置的應用程式。
規格需求
需求 | 值 |
---|---|
標頭 | tapi.h |