LINEADDRESSCAPS
The LINEADDRESSCAPS structure describes the capabilities of a specified address. The lineGetAddressCaps function and the TSPI_lineGetAddressCaps function return the LINEADDRESSCAPS structure.
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
- The total size, in bytes, allocated to this data structure.
- dwNeededSize
- The size, in bytes, for this data structure that is needed to hold all the returned information.
- dwUsedSize
- The size, in bytes, of the portion of this data structure that contains useful information.
- dwLineDeviceID
- The device identifier of the line device with which this address is associated.
- dwAddressSize
- dwAddressOffset
- The size, in bytes, of the variably sized address field and the offset, in bytes, from the beginning of this data structure.
- dwDevSpecificSize
- dwDevSpecificOffset
- The size, in bytes, of the variably sized device-specific field and the offset, in bytes, from the beginning of this data structure.
- dwAddressSharing
- The sharing mode of the address. This member can be one of the LINEADDRESSSHARING_ Constants.
- dwAddressStates
- Contains the address states changes for which the application may get notified in the LINE_ADDRESSSTATE message. This member uses one or more of the LINEADDRESSSTATE_ constants.
- dwCallInfoStates
- Describes the 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_ constants.
- dwCallerIDFlags
- dwCalledIDFlags
- dwConnectedIDFlags
- dwRedirectionIDFlags
- dwRedirectingIDFlags
- Describes the various party identifier information types that can be provided for calls on this address. The caller is the originator of the session, "called" refers to the original destination, "redirection" is the new destination, and "redirecting" is the address which invoked redirection. These members uses one or more of the LINECALLPARTYID_ constants.
- dwCallStates
- Describes the various call states that can be reported for calls on this address. This member uses one or more of the LINECALLSTATE_ constants.
- dwDialToneModes
- Describes the various 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_ constants.
- dwBusyModes
- Describes the various 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_ constants.
- dwSpecialInfo
- Describes the various 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_ constants.
- dwDisconnectModes
- Describes the various 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_ constants.
- dwMaxNumActiveCalls
- Contains the 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
- Contains the maximum number of call appearances at the address that can be on hold.
- dwMaxNumOnHoldPendingCalls
- Contains the maximum number of call appearances at the address that can be on hold pending transfer or conference.
- dwMaxNumConference
- Contains the maximum number of parties that can join a single conference call on this address.
- dwMaxNumTransConf
- Specifies the number of parties (including "self") that can be added in a conference call that is initiated as a generic consultation call using lineSetupTransfer.
- dwAddrCapFlags
- Contains a series of packed bit flags that describe a variety of address capabilities. This member uses one or more of the LINEADDRCAPFLAGS_ constants.
- dwCallFeatures
- Specifies the switching capabilities or features available for all calls on this address using the LINECALLFEATURE_ Constants. 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
- Specifies the address's capabilities for removing calls from a conference call. This member uses one of the LINEREMOVEFROMCONF_ constants.
- dwRemoveFromConfState
- Uses the LINECALLSTATE_ constants to specify the state of the call after it has been removed from a conference call.
- dwTransferModes
- Specifies the address's capabilities for resolving transfer requests. This member uses one of the LINETRANSFERMODE_ constants.
- dwParkModes
- Specifies the different call park modes available at this address. This member uses one of the LINEPARKMODE_ constants.
- dwForwardModes
- Specifies the different modes of forwarding available for this address. This member uses the LINEFORWARDMODE_ constants.
- dwMaxForwardEntries
- Specifies the maximum number of entries that can be passed to lineForward in the lpForwardList parameter.
- dwMaxSpecificEntries
- Specifies the 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
- Specifies the minimum number of rings that can be set to determine when a call is officially considered "no answer."
- dwMaxFwdNumRings
- Specifies the 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 dwMinFwdNumRings and dwMaxNumRings are equal.
- dwMaxCallCompletions
- Specifies the maximum number of concurrent call completion requests that can be outstanding on this line device. Zero implies that call completion is not available.
- dwCallCompletionConds
- Specifies the different call conditions under which call completion can be requested. This member uses one or more of the LINECALLCOMPLCOND_ constants.
- dwCallCompletionModes
- Specifies the way in which the call can be completed. This member uses one of the LINECALLCOMPLMODE_ constants.
- dwNumCompletionMessages
- Specifies the 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
- Specifies the size, in bytes, of each of the call completion text descriptions pointed at by dwCompletionMsgTextSize and dwCompletionMsgTextOffset.
- dwCompletionMsgTextSize
- dwCompletionMsgTextOffset
- The size, in bytes, and the offset, in bytes, from the beginning of this data structure of 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 dwStringFormat in the line's device capabilities.
- dwAddressFeatures
- Specifies the features available for this address using the LINEADDRFEATURE_ Constants. 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
- The 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
- The number of entries in the array of LINECALLTREATMENTENTRY structures delimited by dwCallTreatmentListSize and dwCallTreatmentListOffset.
- dwCallTreatmentListSize
- dwCallTreatmentListOffset
- The total size, in bytes, and offset from the beginning of LINEADDRESSCAPS of an array of LINECALLTREATMENTENTRY structures, indicating the call treatments supported on the address (that can be selected using lineSetCallTreatment). The value is dwNumCallTreatments times SIZEOF(LINECALLTREATMENTENTRY).
- dwDeviceClassesSize
- dwDeviceClassesOffset
- Length in bytes and offset from the beginning of LINEADDRESSCAPS of a string consisting of the device class identifiers supported on this address for use with lineGetID, separated by NULLs; the last class indentifier is followed by two NULLs.
- dwMaxCallDataSize
- The maximum number of bytes that an application can set in LINECALLINFO using lineSetCallData.
- dwCallFeatures2
- Specifies additional switching capabilities or features available for all calls on this address using the LINECALLFEATURE2_ Constants. It is an extension of the dwCallFeatures member.
- dwMaxNoAnswerTimeout
- The maximum value in seconds that can be set in the dwNoAnswerTimeout member in LINECALLPARAMS 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.
- dwConnectedModes
- Specifies the LINECONNECTEDMODE_ values that can appear in the dwCallStateMode member of LINECALLSTATUS and in LINE_CALLSTATE messages for calls on this address.
- dwOfferingModes
- Specifies the LINEOFFERINGMODE_ values that can appear in the dwCallStateMode member of LINECALLSTATUS and in LINE_CALLSTATE messages for calls on this address.
- dwAvailableMediaModes
- Indicates the 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 LINEDEVCAPS 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 API version.
New service providers (that support the new API version) must examine the API version passed in. If the API version is less than the highest version supported by the provider, the service provider must not fill in fields not supported in older API versions, as these would fall in the variable portion of the older structure.
New applications must be cognizant of the API version 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 API version.
The members dwPredictiveAutoTransferStates through dwAvailableMediaModes are available only to applications that request an API version of 2.0 or later when calling lineGetAddressCaps.
Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
Windows 95/98: Requires Windows 95 or later.
Version: Requires TAPI 1.4 or later.
Header: Declared in Tapi.h.
See Also
LINE_ADDRESSSTATE, LINE_CALLINFO, LINE_CALLSTATE, LINE_LINEDEVSTATE, LINEADDRESSSTATUS, LINECALLINFO, LINECALLPARAMS, LINECALLSTATUS, LINECALLTREATMENTENTRY, LINEDEVCAPS, LINEDIALPARAMS, lineCompleteCall, lineForward, lineGenerateDigits, lineGetAddressCaps, TSPI_lineGetAddressCaps, lineGetID, lineSetCallData, lineSetCallTreatment