3.1.7.11 TSPI_phoneGetProcTable

Syntax

BOOL TSPI_phoneGetProcTable(dwTSPIVersion, lpPhoneProcTable)
This function allows the TAPI DLL to retrieve a procedure table of pointers to all the phone-related functions in the TSPI.

Parameters

DWORD dwTSPIVersion
Specifies the TSPI version that defines the list of entry points, parameter profiles, and syntax of functions in the procedure table.

LPTSPI_PHONE_PROCS lpPhoneProcTable
Specifies a far pointer to the procedure table that is to be filled in by the Service Provider with pointers to all the phone-related functions.

Return Value

Returns TRUE if successful, otherwise FALSE

Call States

Not applicable.

Comments

This function is typically invoked early in the initialization sequence to retrieve the phone-related entry points through which the Service Provider is accessed. Entry points may be retrieved in this way for performance reasons; in some system environments this is much quicker than loading entry points by name. The Service Provider must still export all of its entry points by name to support the early functions (such at TSPI_phoneGetProcTable itself) that must be invoked before the procedure table has been retrieved and the system environments in which entry points are always loaded by name.

A Service Provider is allowed to limit its support to a subset of the functions defined in the TSPI specification. However, it must fill in a valid procedure pointer for each of the functions in the procedure table. This can be the address of a "stub" function that simply returns a "not supported" result code for unsupported functions.

The TAPI DLL negotiates a TSPI version using TSPI_phoneNegotiateTSPIVersion before calling this function. Since the device ID base has not been set this early in initialization, no device can be specified for the negotiation. The TAPI DLL uses the special dwDeviceID value INITIALIZE_NEGOTIATION to signify that it is negotiating an "overall" interface version for the purpose of calling functions such as TSPI_phoneGetProcTable.

Comparison

There is no corresponding function at the TAPI level. All entry points at the TAPI level are strictly accessed through standard library entry point export and linkage mechanisms.

See Also

Functions: TSPI_phoneNegotiateTSPIVersion
Constants: INITIALIZE_NEGOTIATION