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

從結構的開頭位移至服務提供者資訊,以位元組為單位。

dwProviderInfoSizedwProviderInfoOffset 成員旨在提供提供者硬體和軟體的相關信息,例如硬體和軟體的廠商名稱和版本號碼。 當使用者需要與提供者相關的問題來呼叫客戶服務時,這項資訊非常有用。

dwSwitchInfoSize

包含交換器資訊的可變大小裝置欄位大小,以位元組為單位。

dwSwitchInfoOffset

從結構的開頭到參數資訊的位移,以位元組為單位。

dwSwitchInfoSizedwSwitchInfoOffset 成員旨在提供線路裝置所連線之交換器的相關信息,例如交換器製造商、型號名稱、軟體版本等等。 當使用者需要呼叫客戶服務時,與切換相關的問題時,這項資訊會很有用。

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 所使用的第一位數和位數間逾時值指定最小值,以毫秒為單位。 如果 dwGatherDigitsMinTimeoutdwGatherDigitsMaxTimeout 都是零,則不支援逾時。

dwGatherDigitsMaxTimeout

可以針對 lineGatherDigits所使用的第一位數和位數間逾時值指定的最大值,以毫秒為單位。 如果 dwGatherDigitsMinTimeoutdwGatherDigitsMaxTimeout 都是零,則不支援逾時。

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 終止符,由 dwTerminalTextSizedwTerminalTextOffset 所指向,以位元組為單位。

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 (dwDevSpecificSizedwDevSpecificOffset) 此數據結構的可變大小區域。

舊版應用程式會在 LINEDEVCAPS 結構中不使用新成員進行編譯,並使用小於新大小的SIZEOF LINEDEVCAPS。 應用程式會使用lineGetDevCaps函式傳入 dwAPIVersion 參數,以用於處理這種情況的TAPI指引。 如果應用程式傳入 的 dwTotalSize 成員小於指定 dwAPIVersion 中所定義之結構的固定部分大小,則會傳回LINEERR_STRUCTURETOOSMALL。 如果應用程式已配置足夠的記憶體,在呼叫 TSPI_lineGetDevCaps之前,TAPI 會將 dwNeededSizedwUsedSize 成員設定為結構在指定 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

另請參閱

LINECALLINFO

LINEGENERATETONE

LINEMONITORTONE

LINETERMCAPS

LINETRANSLATECAPS

LINE_LINEDEVSTATE

TSPI_lineGetDevCaps

lineClose

lineDial

lineGatherDigits

lineGenerateTone

lineGetDevCaps

lineGetID

lineGetTranslateCaps

lineMakeCall

lineMonitorTones

lineSendUserUserInfo

lineSetMediaControl

lineTranslateAddress

lineUncompleteCall