PHONECAPS
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.