Поделиться через


LINEDEVCAPS (Compact 2013)

3/26/2014

This structure describes the capabilities of a line device.

Syntax

typedef struct linedevcaps_tag {
  DWORD dwTotalSize;
  DWORD dwNeededSize;
  DWORD dwUsedSize;
  DWORD dwProviderInfoSize;
  DWORD dwProviderInfoOffset;
  DWORD dwSwitchInfoSize;
  DWORD dwSwitchInfoOffset;
  DWORD dwPermanentLineID;
  DWORD dwLineNameSize;
  DWORD dwLineNameOffset;
  DWORD dwStringFormat; 
  DWORD dwAddressModes;
  DWORD dwNumAddresses;
  DWORD dwBearerModes;
  DWORD dwMaxRate;
  DWORD dwMediaModes;
  DWORD dwGenerateToneModes;
  DWORD dwGenerateToneMaxNumFreq;
  DWORD dwGenerateDigitModes;
  DWORD dwMonitorToneMaxNumFreq;
  DWORD dwMonitorToneMaxNumEntries;
  DWORD dwMonitorDigitModes;
  DWORD dwGatherDigitsMinTimeout;
  DWORD dwGatherDigitsMaxTimeout;
  DWORD dwMedCtlDigitMaxListSize;
  DWORD dwMedCtlMediaMaxListSize;
  DWORD dwMedCtlToneMaxListSize;
  DWORD dwMedCtlCallStateMaxListSize;
  DWORD dwDevCapFlags;
  DWORD dwMaxNumActiveCalls;
  DWORD dwAnswerMode;
  DWORD dwRingModes;
  DWORD dwLineStates;
  DWORD dwUUIAcceptSize;
  DWORD dwUUIAnswerSize;
  DWORD dwUUIMakeCallSize;
  DWORD dwUUIDropSize;
  DWORD dwUUISendUserUserInfoSize;
  DWORD dwUUICallInfoSize;
  LINEDIALPARAMS MinDialParams;
  LINEDIALPARAMS MaxDialParams;
  LINEDIALPARAMS DefaultDialParams;
  DWORD dwNumTerminals;
  DWORD dwTerminalCapsSize;
  DWORD dwTerminalCapsOffset;
  DWORD dwTerminalTextEntrySize;
  DWORD dwTerminalTextSize;
  DWORD dwTerminalTextOffset;
  DWORD dwDevSpecificSize;
  DWORD dwDevSpecificOffset
  DWORD dwLineFeatures;
  DWORD dwSettableDevStatus;
  DWORD dwDeviceClassesSize;
  DWORD dwDeviceClassesOffset;
} LINEDEVCAPS, Far* LPLINEDEVCAPS; 

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 data.
  • dwUsedSize
    Size, in bytes, of the portion of this data structure that contains useful data.
  • dwProviderInfoSize
    Size, in bytes, of the field that contains service provider data.
  • dwProviderInfoOffset
    Offset, in bytes, from the beginning of this data structure.

    The dwProviderInfoSize and dwProviderInfoOffset members are intended to provide data about the provider hardware and/or software, such as the vendor name and version numbers of hardware and software. This data can be useful when a user needs to call customer service with problems regarding the provider.

  • dwSwitchInfoSize
    Size, in bytes, of the variably sized device field that contains switch data.
  • dwSwitchInfoOffset
    Offset, in bytes, from the beginning of this data structure.

    The dwSwitchInfoSizeanddwProviderInfoOffset members are intended to provide data about the switch to which the line device is connected, such as the switch manufacturer, the model name, the software version, and so on. This data can be useful when a user needs to call customer service with problems regarding the switch.

  • dwPermanentLineID
    Unsupported; set to zero.
  • dwLineNameSize
    Size, in bytes, of the variably sized device field that contains a user configurable name for this line device.
  • dwLineNameOffset
    Offset, in bytes, from the beginning of this data structure. This name can be configured by the user when configuring the line device's service provider, and is provided for the user's convenience.
  • dwStringFormat
    Value that specifies the string format used with this line device. This member uses STRINGFORMAT.
  • dwAddressModes
    Value that specifies the mode by which the originating address is specified. This member uses the LINEADDRESSMODE.
  • dwNumAddresses
    Number of addresses associated with this line device. Individual addresses are referred to by address identifiers. Address identifiers range from zero to one less than the value indicated by dwNumAddresses.
  • dwBearerModes
    Flag array that indicates the different bearer modes that the address is able to support. This member uses LINEBEARERMODE.
  • dwMaxRate
    Maximum data rate in bits per second for data exchange over the call.
  • dwMediaModes
    Flag array that indicates the different media modes the address is able to support. This member uses LINEMEDIAMODE.
  • dwGenerateToneModes
    Unsupported; set to zero.
  • dwGenerateToneMaxNumFreq
    Unsupported; set to zero.
  • dwGenerateDigitModes
    Unsupported; set to zero.
  • dwMonitorToneMaxNumFreq
    Unsupported; set to zero.
  • dwMonitorToneMaxNumEntries
    Unsupported; set to zero.
  • dwMonitorDigitModes
    Unsupported; set to zero.
  • dwGatherDigitsMinTimeout
    Unsupported; set to zero.
  • dwGatherDigitsMaxTimeout
    Unsupported; set to zero.
  • dwMedCtlDigitMaxListSize
    Unsupported; set to zero.
  • dwMedCtlMediaMaxListSize
    Maximum number of entries that can be specified in the media list.
  • dwMedCtlToneMaxListSize
    Unsupported; set to zero.
  • dwMedCtlCallStateMaxListSize
    Maximum number of entries that can be specified in the call state list.
  • dwDevCapFlags
    Value that specifies various Boolean device capabilities. This member uses LINEDEVCAPFLAGS.
  • dwMaxNumActiveCalls
    Maximum number of (minimum bandwidth) calls that can be active (connected) on the line at any one time. The actual number of active calls may be lower if higher bandwidth calls have been established on the line.
  • dwAnswerMode
    Value that specifies the effect on the active call when answering another offering call on a line device. This member uses LINEANSWERMODE.
  • dwRingModes
    Number of different ring modes that can be reported in the LINE_LINEDEVSTATE message with the ringing indication. Different ring modes range from one to dwRingModes. Zero indicates no ring.
  • dwLineStates
    Specifies the different line status components for which the application may be notified in a LINE_LINEDEVSTATE message on this line. This member uses LINEDEVSTATE.
  • dwUUIAcceptSize
    Maximum size of user-user data that can be sent during a call accept.
  • dwUUIAnswerSize
    Maximum size of user-user data that can be sent during a call answer.
  • dwUUIMakeCallSize
    Maximum size of user-user data that can be sent during a make call.
  • dwUUIDropSize
    Maximum size of user-user data that can be sent during a call drop.
  • dwUUISendUserUserInfoSize
    Unsupported; set to zero.
  • dwUUICallInfoSize
    Maximum size of user-user data that can be received in the LINECALLINFO structure.
  • MinDialParams
    Unsupported; set to zero.
  • MaxDialParams
    Unsupported; set to zero.
  • DefaultDialParams
    Unsupported; set to zero.
  • dwNumTerminals
    Unsupported; set to zero.
  • dwTerminalCapsSize
    Unsupported; set to zero.
  • dwTerminalCapsOffset
    Unsupported; set to zero.
  • dwTerminalTextEntrySize
    Unsupported; set to zero.
  • dwTerminalTextSize
    Unsupported; set to zero.
  • dwTerminalTextOffset
    Unsupported; set to zero.
  • dwDevSpecificSize
    Size, in bytes, of the variably sized device-specific field.
  • dwDevSpecificOffset
    Offset, in bytes, from the beginning of this data structure.
  • dwLineFeatures
    Value that specifies the features available for this line using the LINEFEATURE. Invoking a supported feature requires the line to be in the proper state and the underlying line device to be opened in a compatible mode. A zero in a bit position indicates that the corresponding feature is never available. A one indicates that the corresponding feature may be available if the line is in the appropriate state for the operation to be meaningful. This member enables an application to discover which line features can be, and which can never be, supported by the device.
  • dwDeviceClassesSize
    Length in bytes from the beginning of LINEDEVCAPS of a string consisting of the device class identifiers supported on one or more addresses on this line for use with the lineGetID function, separated by NULL characters; the last identifier in the list is followed by two NULL characters.
  • dwDeviceClassesOffset
    Offset of the string described in the dwDeviceClassesSize member.

Remarks

Device-specific extensions should use the dwDevSpecificSize and dwDevSpecificOffset members of this structure.

Older applications are compiled without new members in the LINEDEVCAPS structure, and using a SIZEOF LINEDEVCAPS smaller than the new size. The application passes in a dwAPIVersion parameter with the lineGetDevCaps function, which can be used for guidance by TAPI in handling this situation. If the application passes in a dwTotalSize member less than the size of the fixed portion of the structure as defined in the specified dwAPIVersion, LINEERR_STRUCTURETOOSMALL is returned. If sufficient memory has been allocated by the application, before calling TSPI_lineGetDevCaps, TAPI sets the dwNeededSize and dwUsedSize members to the fixed size of the structure as it existed in the specified API version.

New applications must be cognizant of the API version negotiated, and not examine the contents of members in the fixed portion beyond the original end of the fixed portion of the structure for the negotiated API version.

If the LINEBEARERMODE_DATA bit is set in the dwBearerModes member, the dwMaxRate member indicates the maximum rate of digital transmission on the bearer channel. The dwMaxRate member of the LINEDEVCAPS structure can contain valid values even if the dwBearerModes member of the LINEDEVCAPS structure is not set to LINEBEARERMODE_DATA.

If LINEBEARERMODE_DATA is not set in dwBearerModes, but the LINEBEARERMODE_VOICE value is set and the LINEMEDIAMODE_DATAMODEM value is set in the dwMediaModes member, the dwMaxRate member indicates the maximum SYNCHRONOUS (DCE) bit rate on the phone line for the attached modem or functional equivalent. For example, if the modem's fastest modulation speed is V.32bis at 14,400bps, dwMaxRate equals 14400. This is not the fastest DTE port rate (which would most likely be 38400, 57600, or 115200), but the fastest bit rate the modem supports on the phone line.

The application must be careful to check to see that LINEBEARERMODE_DATA is not set, to avoid misinterpreting the dwMaxRate member. It is likely to be 64000 or higher if LINEBEARERMODE_DATA is set.

It should also be noted that if the modem has not been specifically identified (for example, it is a generic modem), the figure indicated is a best guess based on examination of the modem.

Requirements

Header

tapi.h

See Also

Reference

TAPI Structures
lineClose
lineGetDevCaps
lineGetID
lineMakeCall
lineTranslateAddress
TSPI_lineGetDevCaps
LINE_LINEDEVSTATE (TAPI)
LINECALLINFO