Функция 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 |