PHONECAPS (Compact 2013)
3/26/2014
This structure describes the capabilities of a phone device. The phoneGetDevCaps and TSPI_phoneGetDevCaps functions return this structure.
Syntax
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;
Members
- 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.
Remarks
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.
Requirements
Header |
unimodem.h |
See Also
Reference
TAPI Structures
phoneGetDevCaps
TSPI_phoneGetDevCaps
PHONE_STATE (TAPI)