TUISPI_providerGenericDialog函数 (tspi.h)

当服务提供程序发送 LINE_CREATEDIALOGINSTANCE 消息时,将调用 UI DLL 中的 TUISPI_providerGenericDialog 函数。 服务提供程序使用此函数在应用程序上下文中创建对话框,同时处理特定的异步 TSPI 函数。 此函数是从专门为显示对话框而创建的线程调用的。 在销毁对话框之前,UI DLL 不会从此函数返回。

如果与 UI DLL 关联的服务提供程序发送LINE_CREATEDIALOGINSTANCE消息以在应用程序上下文中自发创建对话框,则实现是必需的。

语法

LONG TSPIAPI TUISPI_providerGenericDialog(
  TUISPIDLLCALLBACK   lpfnUIDLLCallback,
  HTAPIDIALOGINSTANCE htDlgInst,
  LPVOID              lpParams,
  DWORD               dwSize,
  HANDLE              hEvent
);

参数

lpfnUIDLLCallback

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

htDlgInst

不透明标识符将函数的此实例与来自服务提供程序的特定请求的关联绑定。 UI DLL 必须在对 TUISPIDLLCALLBACK 的任何调用中包含此参数以及TUISPI_OBJECT_DIALOGINSTANCE,以便从服务提供商请求更多数据或将数据传递给服务提供程序。

lpParams

指向用于保存参数块的内存区域的指针。 此参数块的内容特定于服务提供程序及其关联的 UI DLL。 通过此参数块传送数据是单向到 UI DLL 的;对参数块所做的更改不会反映在服务提供程序中。 通常,此参数块包含 UI DLL 最初显示对话框所需的所有信息。

dwSize

参数块的大小(以字节为单位)。 如果 lpParams 参数是指向字符串的指针,则大小必须包含 null 终止符。

hEvent

TAPI 创建的事件对象的句柄。 当 UI DLL 完成此对话框实例的初始化并准备好通过TUISPI_providerGenericDialogData接收其他对话框数据时,UI DLL 将通过 SetEvent (hEvent) 发出此事件信号。 TAPI 阻止关联的服务提供商 (通过 LINE_SENDDIALOGINSTANCEDATA) 为此对话框实例发送的数据,直到 UI DLL 发出此事件信号, 使TUISPI_providerGenericDialog 有机会执行任何必要的初始化。 UI DLL 应尽快向事件发出信号,以避免阻止对 TUISPI_providerGenericDialogData的调用。

返回值

如果成功,则返回零,或返回以下负错误值之一:

LINEERR_INVALPARAM、LINEERR_NOMEM、LINEERR_OPERATIONFAILED。

要求

   
目标平台 Windows
标头 tspi.h

另请参阅

LINE_CREATEDIALOGINSTANCE

LINE_SENDDIALOGINSTANCEDATA

SetEvent

TUISPIDLLCALLBACK

TUISPI_providerGenericDialogData