TUISPI_providerRemove 函数 (tspi.h)

TUISPI_providerRemove函数要求用户确认取消服务提供商。 此函数使 TSPI_providerRemove 函数在 2.0 版及更高版本中已过时, (1.4 版及更早版本) 中受支持。

服务提供商负责删除服务提供程序在 addProvider 时间添加的任何注册表项,以及不再需要的任何其他模块和文件。

实现是可选的。

语法

LONG TSPIAPI TUISPI_providerRemove(
  TUISPIDLLCALLBACK lpfnUIDLLCallback,
  HWND              hwndOwner,
  DWORD             dwPermanentProviderID
);

参数

lpfnUIDLLCallback

指向 UI DLL 可以调用的函数的指针,以便与服务提供商 DLL 通信,以获取显示对话框所需的信息。

hwndOwner

父窗口的句柄,函数可在其中创建删除期间所需的任何对话框窗口。

dwPermanentProviderID

服务提供商的永久提供程序标识符。

返回值

如果函数成功,则返回零;如果发生错误,则返回错误号。 可能的返回值如下所示:

LINEERR_OPERATIONFAILED、LINEERR_INIFILECORRUPT、LINEERR_NOMEM、LINEERR_INVALPARAM。

注解

如果返回成功,此函数必须保证从注册表中删除任何服务提供商的专用定义信息。

此过程必须使系统保持一致状态。 它应运行到完成状态,不允许用户在部分完成删除时中止删除。 如果删除失败,提供商负责“回退”已完成的工作并返回错误。 这可能意味着在删除开始之前进行预扫描以验证是否可以完全删除。

当服务提供程序正在使用时,可以在TSPI_providerInit和TSPI_providerShutdown) 之间 (调用此函数。 如果发生这种情况,服务提供商应适当组合显示用户对话框以宣布任何冲突并确认删除,将删除选项限制为可以透明执行的选项,或发出 LINE_CLOSEPHONE_CLOSE 消息,以通知 TAPI 和应用程序受影响的设备已被强行关闭以删除。 在任何情况下,影响通过 TSPI 可见的行为的任何更改都应仅在下一 TSPI_providerShutdown关闭服务提供商时生效。

注意 此函数不应返回由于应用程序正在使用提供程序而可能发生的LINEERR_INUSE或其他错误;相反,提供程序应直接与用户讨论此问题,然后返回LINEERR_OPERATIONFAILED如果用户决定中止操作。
 
在删除服务提供程序时,此过程只会调用一次,直到调用 TUISPI_providerInstall

TAPI 级别的相应函数是 lineRemoveProvider。 在该级别,应用程序预期已安装服务提供商;否则,它们的线路和电话不会显示在可用的设备标识符序列中。 LINE_CREATE消息通知正在运行的应用程序进行动态重新配置。

要求

   
目标平台 Windows
标头 tspi.h

另请参阅

LINE_CLOSE

PHONE_CLOSE

PHONE_STATE

TSPI_providerInit

TSPI_providerShutdown

TUISPI_providerInstall