Partager via


Nombre d'utilisations

Remarque

Depuis Windows XP et Windows Server 2003, ODBC est inclus dans le système d'exploitation Windows. Vous devez installer explicitement ODBC sur les versions antérieures de Windows.

Deux types de nombres d'utilisations sont conservés dans le Registre pour chaque composant, notamment un nombre d'utilisations de composant et un ou plusieurs nombres d'utilisations de fichiers facultatifs. Le nombre d'utilisations des composants aide la DLL du programme d'installation à gérer les entrées de Registre. Il est stocké dans la valeur UsageCount sous les sous-clés ODBC Core, pilote et traducteur. Pour connaître le format de la valeur UsageCount et plus d'informations sur ces sous-clés, consultez Entrées de Registre pour les composants ODBC.

Lorsqu'un composant est installé pour la première fois, la DLL du programme d'installation crée une sous-clé pour celle-ci. Ensuite, elle définit les données de la valeur UsageCount dans cette sous-clé sur 1. Lorsque le composant est à nouveau installé, la DLL du programme d'installation incrémente le nombre d'utilisations. Lorsque le composant est supprimé, la DLL du programme d'installation décrémente le nombre d'utilisations. Si le nombre d'utilisations passe à 0, la DLL du programme d'installation supprime la sous-clé du composant.

Attention

Une application ne doit pas supprimer physiquement les fichiers du gestionnaire de pilotes lorsque le compte d'utilisation des composants et le compte d'utilisation des fichiers atteignent zéro.

Le nombre d'utilisations de fichiers permet de déterminer quand un fichier doit réellement être copié ou supprimé par opposition à l'incrémentation ou à la décrémentation du nombre d'utilisations. Cette opération est importante, car les composants ODBC, et par conséquent les fichiers dans les composants ODBC, sont partagés et peuvent être installés ou supprimés par diverses applications. L'application peut supprimer des fichiers de pilote et de traducteur si le nombre d'utilisations des composants et le nombre d'utilisations de fichiers atteignent zéro. Les fichiers du gestionnaire de pilotes ne doivent toutefois pas être supprimés lorsque le compte d'utilisation des composants et le compte d'utilisation des fichiers ont atteint zéro. En effet, ces fichiers peuvent être utilisés par d'autres applications qui n'ont pas incrémenté le compte d'utilisation des fichiers.

Remarque

Les nombres d'utilisations de fichiers sont facultatifs dans Microsoft Windows NT/Windows 2000.

Les comptes d'utilisation des fichiers sont maintenus par le programme d'installation après l'appel de SQLInstallDriverManager, SQLInstallDriverEx, SQLInstallTranslatorEx, SQLRemoveDriverManager, SQLRemoveDriver, ou SQLRemoveTranslator.

Lorsqu'un composant est installé pour la première fois, le programme d'installation ou la DLL du programme d'installation crée une valeur sous la clé suivante pour chaque fichier de ce composant qui n'est pas déjà sur le système :

Remarque

HKEY_LOCAL_MACHINE

SOFTWARE

Microsoft

Windows

CurrentVersion

SharedDlls

Il définit les données de ces valeurs sur 1 et copie le fichier dans le système. Lorsque le composant est à nouveau installé, le programme d'installation ou la DLL du programme d'installation incrémente le nombre d'utilisations. Lorsque le composant est supprimé, le programme d'installation ou la DLL du programme d'installation décrémente le nombre d'utilisations. Si un compteur d'utilisation tombe à 0, le programme d'installation ou la DLL d'installation supprime la valeur du fichier. De plus, si le composant est un pilote ou un traducteur, il supprime le fichier. Les fichiers du gestionnaire de pilotes ne doivent pas être supprimés.

Le format de la valeur du nombre d'utilisations de fichier est indiqué dans le tableau suivant.

Name Type de données Données
chemin complet REG_DWORD count

Par exemple, supposons qu'un pilote destiné à Informix utilise les fichiers Infrmx32.dll et Infrmx32.hlp. Enfin, supposons que ce pilote ait été installé deux fois. Les valeurs sous la sous-clé SharedDlls pour le pilote Informix sont les suivantes :

C:\WINDOWS\SYSTEM32\INFRMX32.DLL : REG_DWORD : 0x2  
C:\WINDOWS\SYSTEM32\INFRMX32.HLP : REG_DWORD : 0x2