Поделиться через


функция TUISPI_providerRemove (tspi.h)

Функция TUISPI_providerRemove запрашивает у пользователя подтверждение исключения поставщика услуг. Эта функция делает функцию TSPI_providerRemove устаревшей в версии 2.0 и более поздних (поддерживается в версии 1.4 и более ранних версиях).

Поставщик услуг должен удалить все записи реестра, добавленные поставщиком услуг во время addProvider , а также другие модули и файлы, которые больше не нужны.

Реализация является необязательной.

Синтаксис

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

Параметры

lpfnUIDLLCallback

Указатель на функцию, которую библиотека DLL пользовательского интерфейса может вызывать для взаимодействия с библиотекой DLL поставщика услуг для получения сведений, необходимых для отображения диалогового окна.

hwndOwner

Дескриптор родительского окна, в котором функция может создавать любые диалоговые окна, необходимые во время удаления.

dwPermanentProviderID

Постоянный идентификатор поставщика услуг.

Возвращаемое значение

Возвращает ноль, если функция выполнена успешно, или номер ошибки при возникновении ошибки. Возможные возвращаемые значения:

LINEERR_OPERATIONFAILED, LINEERR_INIFILECORRUPT, LINEERR_NOMEM LINEERR_INVALPARAM.

Комментарии

Эта функция должна гарантировать, что при возврате успешной работы из реестра будут удалены частные сведения поставщика услуг.

Эта процедура должна оставить систему в согласованном состоянии. Он должен выполняться до завершения, не позволяя пользователю прервать удаление, когда оно частично завершено. Если удаление завершается сбоем, поставщик несет ответственность за то, что было сделано, и возвратить ошибку. Это может означать предварительную проверку, чтобы убедиться, что полное удаление возможно до начала удаления.

Эту функцию можно вызывать, когда используется поставщик услуг (то есть между TSPI_providerInit и TSPI_providerShutdown). Если это произойдет, поставщик услуг должен выполнить соответствующую комбинацию отображения диалогового окна пользователя, чтобы объявить о любом конфликте и подтвердить удаление, ограничить варианты удаления теми, которые могут выполняться прозрачно, или выдачи LINE_CLOSE и PHONE_CLOSE сообщений, чтобы сообщить TAPI и приложениям о том, что затронутые устройства были принудительно закрыты для удаления. В любом случае любые изменения, влияющие на поведение, видимое через TSPI, должны вступают в силу только в том случае, если поставщик услуг завершает работу на следующем TSPI_providerShutdown.

Примечание Эта функция не должна возвращать LINEERR_INUSE или другие ошибки, которые могут возникнуть из-за того, что поставщик используется приложением; Вместо этого поставщик должен напрямую поговорить с пользователем об этой проблеме, а затем вернуть LINEERR_OPERATIONFAILED, если пользователь решит прервать операцию.
 
Эта процедура вызывается только один раз во время удаления поставщика услуг, пока не возникнет вызов TUISPI_providerInstall.

Соответствующая функция на уровне TAPI — lineRemoveProvider. На этом уровне в приложениях ожидается, что поставщики услуг уже установлены; В противном случае их строки и телефоны не отображаются в доступной последовательности идентификаторов устройств. Сообщение LINE_CREATE уведомляет работающие приложения о динамической перенастройки.

Требования

   
Целевая платформа Windows
Header tspi.h

См. также раздел

LINE_CLOSE

PHONE_CLOSE

PHONE_STATE

TSPI_providerInit

TSPI_providerShutdown

TUISPI_providerInstall