다음을 통해 공유


LINEADDRESSCAPS (Compact 2013)

3/26/2014

This structure describes the capabilities of a specified address. The lineGetAddressCaps function and the TSPI_lineGetAddressCaps function return the LINEADDRESSCAPS structure.

Syntax

typedef struct lineaddresscaps_tag {
  DWORD dwTotalSize;
  DWORD dwNeededSize;
  DWORD dwUsedSize;
  DWORD dwLineDeviceID;
  DWORD dwAddressSize;
  DWORD dwAddressOffset;
  DWORD dwDevSpecificSize;
  DWORD dwDevSpecificOffset;
  DWORD dwAddressSharing;
  DWORD dwAddressStates;
  DWORD dwCallInfoStates;
  DWORD dwCallerIDFlags;
  DWORD dwCalledIDFlags;
  DWORD dwConnectedIDFlags;
  DWORD dwRedirectionIDFlags;
  DWORD dwRedirectingIDFlags;
  DWORD dwCallStates;
  DWORD dwDialToneModes;
  DWORD dwBusyModes;
  DWORD dwSpecialInfo;
  DWORD dwDisconnectModes;
  DWORD dwMaxNumActiveCalls;
  DWORD dwMaxNumOnHoldCalls;
  DWORD dwMaxNumOnHoldPendingCalls;
  DWORD dwMaxNumConference;
  DWORD dwMaxNumTransConf;
  DWORD dwAddrCapFlags;
  DWORD dwCallFeatures;
  DWORD dwRemoveFromConfCaps;
  DWORD dwRemoveFromConfState;
  DWORD dwTransferModes;
  DWORD dwParkModes;
  DWORD dwForwardModes;
  DWORD dwMaxForwardEntries;
  DWORD dwMaxSpecificEntries;
  DWORD dwMinFwdNumRings;
  DWORD dwMaxFwdNumRings;
  DWORD dwMaxCallCompletions;
  DWORD dwCallCompletionConds;
  DWORD dwCallCompletionModes;
  DWORD dwNumCompletionMessages;
  DWORD dwCompletionMsgTextEntrySize;
  DWORD dwCompletionMsgTextSize;
  DWORD dwCompletionMsgTextOffset;
  DWORD dwAddressFeatures;
  DWORD dwPredictiveAutoTransferStates;
  DWORD dwNumCallTreatments;
  DWORD dwCallTreatmentListSize;
  DWORD dwCallTreatmentListOffset;
  DWORD dwDeviceClassesSize;
  DWORD dwDeviceClassesOffset;
  DWORD dwMaxCallDataSize;
  DWORD dwCallFeatures2;
  DWORD dwMaxNoAnswerTimeout;
  DWORD dwConnectedModes;
  DWORD dwOfferingModes;
  DWORD dwAvailableMediaModes;
} LINEADDRESSCAPS, FAR* LPLINEADDRESSCAPS;

Members

  • dwTotalSize
    Total size allocated to this data structure, in bytes.
  • dwNeededSize
    Size for this data structure that is needed to hold all the returned information, in bytes.
  • dwUsedSize
    Size of the portion of this data structure that contains useful information, in bytes.
  • dwLineDeviceID
    Device identifier of the line device with which this address is associated.
  • dwAddressSize
    Size of the address field, in bytes.
  • dwAddressOffset
    Offset from the beginning of the structure to the variably sized address field. The size of the field is specified by dwAddressSize.
  • dwDevSpecificSize
    Size of the device-specific field, in bytes.
  • dwDevSpecificOffset
    Offset from the beginning of the structure to the variably sized device-specific field. The size of the field is specified by dwDevSpecificSize.
  • dwAddressSharing
    Sharing mode of the address. This member can be one of the LINEADDRESSSHARING.
  • dwAddressStates
    Address states changes for which the application may get notified in the LINE_ADDRESSSTATE message. This member uses one or more of the LINEADDRESSSTATE.
  • dwCallInfoStates
    Call information elements that are meaningful for all calls on this address. An application may get notified about changes in some of these states in LINE_CALLINFO messages. This member uses one or more of the LINECALLINFOSTATE.
  • dwCallerIDFlags
    Party identifier information types that can be provided for calls on this address. The caller is the originator of the session. This member uses one or more of the LINECALLPARTYID.
  • dwCalledIDFlags
    Party identifier information types that can be provided for calls on this address. Here, "called" refers to the original destination. This member uses one or more of the LINECALLPARTYID constants.
  • dwConnectedIDFlags
    Party identifier information types that can be provided for calls on this address. This member uses one or more of the LINECALLPARTYID constants.
  • dwRedirectionIDFlags
    Party identifier information types that can be provided for calls on this address. Here, "redirection" is the new destination. This member uses one or more of the LINECALLPARTYID constants.
  • dwRedirectingIDFlags
    Party identifier information types that can be provided for calls on this address. Here, "redirecting" is the address which invoked redirection. This member uses one or more of the LINECALLPARTYID constants.
  • dwCallStates
    Call states that can be reported for calls on this address. This member uses one or more of the LINECALLSTATE.
  • dwDialToneModes
    Dial tone modes that can be reported for calls made on this address. This member is meaningful only if the dialtone call state can be reported. This member uses one or more of the LINEDIALTONEMODE.
  • dwBusyModes
    Busy modes that can be reported for calls made on this address. This member is meaningful only if the busy call state can be reported. This member uses one or more of the LINEBUSYMODE.
  • dwSpecialInfo
    Special information types that can be reported for calls made on this address. This member is meaningful only if the specialInfo call state can be reported. This member uses one or more of the LINESPECIALINFO.
  • dwDisconnectModes
    Disconnect modes that can be reported for calls made on this address. This member is meaningful only if the disconnected call state can be reported. This member uses one or more of the LINEDISCONNECTMODE.
  • dwMaxNumActiveCalls
    Maximum number of active call appearances that the address can handle. This number does not include calls on hold or calls on hold pending transfer or conference.
  • dwMaxNumOnHoldCalls
    Maximum number of call appearances at the address that can be on hold.
  • dwMaxNumOnHoldPendingCalls
    Maximum number of call appearances at the address that can be on hold pending transfer or conference.
  • dwMaxNumConference
    Maximum number of parties that can join a single conference call on this address.
  • dwMaxNumTransConf
    Number of parties (including "self") that can be added in a conference call that is initiated as a generic consultation call using the lineSetupTransfer function.
  • dwAddrCapFlags
    Packed bit flags that describe a variety of address capabilities. This member uses one or more of the LINEADDRCAPFLAGS.
  • dwCallFeatures
    Switching capabilities or features available for all calls on this address using the LINECALLFEATURE. This member represents the call-related features that may possibly be available on an address (static availability as opposed to dynamic availability). Invoking a supported feature requires the call 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 application has the right privileges to the call and the call is in the appropriate state for the operation to be meaningful. This member allows an application to discover which call features can be (and which can never be) supported by the address.
  • dwRemoveFromConfCaps
    Address's capabilities for removing calls from a conference call. This member uses one of the LINEREMOVEFROMCONF.
  • dwRemoveFromConfState
    Uses the LINECALLSTATE constants to specify the state of the call after it has been removed from a conference call.
  • dwTransferModes
    Address's capabilities for resolving transfer requests. This member uses one of the LINETRANSFERMODE.
  • dwParkModes
    Different call park modes available at this address. This member uses one of the LINEPARKMODE.
  • dwForwardModes
    Different modes of forwarding available for this address. This member uses the LINEFORWARDMODE.
  • dwMaxForwardEntries
    Maximum number of entries that can be passed to the lineForwardfunction in the lpForwardList parameter.
  • dwMaxSpecificEntries
    Maximum number of entries in the lpForwardList parameter passed to lineForward that can contain forwarding instructions based on a specific caller ID (selective call forwarding). This member is zero if selective call forwarding is not supported.
  • dwMinFwdNumRings
    Minimum number of rings that can be set to determine when a call is officially considered "no answer."
  • dwMaxFwdNumRings
    Maximum number of rings that can be set to determine when a call is officially considered "no answer." If this number of rings cannot be set, then the dwMinFwdNumRings and dwMaxNumRings members are equal.
  • dwMaxCallCompletions
    Maximum number of concurrent call completion requests that can be outstanding on this line device. Zero implies that call completion is not available.
  • dwCallCompletionConds
    Different call conditions under which call completion can be requested. This member uses one or more of the LINECALLCOMPLCOND.
  • dwCallCompletionModes
    Way in which the call can be completed. This member uses one of the LINECALLCOMPLMODE.
  • dwNumCompletionMessages
    Number of call completion messages that can be selected from when using the LINECALLCOMPLMODE_MESSAGE option. Individual messages are identified by values in the range zero through one less than dwNumCompletionMessages.
  • dwCompletionMsgTextEntrySize
    Size of each of the call completion text descriptions specified by the dwCompletionMsgTextSize and dwCompletionMsgTextOffset members, in bytes.
  • dwCompletionMsgTextSize
    Size of the call completion text, in bytes.
  • dwCompletionMsgTextOffset
    Offset from the beginning of this data structure to the variably sized field containing descriptive text about each of the call completion messages. Each message is dwCompletionMsgTextEntrySize bytes long. The string format of these textual descriptions is indicated by the dwStringFormat member on the line's device capabilities. The size of the field is specified by the dwCompletionMsgTextSize member.
  • dwAddressFeatures
    Features available for this address using the LINEADDRFEATURE. Invoking a supported feature requires the address 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 address is in the appropriate state for the operation to be meaningful. This member allows an application to discover which address features can be (and which can never be) supported by the address.
  • dwPredictiveAutoTransferStates
    Call state or states upon which a call made by a predictive dialer can be set to automatically transfer the call to another address; one or more of the LINECALLSTATE constants. The value 0 indicates automatic transfer based on call state is unavailable.
  • dwNumCallTreatments
    Number of entries in the array of LINECALLTREATMENTENTRY structures delimited by the dwCallTreatmentListSize and dwCallTreatmentListOffset members.
  • dwCallTreatmentListSize
    Size of the call treatment array, in bytes.
  • dwCallTreatmentListOffset
    Offset from the beginning of the structure to an array of LINECALLTREATMENTENTRY structures that specify the call treatments supported on the address. The value is dwNumCallTreatments times SIZEOF(LINECALLTREATMENTENTRY). The size of the field is specified by dwCallTreatmentListSize.
  • dwDeviceClassesSize
    Size of the list of supported device classes, in bytes.
  • dwDeviceClassesOffset
    Offset from the beginning of the structure to a string consisting of the device class identifiers supported on this address for use with the lineGetID function. The elements are separated by null characters, and the last class identifier is followed by two null characters. The size of the field is specified by dwDeviceClassesSize.
  • dwMaxCallDataSize
    Maximum number of bytes that an application can set in the LINECALLINFO structure.
  • dwCallFeatures2
    Additional switching capabilities or features available for all calls on this address using the LINECALLFEATURE2. It is an extension of the dwCallFeatures member.
  • dwMaxNoAnswerTimeout
    Maximum value in seconds that can be set in the dwNoAnswerTimeout member in the LINECALLPARAMS structure when making a call. A value of 0 indicates that automatic abandonment of unanswered calls is not supported by the service provider, or that the timeout value is not adjustable by applications.
  • dwOfferingModes
    LINEOFFERINGMODE that can appear in the dwCallStateMode member of LINECALLSTATUS and in LINE_CALLSTATE messages for calls on this address.
  • dwAvailableMediaModes
    Media types (modes) that can be invoked on new calls created on this address, when the dwAddressFeatures member indicates that new calls are possible. If this member is zero, it indicates that the service provider either does not know or cannot indicate which media types are available, in which case any or all of the media types indicated in the dwMediaModes member in the LINEDEVCAPS structure may be available.

Remarks

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

Older applications are compiled without this member in the LINEADDRESSCAPS structure, and using a SIZEOF(LINEADDRESSCAPS) smaller than the new size. The application passes in a dwAPIVersion parameter with the lineGetAddressCaps 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 dwAPIVersion member specified, LINEERR_STRUCTURETOOSMALL is returned. If sufficient memory has been allocated by the application, before calling TSPI_lineGetAddressCaps, TAPI sets the dwNeededSize and dwUsedSize members to the fixed size of the structure as it existed in the specified TAPI version.

New service providers must examine the TAPI version of the structure passed in. If the version is less than the highest version supported by the provider, the service provider must not fill in fields not supported in older versions of TAPI, as these would fall in the variable portion of the older structure.

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

The members dwPredictiveAutoTransferStates through dwAvailableMediaModes are available only to applications that request a TAPI version of 2.0 or later when calling lineGetAddressCaps.

Requirements

Header

tapi.h

See Also

Reference

TAPI Structures
lineGetAddressCaps
TSPI_lineGetAddressCaps
lineSetupTransfer
lineForward
lineGetID
LINECALLINFO
LINECALLPARAMS
LINECALLSTATUS
LINEDEVCAPS