Partager via


GetPrivateProfileStructW, fonction (winbase.h)

Récupère les données associées à une clé dans la section spécifiée d’un fichier d’initialisation. Lorsqu’elle récupère les données, la fonction calcule une somme de contrôle et la compare à la somme de contrôle calculée par l'WritePrivateProfileStruct fonction lorsque les données ont été ajoutées au fichier.

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

BOOL GetPrivateProfileStructW(
  [in]  LPCWSTR lpszSection,
  [in]  LPCWSTR lpszKey,
  [out] LPVOID  lpStruct,
  [in]  UINT    uSizeStruct,
  [in]  LPCWSTR szFile
);

Paramètres

[in] lpszSection

Nom de la section dans le fichier d’initialisation.

[in] lpszKey

Nom de la clé dont les données doivent être récupérées.

[out] lpStruct

Pointeur vers la mémoire tampon qui reçoit les données associées au fichier, à la section et aux noms de clés.

[in] uSizeStruct

Taille de la mémoire tampon pointée par le paramètre lpStruct, en octets.

[in] szFile

Nom du fichier d’initialisation. Si ce paramètre ne contient pas de chemin d’accès complet au fichier, le système recherche le fichier dans le répertoire Windows.

Valeur de retour

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro.

Remarques

Une section du fichier d’initialisation doit avoir la forme suivante :

[section]
key=data
      .
      .
      .

Le système mappe la plupart des références de fichiers .ini au Registre, à l’aide du mappage défini sous la clé de Registre suivante :HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping

Ce mappage est probablement si une application modifie les fichiers d’initialisation des composants système, tels que Control.ini, System.iniet Winfile.ini. Dans ces cas, la fonction récupère les informations 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, par exemple MyFile.ini, sous IniFileMapping.
  2. Recherchez le nom de section spécifié par lpAppName. Il s’agit d’une valeur nommée sous myfile.ini, ou d’une sous-clé de myfile.ini, ou n’existe pas.
  3. Si le nom de section spécifié par lpAppName est une valeur nommée sous myfile.ini, cette valeur spécifie où dans le Registre, vous trouverez les clés de la section.
  4. Si le nom de section spécifié par lpAppName est une sous-clé de myfile.ini, puis les valeurs nommées sous cette sous-clé spécifient l’emplacement dans le Registre où 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é sous myfile.ini, il y aura une valeur non nommée (indiquée comme <Aucun nom>) sous myfile.ini qui spécifie l’emplacement par défaut dans le Registre où vous trouverez les clés de la section.
  6. S’il n’existe aucune sous-clé myfile.ini ou s’il ne contient pas d’entrée pour le nom de section, recherchez la MyFile.ini réelle 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 GetPrivateProfileStruct 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

WritePrivateProfileStruct