lineAddProvider  11COM_7 

The lineAddProvider function installs a new Telephony Service Provider into the Telephony system.

LONG lineAddPr ovider(

    LPCSTR lpszProviderFilename,

 

    HWND hwndOwner,

 

    LPDWORD lpdwPermanentProviderID

 

   );

 

 

Parameters

lpszProviderFilename

A pointer to a NULL-terminated string containing the path of the service provider to be added.

hwndOwner

A handle to a window to which any dialogs which need to be displayed as part of the installation process (for example, by the service provider's TSPI_providerInstall function) would be attached. Can be NULL to indicate that any window created during the function should have no owner window.

lpdwPermanentProviderID

A pointer to a DWORD-sized memory location into which TAPI writes the permanent provider ID of the newly installed service provider.

 

Return Values

Returns zero if the request is successful or a negative error number if an error has occurred. Possible return values are:

LINEERR_INIFILECORRUPT, LINEERR_NOMEM, LINEERR_INVALPARAM, LINEERR_NOMULTIPLEINSTANCE, LINEERR_INVALPOINTER, LINEERR_OPERATIONFAILED.

Remarks

During this function call, TAPI checks to ensure that it can access the service provider by calling its TSPI_providerInstall function; if this is unsuccessful (if the DLL or function cannot be found, or if TSPI_providerInstall returns an error), the function fails and the provider is not added to the telephony system. If this is successful, and the Win32 Telephony system is active (one or more applications have called lineInitialize121W_TU or lineInitializeEx18GE4YT), TAPI does not attempt to launch the newly-added service provider. Instead, in order to activate the new service provider, TAPI issues a message to restart Windows. When the activation succeeds, applications will be informed of any new devices created by way of LINE_CREATEI_G8VG or PHONE_CREATE659LE9 messages, or by a LINE_LINEDEVSTATE1F9WSNT message requesting reinitialization (if the application does not support the CREATE messages).

This function copies no files not the service provider DLL itself nor any supporting files; it is the responsibility of the application managing the addition of the provider to ensure that the provider is installed in a directory where it can be found by TAPI (for example, \WINDOWS, \WINDOWS\SYSTEM, or elsewhere on the path), and that all other files necessary for operation.

Although this is a new function which older applications would not be expected to call, for backward compatibility, they should not be prevented from doing so; the function will work the same way for all applications.

See Also

LINE_CREATE, LINE_LINEDEVSTATE, lineInitialize, lineInitializeEx, PHONE_CREATE