Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

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 dwDeviceIDis 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 tapicomn.h
Library coredll.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also