SQLRemoveDriver, fonction
Conformité
Version introduite : ODBC 3.0
Résumé
SQLRemoveDriver modifie ou supprime des informations sur le pilote de l’entrée Odbcinst.ini dans les informations système.
Syntaxe
BOOL SQLRemoveDriver(
LPCSTR lpszDriver,
BOOL fRemoveDSN,
LPDWORD lpdwUsageCount);
Arguments
lpszDriver
[Entrée] Nom du pilote tel qu’inscrit dans le Odbcinst.ini clé des informations système.
fRemoveDSN
[Entrée] Les valeurs valides sont les suivantes :
TRUE : supprimez les DSN associés au pilote spécifié dans lpszDriver. FALSE : ne supprimez pas les DSN associés au pilote spécifié dans lpszDriver.
lpdwUsageCount
[Sortie] Nombre d’utilisation du pilote après l’appel de cette fonction.
Retours
La fonction retourne TRUE si elle réussit, et FALSE si elle échoue. Si aucune entrée n’existe dans les informations système lorsque cette fonction est appelée, la fonction retourne FALSE.
Diagnostics
Lorsque SQLRemoveDriver retourne FALSE, une valeur *pfErrorCode associée peut être obtenue en appelant SQLInstallerError. Le tableau suivant répertorie les valeurs *pfErrorCode qui peuvent être retournées par SQLInstallerError et explique chacune d’elles dans le contexte de cette fonction.
*pfErrorCode | Error | Description |
---|---|---|
ODBC_ERROR_GENERAL_ERR | Erreur générale du programme d’installation | Une erreur s’est produite pour laquelle il n’y a pas eu d’erreur de programme d’installation spécifique. |
ODBC_ERROR_COMPONENT_NOT_FOUND | Composant introuvable dans le Registre | Le programme d’installation n’a pas pu supprimer les informations du pilote, car elles n’existaient pas dans le Registre ou étaient introuvables dans le Registre. |
ODBC_ERROR_INVALID_NAME | Nom du pilote ou du traducteur non valide | L’argument lpszDriver n’était pas valide. |
ODBC_ERROR_USAGE_UPDATE_FAILED | Impossible d’incrémenter ou de décrémenter le nombre d’utilisation des composants | Le programme d’installation n’a pas réussi à décrémenter le nombre d’utilisation du pilote. |
ODBC_ERROR_REQUEST_FAILED | Échec de la demande | L’argument fRemoveDSN était TRUE ; toutefois, un ou plusieurs DSN n’ont pas pu être supprimés. L’appel à SQLConfigDriver avec la requête ODBC_REMOVE_DRIVER a échoué. |
ODBC_ERROR_OUT_OF_MEM | Mémoire insuffisante | Le programme d’installation n’a pas pu exécuter la fonction en raison d’un manque de mémoire. |
Commentaires
SQLRemoveDriver complète la fonction SQLInstallDriverEx et met à jour le nombre d’utilisation des composants dans les informations système. Cette fonction doit être appelée uniquement à partir d’une application d’installation.
SQLRemoveDriver décrémente la valeur du nombre d’utilisation des composants de 1. Si le nombre d’utilisation des composants passe à 0, les opérations suivantes se produisent :
La fonction SQLConfigDriver avec l’option ODBC_REMOVE_DRIVER sera appelée. Si l’option fRemoveDSN a la valeur TRUE, la fonction ConfigDSN appelle SQLRemoveDSNFromIni pour supprimer toutes les sources de données associées au pilote spécifié dans lpszDriver. Si l’option fRemoveDSN a la valeur FALSE, les sources de données ne sont pas supprimées.
L’entrée du pilote dans les informations système sera supprimée. L’entrée du pilote se trouve à l’emplacement d’informations système suivant, sous le nom du pilote :
HKEY_LOCAL_MACHINE
SOFTWARE
ODBC
Odbcinst.ini
SQLRemoveDriver ne supprime pas réellement les fichiers. Le programme appelant est responsable de la suppression des fichiers et de la gestion du nombre d’utilisation des fichiers. Un fichier est supprimé physiquement uniquement une fois que le nombre d’utilisation des composants et le nombre d’utilisation des fichiers ont atteint zéro. Certains fichiers d’un composant peuvent être supprimés et d’autres non supprimés, selon que les fichiers sont utilisés ou non par d’autres applications qui ont incrémenté le nombre d’utilisation des fichiers.
SQLRemoveDriver est également appelé dans le cadre d’un processus de mise à niveau. Si une application détecte qu’elle doit effectuer une mise à niveau et qu’elle a déjà installé le pilote, le pilote doit être supprimé, puis réinstallé. SQLRemoveDriver doit d’abord être appelé pour décrémenter le nombre d’utilisation des composants, puis SQLInstallDriverEx doit être appelé pour incrémenter le nombre d’utilisation des composants. Le programme d’installation de l’application doit remplacer les anciens fichiers par les nouveaux fichiers. Le nombre d’utilisation des fichiers reste le même, et les autres applications qui utilisent les fichiers de version antérieure utilisent désormais la version la plus récente.
Fonctions connexes
Pour obtenir des informations sur | Consultez |
---|---|
Ajout, modification ou suppression d’un pilote | ConfigDriver (dans la DLL d’installation) |
Ajout, modification ou suppression d’un pilote | SQLConfigDriver |
Installation d’un pilote | SQLInstallDriverEx |