Функция TUISPI_providerGenericDialog (tspi.h)
Функция TUISPI_providerGenericDialog в библиотеке DLL пользовательского интерфейса вызывается, когда поставщик услуг отправляет сообщение LINE_CREATEDIALOGINSTANCE . Поставщик услуг использует его для создания диалоговых окон в контексте приложения в сочетании с обработкой определенных асинхронных функций TSPI. Эта функция вызывается из потока, созданного специально для отображения диалогового окна. Библиотека DLL пользовательского интерфейса не возвращается из этой функции, пока диалоговое окно не будет уничтожено.
Реализация является обязательной, если поставщик услуг, связанный с библиотекой DLL пользовательского интерфейса, отправляет LINE_CREATEDIALOGINSTANCE сообщения для спонтанного создания диалоговых окон в контексте приложения.
Синтаксис
LONG TSPIAPI TUISPI_providerGenericDialog(
TUISPIDLLCALLBACK lpfnUIDLLCallback,
HTAPIDIALOGINSTANCE htDlgInst,
LPVOID lpParams,
DWORD dwSize,
HANDLE hEvent
);
Параметры
lpfnUIDLLCallback
Указатель на функцию, которую библиотека dll пользовательского интерфейса может вызвать для взаимодействия с библиотекой DLL поставщика услуг для получения сведений, необходимых для отображения диалогового окна.
htDlgInst
Непрозрачный идентификатор связывает связь этого экземпляра функции с определенным запросом от поставщика услуг. Библиотека DLL пользовательского интерфейса должна включать этот параметр вместе с TUISPI_OBJECT_DIALOGINSTANCE при любом вызове TUISPIDLLCALLBACK для запроса дополнительных данных или доставки данных поставщику услуг.
lpParams
Указатель на область памяти, используемую для хранения блока параметров. Содержимое этого блока параметров зависит от поставщика службы и связанной с ним библиотеки DLL пользовательского интерфейса. Передача данных через этот блок параметров является односторонним в библиотеку DLL пользовательского интерфейса; Изменения, внесенные в блок параметров, не отражаются обратно в поставщике услуг. Как правило, этот блок параметров содержит все сведения, необходимые библиотеке DLL пользовательского интерфейса для первоначального отображения диалогового окна.
dwSize
Размер блока параметров в байтах. Если параметр lpParams является указателем на строку, размер должен включать признак конца null .
hEvent
Дескриптор объекта события, созданного с помощью TAPI. Это событие сигнализирует библиотека DLL пользовательского интерфейса через SetEvent (hEvent), когда библиотека DLL пользовательского интерфейса завершила инициализацию этого экземпляра диалогового окна и готова к получению дополнительных данных диалогового окна через TUISPI_providerGenericDialogData. Данные, отправляемые связанным поставщиком услуг (через LINE_SENDDIALOGINSTANCEDATA) для этого экземпляра диалогового окна, блокируются TAPI до тех пор, пока библиотека DLL пользовательского интерфейса не сигнализирует об этом событии, что дает TUISPI_providerGenericDialog возможность выполнить необходимую инициализацию. Библиотека DLL пользовательского интерфейса должна сигнализировать о событии как можно быстрее, чтобы избежать блокировки вызовов TUISPI_providerGenericDialogData.
Возвращаемое значение
Возвращает ноль в случае успешного выполнения или одно из следующих отрицательных значений ошибки:
LINEERR_INVALPARAM, LINEERR_NOMEM LINEERR_OPERATIONFAILED.
Требования
Целевая платформа | Windows |
Header | tspi.h |