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


Функция SQLRemoveTranslator

Соответствия
Представлена версия: ODBC 3.0

Сводка
SQLRemoveTranslator удаляет сведения о переводчике из раздела Odbcinst.ini системной информации и уменьшает количество использования компонентов переводчика на 1.

Синтаксис

  
BOOL SQLRemoveTranslator(  
     LPCSTR    lpszTranslator,  
     LPDWORD   lpdwUsageCount);  

Аргументы

lpszTranslator
[Входные данные] Имя переводчика, зарегистрированного в ключе Odbcinst.ini системной информации.

lpdwUsageCount
[Выходные данные] Количество использования переводчика после вызова этой функции.

Возвраты

Функция возвращает значение TRUE, если оно выполнено успешно, значение FALSE, если оно завершается ошибкой. Если запись не существует в системной информации при вызове этой функции, функция возвращает значение FALSE.

Диагностика

Когда SQLRemoveTranslator возвращает ЗНАЧЕНИЕ FALSE, связанное значение *pfErrorCode можно получить путем вызова SQLInstallerError. В следующей таблице перечислены значения *pfErrorCode , которые можно возвращать SQLInstallerError и объясняет каждый из них в контексте этой функции.

*pfErrorCode Error Description
ODBC_ERROR_GENERAL_ERR Общая ошибка установщика Произошла ошибка, для которой не было определенной ошибки установщика.
ODBC_ERROR_COMPONENT_NOT_FOUND Компонент не найден в реестре Установщик не мог удалить сведения переводчика, так как он либо не существовал в реестре, либо не найден в реестре.
ODBC_ERROR_INVALID_NAME Недопустимое имя драйвера или переводчика Недопустимый аргумент lpszTranslator .
ODBC_ERROR_USAGE_UPDATE_FAILED Не удалось увеличить или открепить количество использования компонентов Установщик не смог свести к минимуму количество использования драйвера.
ODBC_ERROR_OUT_OF_MEM Недостаточно памяти Установщик не мог выполнить функцию из-за нехватки памяти.

Комментарии

SQLRemoveTranslator дополняет функцию SQLInstallTranslatorEx и обновляет количество использования компонентов в системных сведениях. Эта функция должна вызываться только из приложения установки.

SQLRemoveTranslator уменьшает количество использования компонентов на 1. Если число использования компонентов переходит к 0, запись переводчика в системной информации будет удалена. Запись переводчика находится в следующем расположении в системной информации под именем переводчика:

HKEY_LOCAL_MACHINE

SOFTWARE

ODBC

Odbcinst.ini

SQLRemoveTranslator не удаляет файлы. Вызывающая программа отвечает за удаление файлов и обслуживание количества использования файлов. Только после того, как количество использования компонентов и число использования файлов достигло нуля, файл физически удален. Некоторые файлы в компоненте можно удалить, а другие — не удаляться, в зависимости от того, используются ли файлы другими приложениями, которые увеличивают число использования файлов.

SQLRemoveTranslator также называется как часть процесса обновления. Если приложение обнаруживает, что он должен выполнить обновление, и он ранее установил драйвер, драйвер должен быть удален, а затем переустановлен. SqlRemoveTranslator сначала следует вызвать для уменьшения количества использования компонентов, а затем вызывать SQLInstallTranslatorEx, чтобы увеличить число использования компонентов. Программа установки приложения должна физически заменить старые файлы новыми файлами. Количество использования файлов останется прежним, а другие приложения, использующие старые файлы версий, теперь будут использовать более новую версию.

Сведения Раздел
Установка переводчика SQLInstallTranslatorEx