PHONECAPS

Windows Mobile 6.5
A version of this page is also available for
4/8/2010

This structure describes the capabilities of a phone device. The phoneGetDevCaps and TSPI_phoneGetDevCaps functions return this structure.


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 dwButtonModesFunctionsSize;
  DWORD dwButtonModesFunctionsOffset;
  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;
} PHONECAPS; 

dwTotalSize

Total size, in bytes, allocated to this data structure.

dwNeededSize

Size, in bytes, for this data structure that is needed to hold all the returned information.

dwUsedSize

Size, in bytes, of the portion of this data structure that contains useful information.

dwProviderInfoSize

Size, in bytes, of the variably sized field containing service provider specific information.

dwProviderInfoOffset

Offset, in bytes, from the beginning of this data structure.

The dwProviderInfoSizeanddwProviderInfoOffset members provides information about the provider hardware and/or software, such as the vendor name and version numbers of hardware and software. This information can be useful when a user needs to call customer service with problems regarding the provider.

dwPhoneInfoSize

Size, in bytes, of the variably sized device field containing phone-specific information.

dwPhoneInfoOffset

Offset, in bytes, from the beginning of this data structure.

The dwPhoneInfoSizeanddwProviderInfoOffset members provides information about the attached phone device, such as the phone device manufacturer, the model name, and the software version. This information can be useful when a user needs to call customer service with problems regarding the phone.

dwPermanentPhoneID

Permanent DWORD identifier by which the phone device is known in the system's configuration.

dwPhoneNameSize

Size, in bytes, of the variably sized device field containing a user-configurable name for this phone device.

dwPhoneNameOffset

Offset, in bytes, from the beginning of this data structure. This name can be configured by the user when configuring the phone device's service provider and is provided for the user's convenience.

dwStringFormat

String format to be used with this phone device. This member uses one of the STRINGFORMAT.

dwPhoneStates

State changes for this phone device for which the application can be notified in a PHONE_STATE message. This member uses one or more of the PHONESTATE defined.

dwHookSwitchDevs

Specifies the phone's hookswitch devices. This member uses one of the PHONEHOOKSWITCHDEV.

dwHandsetHookSwitchModes

Value that specifies the phone's hookswitch mode capabilities of the handset. The member is only meaningful if the hookswitch device is listed in dwHookSwitchDevs. This member uses one of the PHONEHOOKSWITCHMODE.

dwSpeakerHookSwitchModes

Value that specifies the phone's hookswitch mode capabilities of the speaker. The member is only meaningful if the hookswitch device is listed in dwHookSwitchDevs. This member uses one of the PHONEHOOKSWITCHMODE constants.

dwHeadsetHookSwitchModes

Value that specifies the phone's hookswitch mode capabilities of the headset. The member is only meaningful if the hookswitch device is listed in dwHookSwitchDevs. This member uses one of the PHONEHOOKSWITCHMODE constants.

dwVolumeFlags

Value that specifies the volume-setting capabilities of the phone device's speaker components. If the bit in position PHONEHOOKSWITCHDEV_ is TRUE, the volume of the corresponding hookswitch device's speaker component can be adjusted with the phoneSetVolume function.

dwGainFlags

Value that specifies the gain-setting capabilities of the phone device's microphone components. If the bit position PHONEHOOKSWITCHDEV_ is TRUE, the volume of the corresponding hookswitch device's microphone component can be adjusted with the phoneSetGain function.

dwDisplayNumRows

Value that specifies the display capabilities of the phone device by describing the number of rows in the phone display. The dwDisplayNumRows and dwDisplayNumColumns members are both zero for a phone device without a display.

dwDisplayNumColumns

Value that specifies the display capabilities of the phone device by describing the number of columns in the phone display. The dwDisplayNumRows and dwDisplayNumColumns members are both zero for a phone device without a display.

dwNumRingModes

Ring capabilities of the phone device. The phone is able to ring with dwNumRingModes different ring patterns, identified as 1, 2, through dwNumRingModes minus one. If the value of this member is zero, applications have no control over the ring mode of the phone. If the value of this member is greater than zero, it indicates the number of ring modes in addition to silence that are supported by the service provider. A value of zero in the lpdwRingMode parameter of the phoneGetRing function or the dwRingMode parameter of the phoneSetRing function indicates silence (the phone is not ringing or should not be rung), and dwRingMode values of 1 to dwNumRingModes are valid ring modes for the phone device.

dwNumButtonLamps

Number of button/lamps on the phone device that are detectable in TAPI. Button/lamps are identified by their identifier. Valid button/lamp identifiers range from zero to dwNumButtonLamps minus one. The keypad buttons '0', through '9', '*', and '#' are assigned the identifiers 0 through 12.

dwButtonModesSize

Size, in bytes of the variably sized field containing the button modes of the phone's buttons. The array is indexed by button/lamp identifier. This member uses one of the PHONEBUTTONMODE.

dwButtonModesOffset

Offset, in bytes,from the beginning of this data structure. The array is indexed by button/lamp identifier. This member uses one of the PHONEBUTTONMODE constants.

dwButtonModesFunctionsSize

Size, in bytes, of the variably sized field containing the button modes of the phone's buttons. This member uses one of the PHONEBUTTONFUNCTION. The array is indexed by the button/lamp identifier.

dwButtonModesFunctionsOffset

Offset, in bytes, from the beginning of this data structure. This member uses one of the PHONEBUTTONFUNCTION constants. The array is indexed by the button/lamp identifier.

dwLampModesSize

Size, in bytes, of the variably sized field containing the lamp modes of the phone's lamps. The array is indexed by the button/lamp identifier. This member uses one of the PHONELAMPMODE.

dwLampModesOffset

Offset, in bytes, from the beginning of this data structure. The array is indexed by the button/lamp identifier. This member uses one of the PHONELAMPMODE constants.

dwNumSetData

Number of different download areas in the phone device. The different areas are referred to using the data identifiers 0, 1, ..., dwNumSetData minus one. If this member is zero, the phone does not support the download capability.

dwSetDataSize

Size, in bytes, of the variably sized field containing the sizes, in bytes, of the phone's download data areas. This is an array with DWORD-sized elements indexed by data identifier.

dwSetDataOffset

Offset, in bytes, from the beginning of this data structure.

dwNumGetData

Number of different upload areas in the phone device. The different areas are referred to using the data identifiers 0, 1, ..., dwNumGetData minus one. If this field is zero, the phone does not support the upload capability.

dwGetDataSize

Size, in bytes, of the variably sized field containing the sizes, in bytes, of the phone's upload data areas. This is an array with DWORD-sized elements indexed by data identifier.

dwGetDataOffset

Offset, in bytes, from the beginning of this data structure.

dwDevSpecificSize

Size, in bytes, of the variably sized device-specific field.

dwDevSpecificOffset

Offset, in bytes, from the beginning of this data structure.

dwDeviceClassesSize

Length, in bytes of a string consisting of the device class identifiers supported on this device for use with the phoneGetID function, separated by NULLs; the last identifier in the list is followed by two NULLs.

dwDeviceClassesOffset

Offset, in bytes, from the beginning of PHONECAPS of a string consisting of the device class identifiers supported on this device for use with phoneGetID, separated by NULLs.

dwPhoneFeatures

These flags indicate which Telephony API functions can be invoked on the phone. A zero indicates the corresponding feature is not implemented and can never be invoked by the application on the phone; a 1 indicates the feature can be invoked depending on the device state and other factors. This member uses PHONEFEATURE.

dwSettableHandsetHookSwitchModes

Uses PHONEHOOKSWITCHMODE that can be set on the handset using the phoneSetHookSwitch function.

dwSettableSpeakerHookSwitchModes

Use PHONEHOOKSWITCHMODE constants that can be set on the speaker using phoneSetHookSwitch.

dwSettableHeadsetHookSwitchModes

Uses PHONEHOOKSWITCHMODE constants that can be set on the headset using phoneSetHookSwitch.

dwMonitoredHandsetHookSwitchModes

PHONEHOOKSWITCHMODE_, defined in Tapi.h, values that can be detected and reported for the handset in a PHONE_STATE message and by the phoneGetHookSwitch function.

dwMonitoredSpeakerHookSwitchModes

Uses PHONEHOOKSWITCHMODE constants that can be detected and reported for the handset in a PHONE_STATE message and by phoneGetHookSwitch.

dwMonitoredHeadsetHookSwitchModes

Uses PHONEHOOKSWITCHMODE constants that can be detected and reported for the handset in a PHONE_STATE message and by phoneGetHookSwitch.

Device-specific extensions should use the DevSpecific (dwDevSpecificSize and dwDevSpecificOffset) variably sized area of this data structure.

The members dwDeviceClassesSize through dwMonitoredHeadsetHookSwitchModes are available only to applications that open the phone device with an API version of 2.0 or later.

Headerunimodem.h
Windows Embedded CEWindows CE .NET 4.0 and later
Windows MobileWindows Mobile Version 5.0 and later

Community Additions

Show: