lineAddProvider 函数将新的电话服务提供商安装到电话系统中。
语法
LONG lineAddProviderA(
LPCSTR lpszProviderFilename,
HWND hwndOwner,
LPDWORD lpdwPermanentProviderID
);
参数
lpszProviderFilename
指向 的指针
null-terminated 字符串,其中包含要添加的服务提供程序的路径。
hwndOwner
句柄,其中需要作为安装过程的一部分显示的任何对话框(例如,由服务提供商的 TSPI_providerInstall 函数)附加。 可以 NULL,以指示函数期间创建的任何窗口都不应有所有者窗口。
lpdwPermanentProviderID
指向接收新安装的服务提供程序的永久提供程序标识符的变量的指针。
返回值
如果请求成功,则返回零;如果发生错误,则返回负错误号。 可能的返回值为:
LINEERR_INIFILECORRUPT、LINEERR_INVALPARAM、LINEERR_INVALPOINTER、LINEERR_NOMEM、LINEERR_NOMULTIPLEINSTANCE、LINEERR_OPERATIONFAILED。
言论
在此函数调用期间,TAPI 会检查以确保它可以通过调用其 TSPI_providerInstall 函数来访问服务提供商;如果此操作失败(如果找不到 DLL 或函数,或者如果 TSPI_providerInstall 返回错误),该函数将失败,并且提供程序不会添加到电话系统。 如果成功,并且电话系统处于活动状态(一个或多个应用程序已调用 lineInitialize 或 lineInitializeEx),TAPI 不会尝试启动新添加的服务提供程序。 相反,为了激活新的服务提供商,TAPI 会发出重启 Windows 的消息。 激活成功后,应用程序将通过 LINE_CREATE 或 PHONE_CREATE 消息或请求重新初始化的 LINE_LINEDEVSTATE 消息(如果应用程序不支持 CREATE 消息)来通知应用程序创建的任何新设备。
此函数不复制任何文件, 而不是服务提供程序 DLL 本身,也不复制任何支持文件;管理添加提供程序的应用程序必须确保提供程序安装在 TAPI(例如\WINDOWS、\WINDOWS\SYSTEM 或路径上的其他地方)可以找到该提供程序的目录中。
注意
tapi.h 标头将 lineAddProvider 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
| 要求 | 价值 |
|---|---|
| 目标平台 | 窗户 |
| 标头 | tapi.h |
| 库 | Tapi32.lib |
| DLL | Tapi32.dll |