Compartilhar via


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.
  • 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)