共用方式為


PHONECAPS 結構 (tapi.h)

PHONECAPS 結構描述手機裝置的功能。 phoneGetDevCapsTSPI_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

藉由描述手機顯示中的數據列數目,來顯示手機裝置的功能。 dwDisplayNumRowsdwDisplayNumColumns 成員都是沒有顯示器的手機裝置零。

dwDisplayNumColumns

藉由描述手機顯示中的數據行數目,來顯示手機裝置的功能。 dwDisplayNumRowsdwDisplayNumColumns 成員都是沒有顯示器的手機裝置零。

dwNumRingModes

電話裝置的通道功能。 手機可以使用 dwNumRingModes 不同的環形模式來撥打電話,其識別為 1,2,透過 dwNumRingModes 減一。 如果這個成員的值是 0,應用程式就無法控制手機的信號模式。 如果這個成員的值大於0,除了服務提供者支援的無聲之外,還會指出通道模式的數目。 phoneGetRinglpdwRingMode 參數中的值為 0,或 phoneSetRingdwRingMode 參數 (表示電話沒有響鈴,或不應該執行電話) ,而 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 (dwDevSpecificSizedwDevSpecificOffset) 此數據結構的可變大小區域。

透過 dwMonitoredHeadsetHookSwitchModes 的成員 dwDeviceClassesSize 只能供使用 API 版本為 2.0 或更新版本的應用程式開啟手機裝置。

規格需求

需求
標頭 tapi.h

另請參閱

PHONE_BUTTON

PHONE_CLOSE

PHONE_STATE

TSPI_phoneGetDevCaps

phoneGetDevCaps

phoneGetHookSwitch

phoneGetRing

phoneSetGain

phoneSetHookSwitch

phoneSetRing

phoneSetVolume