Share via


TSPI_lineNegotiateTSPIVersion (Compact 2013)

3/26/2014

This function returns the highest SPI version the service provider can operate under for this device, given the range of possible SPI versions.

Syntax

LONG TSPIAPI TSPI_lineNegotiateTSPIVersion(
  DWORD dwDeviceID, 
  DWORD dwLowVersion, 
  DWORD dwHighVersion, 
  LPDWORD lpdwTSPIVersion 
);

Parameters

  • dwDeviceID
    Line device for which interface version negotiation is to be performed. In addition to device identifiers within the range the service provider supports, this may be the valueINITIALIZE_NEGOTIATION. This value is used to signify that an overall interface version is to be negotiated.
  • dwLowVersion
    Lowest TSPI version number under which TAPI can operate. The most-significant WORD is the major version number and the least-significant WORD is the minor version number.
  • dwHighVersion
    Highest TSPI version number under which TAPI can operate. The most-significant WORD is the major version number and the least-significant WORD is the minor version number.
  • lpdwTSPIVersion
    Pointer to a DWORD. The service provider fills this location with the highest TSPI version number, within the range requested by the caller, under which the service provider can operate. The most-significant WORD is the major version number and the least-significant WORD is the minor version number. If the requested range does not overlap the range supported by the service provider, the function returns LINEERR_INCOMPATIBLEAPIVERSION.

Return Value

Returns 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_INCOMPATIBLEAPIVERSION

The API version is incompatible.

LINEERR_OPERATIONUNAVAIL

The operation is unavailable.

LINEERR_NODRIVER

The driver cannot be found.

LINEERR_OPERATIONFAILED

The operation failed.

LINEERR_NOMEM

Not enough memory is available.

LINEERR_RESOURCEUNAVAIL

The resource is unavailable.

Remarks

When dwDeviceID is INITIALIZE_NEGOTIATION, this function must not return LINEERR_OPERATIONUNAVAIL, because this function (with that value) is mandatory for negotiating the overall interface version even if the service provider supports no line devices.

Requirements

Header

tspi.h

Library

CellTSP.dll

See Also

Reference

TSPI Line Device Functions
TSPI_lineGetExtensionID
TSPI_lineNegotiateExtVersion
TSPI_providerInit