Partager via


GetProfileIntA, fonction (winbase.h)

Récupère un entier à partir d’une clé dans la section spécifiée du fichier Win.ini.

Remarque Cette fonction est fournie uniquement pour la compatibilité avec les applications Windows 16 bits. Les applications doivent stocker des informations d’initialisation dans le Registre.
 

Syntaxe

UINT GetProfileIntA(
  [in] LPCSTR lpAppName,
  [in] LPCSTR lpKeyName,
  [in] INT    nDefault
);

Paramètres

[in] lpAppName

Nom de la section contenant le nom de clé.

[in] lpKeyName

Nom de la clé dont la valeur doit être récupérée. Cette valeur se présente sous la forme d’une chaîne ; la fonction GetProfileInt convertit la chaîne en entier et retourne l’entier.

[in] nDefault

Valeur par défaut à retourner si le nom de clé est introuvable dans le fichier d’initialisation.

Valeur de retour

La valeur de retour est l’équivalent entier de la chaîne qui suit le nom de clé dans Win.ini. Si la fonction ne trouve pas la clé, la valeur de retour est la valeur par défaut. Si la valeur de la clé est inférieure à zéro, la valeur de retour est égale à zéro.

Remarques

Si le nom de clé se compose de chiffres suivis de caractères qui ne sont pas numériques, la fonction retourne uniquement la valeur des chiffres. Par exemple, la fonction retourne 102 pour la ligne suivante : KeyName=102abc.

Windows Server 2003 et Windows XP/2000 : appels aux fonctions de profil peuvent être mappés au registre au lieu des fichiers d’initialisation. Ce mappage se produit lorsque le fichier d’initialisation et la section sont spécifiés dans le Registre sous la clé suivante :HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping

Lorsque l’opération a été mappée, la fonction GetProfileInt récupère des informations à partir du Registre, et non à partir du fichier d’initialisation ; la modification de l’emplacement de stockage n’a aucun effet sur le comportement de la fonction.

Les fonctions de profil utilisent les étapes suivantes pour localiser les informations d’initialisation :

  1. Recherchez dans le Registre le nom du fichier d’initialisation sous la clé IniFileMapping.
  2. Recherchez le nom de section spécifié par lpAppName. Il s’agit d’une valeur nommée sous la clé qui a le nom du fichier d’initialisation, ou d’une sous-clé portant ce nom, ou le nom n’existe pas comme valeur ou sous-clé.
  3. Si le nom de section spécifié par lpAppName est une valeur nommée, cette valeur spécifie l’emplacement dans le Registre où vous trouverez les clés de la section.
  4. Si le nom de section spécifié par lpAppName est une sous-clé, les valeurs nommées sous cette sous-clé spécifient où dans le Registre, vous trouverez les clés de la section. Si la clé que vous recherchez n’existe pas en tant que valeur nommée, il y aura une valeur non nommée (indiquée comme <Aucun nom>) qui spécifie l’emplacement par défaut dans le Registre où vous trouverez la clé.
  5. Si le nom de section spécifié par lpAppName n’existe pas en tant que valeur nommée ou en tant que sous-clé, il y aura une valeur non nommée (indiquée comme <Aucun nom>) qui spécifie l’emplacement par défaut dans le Registre où vous trouverez les clés de la section.
  6. S’il n’y a pas de sous-clé ou d’entrée pour le nom de section, recherchez le fichier d’initialisation réel sur le disque et lisez son contenu.
Lorsque vous examinez des valeurs dans le Registre qui spécifient d’autres emplacements de Registre, plusieurs préfixes modifient le comportement du mappage de fichiers .ini :
  • ! - ce caractère force toutes les écritures à accéder au Registre et au fichier .ini sur le disque.
  • # : ce caractère entraîne la définition de la valeur de Registre dans le fichier .ini Windows 3.1 lorsqu’un nouvel utilisateur se connecte pour la première fois après l’installation.
  • @ : ce caractère empêche toute lecture d’accéder au fichier .ini sur le disque si les données demandées ne sont pas trouvées dans le Registre.
  • USR : - ce préfixe signifie HKEY_CURRENT_USER, et le texte après le préfixe est relatif à cette clé.
  • SYS : - ce préfixe signifie HKEY_LOCAL_MACHINE\SOFTWARE, et le texte après le préfixe est relatif à cette clé.

Note

L’en-tête winbase.h définit GetProfileInt comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winbase.h (inclure Windows.h)
bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

GetPrivateProfileInt

WriteProfileString