TSPI_lineDevSpecific (Compact 2013)

3/26/2014

This function is used as a general extension mechanism to enable service providers to provide access to features not described in other operations. The meanings of the extensions are device-specific, and to take advantage of these extensions the application must be fully aware of them.

Syntax

LONG TSPIAPI TSPI_lineDevSpecific(
  DRV_REQUESTID dwRequestID, 
  HDRVLINE hdLine, 
  DWORD dwAddressID, 
  HDRVCALL hdCall, 
  LPVOID lpParams, 
  DWORD dwSize 
);

Parameters

  • dwRequestID
    Identifier of the asynchronous request.
  • hdLine
    Service provider's handle to the line to be operated on.
  • dwAddressID
    Address on the specified line to be operated on. An address identifier is permanently associated with an address; the identifier remains constant across operating system upgrades.
  • hdCall
    Service provider's handle to the call to be operated on. This field may have the value NULL. The call state of hdCall is device specific.
  • lpParams
    Pointer to a memory area used to hold a parameter block. The format of this parameter block is device specific.
  • dwSize
    Size, in bytes, of the parameter block area.

Return Value

Returns dwRequestID or an error number if an error occurs. The lResultactual parameter of the corresponding ASYNC_COMPLETION is zero if the function succeeds or an error number if an error occurs. The following table shows the return values for this function.

Value

Description

LINEERR_INVALLINEHANDLE

The handle to the line is invalid.

LINEERR_OPERATIONUNAVAIL

The operation is unavailable.

LINEERR_INVALADDRESSID

The address id is invalid.

LINEERR_OPERATIONFAILED

The operation failed.

LINEERR_NOMEM

Not enough memory is available.

LINEERR_RESOURCEUNAVAIL

The resource is unavailable.

Remarks

Additional return values are device specific.

This operation provides a generic parameter profile. The interpretation of the parameter structure is device specific. TAPI always specifies the hdLine parameter. Whether dwAddressID and/or hdCall are expected to be valid is device specific. If specified, they must belong to hdLine. Indications and replies sent back to the application that are device specific use the LINE_DEVSPECIFIC message.

This function is called in direct response to an application calling the TAPI function lineDevSpecific. TAPI translates the hLine and hCall parameters used at the TAPI level to the corresponding hdLine and hdCall parameters used at the TSPI level. The lpParams buffer is passed unmodified.

The lpParams data structure should not contain any pointers because they would not be properly translated (thunked) when running a 16-bit application in a 32-bit version of TAPI and vice versa.

A service provider can provide access to device-specific functions by defining parameters for use with this operation. Applications that want to make use of these device-specific extensions should consult the device-specific documentation (in this case meaning vendor-specific) that describes which extensions are defined.

An application that relies on device-specific extensions is not portable in working with other service provider environments. Use vendor-specific extensions for this type of application.

This operation is part of the Extended Telephony services. It only provides access to a device-specific feature without defining its meaning. This operation is only available if the application has successfully negotiated and selected a device-specific extension version.

Requirements

Header

tspi.h

Library

CellTSP.dll

See Also

Reference

TSPI Line Device Functions
TSPI_lineNegotiateExtVersion