3.1.7.16 TSPI_phoneNegotiateTSPIVersion

Syntax

LONG TSPI_phoneNegotiateTSPIVersion(dwDeviceID, dwLowVersion, dwHighVersion)

This function returns the highest SPI version the Service Provider is willing to operate under for this device given the range of possible SPI versions.

Parameters

DWORD dwDeviceID
Identifies the phone device for which interface version negotiation is to be performed. In addition to device IDs within the range the Service Provider supports, this may be the value:

INITIALIZE_NEGOTIATION
This value is used to signify that an overall interface version is to be negotiated. Such an interface version is required for functions that can be called early in the initialization sequence, i.e., before the device ID range has been set.

DWORD dwLowVersion
Specifies the lowest TSPI version number under which the TAPI DLL is willing to operate. The most-significant WORD is the major version number and the least-significant WORD is the minor version number.

DWORD dwHighVersion
Specifies the highest TSPI version number under which the TAPI DLL is willing to operate. The most-significant WORD is the major version number and the least-significant WORD is the minor version number.

Return Value

The Service Provider returns the highest interface version number, within the range requested by the caller, under which the Service Provider is willing to operate. If the requested range does not overlap the range supported by the Service Provider, it returns zero.

Comments

The TAPI DLL typically calls this function early in the initialization sequence for each phone device. In addition, it calls this with the value INITIALIZE_NEGOTIATION for dwDeviceID to negotiate an interface version for calling early initialization functions such as TSPI_phoneGetProcTable.

Negotiation of an Extension version is done through the separater procedure TSPI_phoneNegotiateExtVersion.

Comparison

There is no directly corresponding function at the TAPI level, at which both interface version negotiation and Extension version negotiation are done as overloaded uses of phoneGetDevCaps.

See Also

Functions: TSPI_phoneGetProcTable, TSPI_phoneNegotiateExtVersion
Constants: INITIALIZE_NEGOTIATION