Функция SQLInstallDriverManager
Соответствия
Представлена версия: ODBC 1.0: не рекомендуется использовать в Windows XP с пакетом обновления 2, Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних операционных систем
Сводка
SQLInstallDriverManager возвращает путь к целевому каталогу для установки основных компонентов ODBC. Вызывающая программа должна фактически скопировать файлы диспетчера драйверов в целевой каталог.
Синтаксис
BOOL SQLInstallDriverManager(
LPSTR lpszPath,
WORD cbPathMax,
WORD * pcbPathOut);
Аргументы
lpszPath
[Выходные данные] Путь к целевому каталогу установки.
cbPathMax
[Входные данные] Длина lpszPath. Это должно быть не менее _MAX_PATH байтов.
pcbPathOut
[Выходные данные] Общее количество байтов (за исключением байта завершения null), возвращаемое в lpszPath. Если число байтов, доступных для возврата, больше или равно cbPathMax, путь в lpszPath усечен до cbPathMax минус символ завершения null. Аргумент pcbPathOut может быть указателем null.
Возвраты
Функция возвращает значение TRUE, если оно выполнено успешно, значение FALSE, если оно завершается ошибкой.
Диагностика
Когда SQLInstallDriverManager возвращает ЗНАЧЕНИЕ FALSE, связанное значение *pfErrorCode можно получить путем вызова SQLInstallerError. В следующей таблице перечислены значения *pfErrorCode , которые можно возвращать SQLInstallerError и объясняет каждый из них в контексте этой функции.
*pfErrorCode | Error | Description |
---|---|---|
ODBC_ERROR_GENERAL_ERR | Общая ошибка установщика | Произошла ошибка, для которой не было определенной ошибки установщика. |
ODBC_ERROR_INVALID_BUFF_LEN | Недопустимая длина буфера | Аргумент lpszPath был недостаточно большим, чтобы содержать выходной путь. Буфер содержит усеченный путь. Аргумент cbPathMax был меньше _MAX_PATH. |
ODBC_ERROR_USAGE_UPDATE_FAILED | Не удалось увеличить или открепить количество использования компонентов | Установщик не удалось увеличить количество использования основных компонентов ODBC. |
ODBC_ERROR_OUT_OF_MEM | Недостаточно памяти | Установщик не мог выполнить функцию из-за нехватки памяти. |
Комментарии
SQLInstallDriverManager вызывается для возврата пути к основным компонентам ODBC и добавит количество использования компонентов в системных сведениях. Если версия диспетчера драйверов уже существует, но число использования компонентов для драйвера не существует, то для нового значения количества использования компонентов задано значение 2.
Программа установки приложений отвечает за физическое копирование файлов основных компонентов и обслуживание счетчиков использования файлов. Если ранее не установлен файл основного компонента, программа установки приложения должна скопировать файл и создать количество использования файлов. Если файл был установлен ранее, программа установки просто увеличивает количество использования файлов.
Если более ранняя версия диспетчера драйверов ранее была установлена программой установки приложения, основные компоненты должны быть удалены, а затем переустановлены, чтобы число основных компонентов было допустимым. Для уменьшения количества использования компонентов необходимо сначала вызвать SQLRemoveDriverManager . Затем необходимо вызвать SQLInstallDriverManager , чтобы увеличить количество использования компонентов. Программа установки приложения должна заменить старые файлы основных компонентов новыми файлами. Количество использования файлов останется прежним, а другие приложения, которые использовали старые файлы основных компонентов версии, теперь будут использовать более новые файлы версий.
В новой установке основных компонентов ODBC, драйверов и переводчиков программа установки приложений должна вызывать следующие функции последовательно: SQLInstallDriverManager, SQLInstallDriverEx, SQLConfigDriver (с fRequestst of ODBC_INSTALL_DRIVER), а затем SQLInstallTranslatorEx. При удалении основных компонентов, драйверов и переводчиков программа установки приложений должна вызывать следующие функции в последовательности: SQLRemoveTranslator, SQLRemoveDriver, а затем SQLRemoveDriverManager. Эти функции должны вызываться в этой последовательности. При обновлении всех компонентов все функции удаления должны вызываться последовательно, а затем все функции установки должны вызываться в последовательности.
Связанные функции
Сведения | Раздел |
---|---|
Добавление, изменение или удаление драйвера | SQLConfigDriver |
Установка драйвера | SQLInstallDriverEx |
Установка переводчика | SQLInstallTranslatorEx |
Удаление драйвера | SQLRemoveDriver |
Удаление диспетчера драйверов | SQLRemoveDriverManager |
Удаление переводчика | SQLRemoveTranslator |