PHONECAPS 結構 (tapi.h)
PHONECAPS 結構描述手機裝置的功能。 phoneGetDevCaps 和 TSPI_phoneGetDevCaps 函式會傳回這個結構。
語法
typedef struct phonecaps_tag {
DWORD dwTotalSize;
DWORD dwNeededSize;
DWORD dwUsedSize;
DWORD dwProviderInfoSize;
DWORD dwProviderInfoOffset;
DWORD dwPhoneInfoSize;
DWORD dwPhoneInfoOffset;
DWORD dwPermanentPhoneID;
DWORD dwPhoneNameSize;
DWORD dwPhoneNameOffset;
DWORD dwStringFormat;
DWORD dwPhoneStates;
DWORD dwHookSwitchDevs;
DWORD dwHandsetHookSwitchModes;
DWORD dwSpeakerHookSwitchModes;
DWORD dwHeadsetHookSwitchModes;
DWORD dwVolumeFlags;
DWORD dwGainFlags;
DWORD dwDisplayNumRows;
DWORD dwDisplayNumColumns;
DWORD dwNumRingModes;
DWORD dwNumButtonLamps;
DWORD dwButtonModesSize;
DWORD dwButtonModesOffset;
DWORD dwButtonFunctionsSize;
DWORD dwButtonFunctionsOffset;
DWORD dwLampModesSize;
DWORD dwLampModesOffset;
DWORD dwNumSetData;
DWORD dwSetDataSize;
DWORD dwSetDataOffset;
DWORD dwNumGetData;
DWORD dwGetDataSize;
DWORD dwGetDataOffset;
DWORD dwDevSpecificSize;
DWORD dwDevSpecificOffset;
DWORD dwDeviceClassesSize;
DWORD dwDeviceClassesOffset;
DWORD dwPhoneFeatures;
DWORD dwSettableHandsetHookSwitchModes;
DWORD dwSettableSpeakerHookSwitchModes;
DWORD dwSettableHeadsetHookSwitchModes;
DWORD dwMonitoredHandsetHookSwitchModes;
DWORD dwMonitoredSpeakerHookSwitchModes;
DWORD dwMonitoredHeadsetHookSwitchModes;
GUID PermanentPhoneGuid;
} PHONECAPS, *LPPHONECAPS;
成員
dwTotalSize
配置給這個數據結構的大小總計,以位元組為單位。
dwNeededSize
此數據結構的大小,需要以位元組為單位來保存所有傳回的資訊。
dwUsedSize
這個數據結構中包含實用資訊的部分大小,以位元組為單位。
dwProviderInfoSize
提供者特定資訊的大小,以位元組為單位。 如果提供者特定資訊是字串的指標,大小必須包含 Null 終止符。
dwProviderInfoOffset
從結構的開頭位移到包含服務提供者特定資訊的可變大小欄位。
此成員提供提供者硬體和/或軟體的相關信息,例如廠商名稱和硬體和軟體的版本號碼。 當使用者需要針對提供者的問題呼叫客戶服務時,這項資訊會很有用。 欄位的大小是由 dwProviderInfoSize 所指定。
dwPhoneInfoSize
電話特定資訊的大小,以位元組為單位。 如果電話特定資訊是字串的指標,大小必須包含 Null 終止符。
dwPhoneInfoOffset
從結構的開頭位移到包含手機特定資訊的可變大小裝置欄位。
此成員提供附加電話裝置的相關信息,例如手機裝置製造商、型號名稱、軟體版本等等。 當使用者需要撥打客戶服務時,與電話相關的問題時,這項資訊會很有用。 欄位的大小是由 dwPhoneInfoSize 所指定。
dwPermanentPhoneID
電話裝置在系統設定中已知的永久標識碼。
dwPhoneNameSize
手機可設定名稱的大小,包括 null 終止符,以位元組為單位。
dwPhoneNameOffset
從結構的開頭位移到包含此手機裝置用戶可設定名稱的可變大小裝置欄位。 設定手機裝置的服務提供者時,用戶可以設定此名稱,並提供給使用者的便利性。 欄位的大小是由 dwPhoneNameSize 所指定。
dwStringFormat
要與此電話裝置搭配使用的字串格式。 此成員使用其中一個 STRINGFORMAT_常數。
dwPhoneStates
此手機裝置的狀態變更,應用程式可在 PHONE_STATE 訊息中收到通知。 這個成員一或多個 PHONESTATE_常數。
dwHookSwitchDevs
手機的攔截裝置。 此成員使用其中一個 PHONEHOOKSWITCHDEV_常數。
dwHandsetHookSwitchModes
手部的 Hookswitch 模式。 只有當 hookswitch 裝置列在 dwHookSwitchDevs 中時,成員才有意義。 它會使用其中一個 PHONEHOOKSWITCHMODE_常數。
dwSpeakerHookSwitchModes
喇叭的勾點模式。 只有當 hookswitch 裝置列在 dwHookSwitchDevs 中時,成員才有意義。 它會使用其中一個PHONEHOOKSWITCHMODE_常數。
dwHeadsetHookSwitchModes
頭戴式裝置的 Hookswitch 模式。 只有當 hookswitch 裝置列在 dwHookSwitchDevs 中時,成員才有意義。 它會使用其中一個 PHONEHOOKSWITCHMODE_常數。
dwVolumeFlags
手機裝置喇叭元件的音量設定功能。 如果位置PHONEHOOKSWITCHDEV_位為 TRUE,則可以使用 phoneSetVolume 調整對應攔截裝置喇叭元件的音量。
dwGainFlags
手機裝置麥克風元件的取得設定功能。 如果位位置PHONEHOOKSWITCHDEV_為 TRUE,則可以使用 phoneSetGain 調整對應攔截裝置麥克風元件的音量。
dwDisplayNumRows
藉由描述手機顯示中的數據列數目,來顯示手機裝置的功能。 dwDisplayNumRows 和 dwDisplayNumColumns 成員都是沒有顯示器的手機裝置零。
dwDisplayNumColumns
藉由描述手機顯示中的數據行數目,來顯示手機裝置的功能。 dwDisplayNumRows 和 dwDisplayNumColumns 成員都是沒有顯示器的手機裝置零。
dwNumRingModes
電話裝置的通道功能。 手機可以使用 dwNumRingModes 不同的環形模式來撥打電話,其識別為 1,2,透過 dwNumRingModes 減一。 如果這個成員的值是 0,應用程式就無法控制手機的信號模式。 如果這個成員的值大於0,除了服務提供者支援的無聲之外,還會指出通道模式的數目。 phoneGetRing 的 lpdwRingMode 參數中的值為 0,或 phoneSetRing 的 dwRingMode 參數 (表示電話沒有響鈴,或不應該執行電話) ,而 dwRingMode 值為 1 到 dwNumRingModes 是手機裝置的有效通道模式。
dwNumButtonLamps
在 TAPI 中可偵測到的手機裝置上按鈕/平板數目。 按鈕/按鈕/按鈕是由其標識碼所識別。 有效的按鈕/燈標識符範圍從零到 dwNumButtonLamps 減一。 按鍵按鈕 '0'、到 '9'、'*' 和 '#' 會指派標識碼 0 到 12。
dwButtonModesSize
按鈕模式陣列的大小,以位元組為單位。
dwButtonModesOffset
從這個結構的開頭位移到包含手機按鈕按鈕模式的可變大小欄位。 陣列是以按鈕/燈標識符編製索引。 此陣列會使用 PHONEBUTTONMODE_ 常數。 陣列的大小是由 dwButtonModesSize 所指定。
dwButtonFunctionsSize
按鈕函式欄位的大小,以位元組為單位。
dwButtonFunctionsOffset
從這個結構的開頭位移到包含手機按鈕按鈕功能的可變大小欄位。 陣列是以按鈕/燈標識符編製索引。 此陣列會使用 PHONEBUTTONFUNCTION_ 常數。 陣列的大小是由 dwButtonFunctionsSize 所指定。
dwLampModesSize
燈模式陣列的大小,以位元組為單位。
dwLampModesOffset
從這個結構的開頭位移到包含手機燈泡模式的可變大小欄位。 陣列是以按鈕/燈標識符編製索引。 此陣列會使用 PHONELAMPMODE_ 常數。 陣列的大小是由 dwLampModesSize 所指定。
dwNumSetData
電話裝置中不同下載區域的數目。 使用數據標識碼 0、1、 dwNumSetData 減一,會參考不同的區域。 如果此成員為零,則手機不支持下載功能。
dwSetDataSize
數據大小陣列的大小,以位元組為單位。
dwSetDataOffset
從這個結構的開頭位移到可變大小的欄位,其中包含電話下載數據區域) 位元組大小 (大小。 這是一個陣列,其中包含以數據標識碼編製索引的 DWORD 大小元素。 陣列的大小是由 dwSetDataSize 所指定。
dwNumGetData
手機裝置中不同上傳區域的數目。 使用數據標識碼 0、1、 dwNumGetData 減一,會參考不同的區域。 如果此欄位為零,則手機不支援上傳功能。
dwGetDataSize
數據大小陣列的大小,以位元組為單位。
dwGetDataOffset
從這個結構的開頭位移到可變大小的欄位,其中包含電話上傳數據區域) 位元組大小 (大小。 這是一個陣列,其中包含以數據標識碼編製索引的 DWORD 大小元素。 陣列的大小是由 dwGetDataSize 所指定。
dwDevSpecificSize
裝置特定欄位的大小,以位元組為單位。 如果裝置特定資訊是字串的指標,大小必須包含 Null 終止符。
dwDevSpecificOffset
從這個結構的開頭位移到可變大小的裝置特定欄位。 欄位的大小是由 dwDevSpecificSize 所指定。
dwDeviceClassesSize
支援的裝置類別標識碼大小,以位元組為單位。
dwDeviceClassesOffset
從這個結構的開頭位移到字串,此字串是由此裝置上支援的裝置類別標識碼所組成,以搭配 phoneGetID 使用。 標識符會以 NULLs 分隔,而清單中的最後一個標識碼後面接著兩個 NULL。 欄位的大小是由 dwDeviceClassesSize 所指定。
dwPhoneFeatures
旗標,指出哪些電話語音 API 函式可以在手機上叫用。 零表示未實作對應的功能,且永遠不會由手機上的應用程式叫用;一個表示可能會根據裝置狀態和其他因素叫用功能。 此成員會使用 PHONEFEATURE_ 常數。
dwSettableHandsetHookSwitchModes
PHONEHOOKSWITCHMODE_ 可以使用 phoneSetHookSwitch 在手機上設定的值。
dwSettableSpeakerHookSwitchModes
PHONEHOOKSWITCHMODE_可以使用 phoneSetHookSwitch 在喇叭上設定的值。
dwSettableHeadsetHookSwitchModes
PHONEHOOKSWITCHMODE_可以使用 phoneSetHookSwitch 在頭戴式裝置上設定的值。
dwMonitoredHandsetHookSwitchModes
PHONEHOOKSWITCHMODE_可在 PHONE_STATE 訊息和 phoneGetHookSwitch 中偵測並報告手機的手機的值。
dwMonitoredSpeakerHookSwitchModes
PHONEHOOKSWITCHMODE_可在PHONE_STATE訊息和 phoneSetHookSwitch 中偵測和回報喇叭的值。
dwMonitoredHeadsetHookSwitchModes
PHONEHOOKSWITCHMODE_ 可在PHONE_STATE訊息和 phoneSetHookSwitch 中偵測並回報頭戴式裝置的值。
PermanentPhoneGuid
與此電話永久關聯的 GUID。
備註
裝置特定的延伸模組應該使用 DevSpecific (dwDevSpecificSize 和 dwDevSpecificOffset) 此數據結構的可變大小區域。
透過 dwMonitoredHeadsetHookSwitchModes 的成員 dwDeviceClassesSize 只能供使用 API 版本為 2.0 或更新版本的應用程式開啟手機裝置。
規格需求
需求 | 值 |
---|---|
標頭 | tapi.h |